E3 · 进阶深入

多任务并行实践:把复杂任务拆开做

2026-09-30
📌 本页已重写:早期版本描述了一套「Agent 多代理协作」体系和 /agent collab 系列命令、agents.json 配置文件。这些命令与配置在 WorkBuddy 官方文档中查不到,属于臆造内容,已全部删除。本页改为围绕官方明确记载的核心能力「多任务并行」,讲可落地的拆分与协作方法。

官方核心能力里有一条常被忽略:「支持同时创建和处理多个任务,适合并行完成不同工作」。这句话看着平淡,实际是效率杠杆——单条任务串行跑三件事,和三条任务并行跑,体感差别很大。但并行不是「无脑多开」,拆错了会互相覆盖、来回返工。本文讲怎么拆、怎么不打架、怎么验收。

🏗️先想清楚:并行的收益与代价

维度串行(一条任务做完再做下一条)并行(多条任务同时推进)
总时长各步耗时相加取决于最慢的那条
上下文集中,前后文互相可见各任务独立,看不到彼此的上下文
风险低,方向错了随时能改高,两条任务改同一个文件会互相覆盖
适合有前后依赖的步骤彼此独立、可分别验收的产出

结论很直接:并行的前提是「互不依赖 + 不碰同一份文件」。满足这两条,并行几乎只有好处;不满足,并行就是给自己制造返工。

串行与并行任务对比,以及任务拆分的三条原则

✂️怎么切分:三种可用的切法

按交付物切(最推荐)

以「最终要交付什么」为边界切开,每个任务对应一个清晰产物。这种切法天然独立,验收也简单。

任务A:把 7 月的销售数据整理成 Excel,含环比列
任务B:把 8 月的销售数据整理成 Excel,含环比列
任务C:写一份两月对比的分析结论(Word)

注意 A、B 可以并行,C 必须等 A、B 完成——它依赖前两者的产出。这就是「有依赖的要串行」。

按目录 / 文件范围切

面向代码或文档批量处理时,按互不重叠的路径切。这是避免「互相覆盖」最直接的办法。

任务A:只处理 src/components/ 下的文件
任务B:只处理 src/utils/ 下的文件
任务C:只处理 docs/ 下的文档

反面例子:让任务 A 和任务 B 都去改 package.json——不管它们多聪明,最后写盘的一定覆盖先写的。这类共享文件应该合并成一个任务串行做。

按阶段流水线切(收益有限,谨慎用)

把「收集 → 处理 → 输出」拆成不同任务。听起来像流水线,但实际问题是:后一阶段依赖前一阶段的产出,并不会真的省时间,反而增加了在任务之间搬运信息的成本。只有当每个阶段本身耗时很长、且能被复用(例如「爬取」一次供多个下游用)时才值得。

💡 一条经验:拆任务时问自己两个问题——① 「这条任务的产出能不能单独验收?」② 「它会不会和另一条任务改同一个文件?」两个都是「是/否」且都过关,才值得并行。

🎯拆完之后:怎么描述任务

并行任务彼此看不到上下文,所以每条任务的描述必须自包含——不能写「像刚才那样处理」。官方在《创建任务》里建议优先补充四类信息,并行场景下更是必需:

另外,官方《创建任务》还提供了几个实用手段,在并行场景里能显著降低「指错文件」的概率:

🔗汇总与验收

并行任务的产出是分散的,最后必然有一个「收口」动作。建议固定三步:

  1. 逐条验收:利用右侧结果区的「产物」页签,把每条任务的产出单独过一遍。别只看对话里的总结——官方把「结果交付与验收」列为核心能力之一,产物才是可验收的东西。
  2. 一致性检查:并行任务最容易出的问题是「口径不一致」——同一个指标两种算法、同一种格式两种排版。收口时统一过一遍。
  3. 合并成终稿:单独开一条任务做汇总(它能看到你给它的所有材料),或者在原任务里把产物拼起来。

⚠️并行最容易踩的四个坑

📚 参考资料

💬 你习惯一次开几个任务?有没有遇到过两条任务互相覆盖文件的惨案?欢迎分享你的并行经验!