第 24 卷
dependsOn 顺序执行
**为什么不要跳级**:阶段一没跑通 → 阶段二报错无法判断是配置错还是基础工具链不会用;
阶段二没跑通 → 阶段三并行放大问题;阶段三没跑通 → 阶段四 YAML 写出来也是错的。阶段一到阶段二之间,先读第 8 章 8.1 节能力包地图——确认需求是否已内置,避免为"已有能
力"配 MCP。
---
动手练习(检验你是否真懂了)
- **理解题**:说出 MCP、子代理、工作流各自解决什么问题。三者之间有什么联系?
(自查:9.1-9.3 节首段 + 9.9 节对比表)
- **理解题**:解释"工作流"和"多轮对话"的区别。什么场景该用工作流?(自查:9.3
节 + 9.8 节)
- **动手题**:在 `dsh web` 里发"调研仓库目录结构并生成报告",观察是否自动调用
`read`/`glob`/`grep`。想加"查数据库"能力,该用 MCP 还是 host 插件?(自查:9.1 节 + 9.9 节)
- **动手题**:设计"子代理并行调研":调研 3 个模块(src/lib/src/cli/src/web),写
出父 Agent 规划 + 3 个子代理任务描述(自查:9.2 节 + 9.7 节)
- **思考题**:任务"读 100 个文件后汇总",单 Agent 串行、5 个子代理并行、工作流
分 5 批串行,各有什么优劣?(自查:9.9 节对比表)
- **思考题**:想让 dsh "查公司内部员工信息",走官方内置工具、MCP、host 插件三
条路各需什么条件?哪条最快?(自查:第 8 章 8.1 节 + 本章 9.1 节 + 第 3 章 3.4 节)
常见疑问 FAQ
**Q1:MCP 是什么?和 dsh 插件有什么区别?**
MCP 是"给 Agent 插外部工具"的开放协议。插件在 dsh 运行时内注册能力(host 半跑在 Node 进程);MCP 服务器是独立进程,通过协议通信。插件深度集成、性能好;MCP 解
耦、可复用、适合接入现有系统。
**Q2:子代理是怎么"并行"的?会不会有冲突?**
子代理由父 Agent 委派,各自独立执行(`packages/subagent/*`)。并行时各子代理有自己的上下文,不会互相干扰。但多个子代理改同一个文件可能冲突——建议任务分解时避免
交叉。
**Q3:工作流的"确定性流程"是什么意思?和模型自由发挥有什么区别?**
工作流把步骤定义成流程(如 cordis.yml),按顺序/条件执行,每步做什么是指定的。多轮对话是"模型自由发挥"。确定性流程适合"必须按固定步骤走"的场景,自由发挥适合"探索性
任务"。
**Q4:我想接一个 MCP 服务器(比如数据库),具体怎么操作?**
(以官方 changelog 为准)① 安装 `@deepseek-ai/dsh-mcp-client`;② 在 `cordis.patch.yml` 挂载(参考 9.6 节);③ 配置服务器地址/命令;④ 重启 `dsh web`。详
见官方 `packages/mcp/` 文档。
**Q5:子代理和"开多个 dsh 进程"有什么区别?**
子代理是 dsh 内部委派机制(`packages/subagent/*`),共享父 Agent 上下文和会话。多进程是完全独立的会话。子代理适合"任务分解后并行执行 + 结果汇总",多进程适合"完全独
立的任务"。
**Q6:本章说部分功能"待实测",我怎么知道哪些功能已经可用?**
查官方 `packages/AGENTS.md` 和 `packages/` 目录。有完整源码 + 示例的功能基本可用;
只有包名没有文档的可能还在开发中。rc 阶段以官方 changelog 为准。
---
**附录 A**:[术语表与命令速查](./appendix-glossary.md)
第 10 章:复杂实战案例(dsh 真实跑出来的)
> 本章目标:用两个**真实在 dsh 里跑完的复杂任务**,展示 dsh 在多步工具链下的实际能力、产出质量与耗时。
> **隐私声明**:两个案例全部使用**合成数据/自造代码**,不涉及任何真实业务数据或敏感信息。
TL;DR(本章核心,30 秒版)
- **案例 A(数据质量分析,186 秒)**:52 行脏数据 → 分析 → 清洗脚本 → 可视化
- 运行验证,52→35 行,所有问题归零
- **案例 B(5-bug 修复 + 49 测试,94 秒)**:故意埋 5 个 bug 的计算器模块 → 全
修复 → 49 个测试全过,覆盖边界/精度/异常
- **dsh 的画像**:多步工具链自动编排、有判断力(主动说明数据权衡)、产物可追
踪、耗时可控(94-186s)
- **关键启示**:提示词把验收标准写清楚(如"运行验证"),dsh 会照着闭环——复
杂任务建议明确"做什么 + 怎么验收"
- **失败恢复**:本案例未触发;生产环境建议配 guard 超时 + 人工审批
<details><summary>本章导航</summary>
<!-- [fix] 链接健康检查:案例 A/B 锚点中 ` + ` 在 GitHub slug 里产生双连字符(--),原单连字符无法命中 -->
- [案例 A:数据质量分析 + 清洗 + 可视化(186 秒)](#案例-a数据质量分析--清洗--可
视化186-秒)
- [案例 B:5-bug 代码修复 + 49 个测试(94 秒)](#案例-b5-bug-代码修复--49-个测试
94-秒)
- [案例总结:dsh 在复杂任务上的画像](#案例总结dsh-在复杂任务上的画像)
- [案例 C:HTML 解析(Web 前端,约 3m18s)](#案例-chtml-解析web-前端
约-3m18s)
- [案例 D:代码重构(软件工程,约 4m37s)](#案例-d代码重构软件工程约-4m37s)
- [案例 E:API 文档生成(文档,约 1m04s)](#案例-eapi-文档生成文档约-1m04s)
- [第二批案例画像](#第二批案例画像)
</details>
案例 A:数据质量分析 + 清洗 + 可视化(186 秒)
任务
给 dsh 一份含脏数据的合成 JSON(52 行:缺失值、类型错误、重复行、异常值 99999),要求:
全站分卷索引 · 43 卷
- 1第 1 卷
- 2第 2 卷
- 3第 3 卷
- 4第 4 卷
- 5第 5 卷
- 6第 6 卷
- 7第 7 卷
- 8第 8 卷
- 9第 9 卷
- 10第 10 卷
- 11第 11 卷
- 12第 12 卷
- 13第 13 卷
- 14第 14 卷
- 15第 15 卷
- 16第 16 卷
- 17第 17 卷
- 18第 18 卷
- 19第 19 卷
- 20第 20 卷
- 21第 21 卷
- 22第 22 卷
- 23第 23 卷
- 24第 24 卷
- 25第 25 卷
- 26第 26 卷
- 27第 27 卷
- 28第 28 卷
- 29第 29 卷
- 30第 30 卷
- 31第 31 卷
- 32第 32 卷
- 33第 33 卷
- 34第 34 卷
- 35第 35 卷
- 36第 36 卷
- 37第 37 卷
- 38第 38 卷
- 39第 39 卷
- 40第 40 卷
- 41第 41 卷
- 42第 42 卷
- 43第 43 卷