多技能协作 — 串联、并联、循环与子智能体
这一章讲四件事: 为什么要拆技能、怎么判断该不该拆; 三种组合方式各自解决什么问题;子智能体是什么、怎么派活; 以及一条真实跑通的五技能写作工作流怎么一步步长出来。 读完你能把「一堆零散素材 → 一篇可发布文章」这条流水线自己搭出来。
1. 人肉调度器
三个技能各司其职,挺好了?用着用着不对劲:每次写文章都得手动一步步调度——先喊素材分析, 再让写作接手,写完叫润色,改完叫配图。「同样的流程、不变的顺序,每次都靠你在对话框里一步步指挥。 你成了人肉调度器」1。
直觉的「聪明」办法是把所有环节塞进一个技能,一口气从素材输出成稿。书说千万别,三个痛点2:
- 好用的能力被锁死——写作风格只在写文章时用得上?纪要、周报、邮件都要风格。 不拆出来,同样的逻辑写好几遍,改进时改好几处;
- 中间环节缺了你的把关——从素材一口气到成稿,中间没有暂停没有确认,方向一跑偏全白费;
- 出了问题不知道找谁——质量不行,是素材没分析好、大纲不对、还是写作跑偏?全在一个技能里, 中间过程全是黑箱。
三个痛点指向同一个方向:一个技能只做一件事,复杂任务靠多个技能配合3。
2. 拆分:好东西别锁死
拿会议纪要开刀。单步版「转录稿进、标准件出」统一了格式,但 AI 的理解太表面—— 平均用力,分不清重要决定和闲聊,「格式漂亮,内容比较水」4。 解法是加一步「先分析提炼,再按模板输出」。技术上完全可以在一个技能里分两步做, 但书给了拆成两个技能的关键理由——万能高汤:
高汤炖排骨要用、煮面要用、火锅底料也要用。把高汤做法写在炖排骨的菜谱里, 煮面就得翻炖排骨的菜谱;改进配方,得去三份菜谱各改一遍。 单独写成一份菜谱,别的菜谱只需一句「先按高汤菜谱备好高汤」5。
「提取共识和待办」的分析能力,做项目复盘、提炼访谈、整理群聊都用得上——拆成独立的 讨论分析技能(discussion-analyzer),只维护一份,所有场景通用。拆分还附带三个好处: 省上下文(用到才加载)、出错好排查(每步有独立输出)、改动不牵连(各有独立文件)6。 书补充:这也是行业共识——Anthropic 和 OpenAI 的文档都在强调「一个技能只做一件事, 别写万能技能」7。
判断该不该拆,问两个问题8:这个技能的输出,是不是一个完整的、有独立价值的交付物 (「分析报告」是,「写了一半的分析报告」不是)?它的某个步骤,会不会在别的场景被单独使用?
拆出来的讨论分析技能按五个维度提取:关键决定(标注谁提议、谁支持、谁反对)、待办事项 (必须有负责人和截止日期,缺失标 [待确认])、争议点(记录各方立场)、背景信息、过滤(闲聊跑题不记录)9。
两条文件保存的规矩,贯穿本章所有模板10:
- 产出文件和输入文件放同一个目录——一个项目的所有中间产物聚在一起,一眼看清整条工作流;
- 已有同名文件时先备份再覆盖——「加一句备份指令,成本为零,但能避免你事后捶桌子」。
会议纪要技能只需小改:description 写明优先读取 discussion-analysis.md,没有摘要也能直接处理原始稿—— 既能 配合使用,也能单独使用11。
3. 三种组合方式
串联(serial,先后做)。 A 技能的输出文件是 B 技能的输入文件,像流水线前后工位; 中间可以检查半成品再放行。适合有明确先后依赖的任务:分析完素材才能写大纲,大纲定了才能写初稿12。
并联(parallel,同时做)。 基于同一份素材,多个方向同时开工,最后挑最好的。 书里的例子:大纲技能生成三份大纲——A 偏故事叙述、B 偏逻辑分析、C 偏场景对话—— 让智能体按三份各写一篇,从中挑13。但「同时」有个物理障碍: 单个智能体在一次推理中只能依赖一个上下文窗口,硬塞在一个对话里,版本 C 的措辞会「渗」进版本 A, 三个版本成一锅粥。解法是子智能体(第 4 节)14。
循环(loop,打回重做)。 写作技能交初稿给润色技能,润色输出终稿+润色报告; 你看了报告发现「第三节论据站不住脚」这种伤筋动骨的问题——把报告交回写作技能重写,再润色一轮。 注意:循环的触发者是你,不是润色技能——润色只管自己那件事,不越权替你判断要不要打回; 技能各做各的事,人做决策15。(工业级做法是拆一个独立的质检技能自动判断打回,节点多、成本高, 适合对质量有硬性标准的企业场景;本书方案更务实:报告给你,循环你触发16。)
怎么指挥?导演口令。 像导演指挥演员走位,把每一步的顺序、中间产物和暂停点说清楚17:
串联口令:
「先用 discussion-analyzer 读取转录稿,输出到 discussion-analysis.md。
分析完暂停,把待办事项列给我确认。确认后再用 meeting-minutes
读取 discussion-analysis.md,按模板生成会议纪要并保存。」
循环口令:
「先用写作技能写一版初稿,保存为 draft.md。然后用润色技能润色 draft.md,
输出 polish-report.md 和 final.md。润色完暂停,把报告摘要给我看。」
图说:口令的关键是中间产物(文件名)和暂停点(「暂停」「给我确认」)。
并联口令还藏着一条重要的纪律,末尾要加一句:「你只给我三份文件的文件路径和每份文件的一句话摘要」—— 这不是客气,是控制主上下文空间:不加这句,子智能体默认把三篇草稿全文返回,上下文一下就塞满18。
技能之间传数据有三种方式,经常混用:文件路径(大块数据)、上下文共享(短对话里直接用前文输出)、 格式约定(文件名对上就能自动衔接)19。
4. 子智能体:怎么「同时」
子智能体(sub-agent)是主智能 体派出的专项助手:拥有独立上下文、自己的系统提示词, 还可以限定工具。比方:主智能体像主厨,子智能体像副厨——主厨不亲自切菜炒菜, 把工序分给副厨,每个副厨在自己的灶台上独立操作,做完端回来,主厨只看成品20。
三个关键特性21:
- 独立上下文:子智能体的对话从零开始,不知道你和主智能体聊过什么—— 既是优势(不被无关信息干扰),也是限制(需要的信息必须显式传入);
- 过程隔离:它执行中的所有工具调用、中间结果、思考过程,全留在自己的上下文里; 主智能体只收最终结果(摘要或文件路径)。一个子智能体可能读了几十个文件、跑了几百行代码, 回到主智能体这边只多一段简短汇报——第 03 章「上下文快满了,有没有比清空更优雅的解法」, 答案就是它;
- 同时开工:各自独立上下文,互不打扰——并联的基础。
主走查:一次「三版草稿」的派单现场
书重演了本章开头「同时写三版草稿」的完整过程,每条派单都带文件路径(以下为书里的原文场景)22:
主智能体:
「子智能体 A,按叙事风格写一篇,原始素材在 source.md,
素材分析结果在 analysis.md,大纲在 outline-a.md」
「子智能体 B,按分析风格写一篇,……大纲在 outline-b.md」
「子智能体 C,按对话风格写一篇,……大纲在 outline-c.md」
三个子智能体各自独立工作……
子智能体 A:「写完了,文件在 draft-outline-a.md」
子智能体 B:「写完了,文件在 draft-outline-b.md」
子智能体 C:「写完了,文件在 draft-outline-c.md」
主智能体收齐三份成稿,等你挑选。
图说:主智能体只收到三个文件路径,中间过程全部隔离在子智能体自己的上下文里。
派活的三个实操问题23:
- 怎么触发? 自动委派(每个子智能体有自己的描述,主智能体按任务自动派; Claude Code 里会看到它使用 Agent 工具,内置 Explore/Plan 只读、general-purpose 能读能写能执行) 或显式调用(直接点名「用 code-reviewer 子智能体检查我最近的提交」);
- 怎么传信息? 两条路径:写在任务描述里(适合方向性指令和少量关键信息; 塞几千字素材会挤占主智能体的上下文),或传文件路径让它自己去读(大块数据完美绕过主智能体; 文件在磁盘上持久,多个子智能体可以读同一份,天然共享)。 最佳实践一句话:提示词传「决策和方向」,文件传「数据和内容」24;
- 怎么描述任务? 四要素:目标(做什么、存成什么文件)、约束(风格、格式、权限边界—— 「只审查,不修改」就是在设工具权限)、输入(读哪些文 件)、验收(可自检的硬指标: 字数范围、论点有素材支撑、保存成功)。差的任务描述是「帮我写一篇文章」——它只能猜25。
两个别外包过头的前提26:信息在交接时会丢失(你们的偏好、共识不在子智能体上下文里, 重要的必须显式写或存成文件);子智能体之间信息隔离(A 发现的关键信息 B 不知道, 必须主智能体中转或通过文件共享)。简单规则:一个上下文能搞定的事,别派子智能体—— 拆分带来隔离优势,也带来信息传递成本27。
技能还是子智能体? 判断标准一句话:复杂任务拆出来的子任务,你需不需要了解其执行的中间过程? 要过程、轻任务 → 技能;只要结果、重任务 → 子智能体28。 (再往上一层还有「智能体团队」:成员之间可以直接发消息、共享任务列表,不用主智能体传话; 判断标准是「子任务之间需要互相通信吗」——需要就组队,但多数平台上这还是实验性功能, 写作场景用子智能体就够29。)
5. 五个技能,一条写作流水线
现在把所有零件装成书里那条真实的工作流。目标:一堆零散素材 → 一篇可发布的文章。 五个技能串联做主线,外加写作风格技能作为全局约束——它不在主线上, 但所有涉及文字的环节都要加载它30。
source.md(原始素材)
│ ① 素材分析 content-analyzer(核心论点/背景/批判审视/传播价值)
▼
analysis.md
│ ② 大纲 outliner:生成 3~5 个差异化方案 ──► 「等待用户选择」◄─人工检查点
▼ (outline-a/b/c.md)
┌──┴─────────────┐
│ ③ 写作 writer │ 可并联:两个子智能体按不同大纲同时写
│ 加载 writing-style 作风格约束 + 完稿后验收自检
└──┬─────────────┘
▼ draft-outline-a.md
④ 润色 article-polish:先诊断(哪里读不懂/啰唆/逻辑断裂/AI 味)再修改
输出 polish-report.md + final.md ──► 你看报告,不行就打回 ③(循环)
▼
⑤ 文章配图(第 05 章的流程型技能)──► 图文并茂的终稿
图说:主线串联;②处人工拍板;③可并联;④处人触发循环。
几个设计细节值得抄走31:
- 素材分析不能拿讨论分析凑数——前者对付「静态资料」(提核心论点、查逻辑漏洞), 后者对付「动态交流」(抓共识、找待办),提纯逻辑不同;
- 大纲技能生成多个方案后「等待用户 选择」——这是一个人工检查点:工作流在这里暂停,由你拍板。 书明确说:并不是所有步骤都要自动化;
- 写作技能内置验收自检——字数在范围内、关键数据已引用、文件保存成功。 注意这只是交付前的「出厂检验」,检查完整性,不是让它审自己的文笔——文笔归下一环节;
- 「加载 writing-style」和串联不同:串联有先后顺序,加载是同时生效不分先后。 润色技能加载风格后,只改逻辑和语病,不越俎代庖改你的语言风格32;
- 技能互调,写死名字还是描述能力? 判据:「如果用户把目标技能换成同类的另一个,我的技能还能工作吗?」 能→描述能力(配图技能只写「调用图像生成工具」);不能→写死名字(润色强依赖 writing-style 的具体规则)。 多数情况倾向描述能力33。
6. 四周演进与三个坑
这条工作流不是一天搭成的,书给了真实的演进时间线34:
| 周 | 加了什么 | 发现/解决什么 |
|---|---|---|
| 第 1 周 | 素材分析 + 写作 | 最小可用版;但角度常不合意、风格要每次口头交代 |
| 第 2 周 | 大纲 + 写作风格 | 大纲多方案让我选;人工检查点比全自动跑到底效果好 |
| 第 3 周 | 润色 | 偶尔改我的风格——加载写作风格后,只改问题不改风格 |
| 第 4 周 | 配图 + 并行(同时)写作子智能体 | 完整版成型 |
最关键的一步:先跑通两个技能串联的最小可用版。不着急加新技能——等哪个环节成了瓶颈, 再有针对性地加35。
效率账36:一篇文章从选题到成稿,作者从三四小时缩短到四十分钟左右。 但省下来的不是思考时间,是体力活——读原文、写初稿、逐段改措辞、找配图; 留在手里的才是关键的:定选题、判断方向、终审把关。
三个坑,真金白银换来的37:
- 一开始就想搭完整版——五个技能全写好再跑,出了问题不知道哪步造成。改成「加一个,跑通」;
- 子智能体返回了全文——两篇三千字直接塞进主上下文。口令里加「只返回文件路径和一句话摘要」;
- 润色技能改了我的风格——它只知道「改得更好」,不知道你的「好」是什么。加载风格技能解决。