多 Agent 模式:让 Claude Code 自己拆活、自己分工

进阶篇 · 第 5 篇 20 分钟 进阶 2026年4月3日 更新于 2026年4月9日

什么是多 Agent 模式

当你给 Claude Code 一个复杂任务——比如”给这个项目加上完整的用户认证系统”——它需要同时处理路由设计、数据库模型、中间件、前端表单、测试用例等多个方面。所有这些上下文塞在一个对话窗口里,很快就会接近上下文上限,响应质量也会下降。

Claude Code 的解决方案是 子 Agent(Sub-agent)。主 Agent 可以派生出独立的子 Agent,每个子 Agent 有自己的上下文窗口,专注处理一个子任务。处理完后,子 Agent 把结果汇报给主 Agent,主 Agent 再统筹整合。

你在对话中可能已经见过这个行为了——当 Claude Code 需要搜索大量文件或做复杂分析时,它会说”让我用一个 agent 来处理这个”,然后你会看到一个子任务在后台运行。

什么时候会触发多 Agent

Claude Code 会在以下场景自动使用子 Agent:

  1. 广泛的代码搜索:需要在整个代码库中查找相关代码时
  2. 并行独立任务:多个子任务之间没有依赖关系时
  3. 上下文保护:某个操作会产生大量输出,直接放在主对话里会浪费上下文

关键理解:你不需要手动告诉 Claude Code “用 Agent”。它会根据任务复杂度自动判断。但你可以通过任务描述的方式来引导它的行为。

引导 Claude Code 使用多 Agent 的技巧

虽然是自动触发,但不同的 prompt 写法会显著影响 Claude Code 是否选择使用多 Agent,以及使用的效果。

技巧 1:明确列出独立子任务

不好的写法:

“帮我重构用户模块”

好的写法:

“帮我重构用户模块,具体包括:

  1. 把 UserService 里的数据库查询拆到 UserRepository
  2. 给 UserController 的每个接口加上参数校验
  3. 补充 UserService 的单元测试 这三个任务互不依赖,可以并行处理。”

当你显式说明任务之间”互不依赖”或”可以并行”时,Claude Code 更倾向于用多 Agent 并行处理。

技巧 2:用”先调研,再动手”的模式

“我要给项目加国际化支持。先帮我调研一下:

  1. 项目里有多少个需要翻译的字符串
  2. 现有的组件结构是否方便包裹 i18n 函数
  3. package.json 里有没有已经装了 i18n 相关的库 调研完告诉我结果,我们再讨论方案。”

这种”调研阶段”非常适合多 Agent——三个调研方向互相独立,Claude Code 通常会派三个子 Agent 分头去查,比顺序执行快很多。

技巧 3:大文件分析时显式建议

“这个项目有 200+ 个组件文件。帮我找出所有还在用 class component 的组件,列出文件路径和行数。文件很多,建议并行搜索。”

“文件很多”和”并行搜索”这类提示会帮助 Claude Code 做出更好的决策。

多 Agent 的实际表现

我在一个中型项目(约 150 个文件)上做过一次对比测试。任务是”找出所有未使用的导出函数”:

模式耗时上下文消耗准确率
单 Agent 顺序搜索~4 分钟约 80k tokens约 85%
多 Agent 并行搜索~1.5 分钟约 35k tokens(主)+ 60k(子)约 90%

多 Agent 模式在时间和主上下文消耗上都更优。虽然子 Agent 总共消耗的 token 更多,但主对话窗口保持了干净,后续交互的质量不受影响。

注意事项

子 Agent 之间不共享上下文

这是最重要的限制。子 Agent A 不知道子 Agent B 在做什么。如果两个任务有隐含依赖——比如”重命名函数”和”更新所有调用点”——不能拆成两个独立子 Agent,否则可能出现不一致。

判断标准:如果任务 B 的执行需要知道任务 A 的结果,它们就不能并行。

子 Agent 的修改可能冲突

多个子 Agent 可能同时修改同一个文件。Claude Code 在合并时通常能处理好简单冲突,但复杂情况下可能出问题。

我的做法:涉及同一文件的修改,放在同一个子任务里,不要拆开。

成本会增加

每个子 Agent 都是独立的上下文,都要消耗 token。5 个子 Agent 的总成本可能是单 Agent 的 2-3 倍。

建议:不要为了”显得高级”而强行要求多 Agent。简单任务(3 个以下文件的修改)单 Agent 就够了。

与 Headless 模式配合

多 Agent 的理念也可以应用到 Headless 模式 中。你可以在脚本里并行启动多个 Claude Code 实例,每个处理不同的文件或任务:

#!/bin/bash
# 并行分析多个模块
modules=("auth" "payment" "notification" "user")

for mod in "${modules[@]}"; do
  claude -p "分析 src/modules/$mod/ 目录下所有文件,
    列出潜在的性能问题和安全隐患。" > "reports/$mod.md" &
done

wait  # 等待所有后台任务完成
echo "所有模块分析完成"

这本质上是”手动多 Agent”——你自己控制并行度和任务分配。适合那些 Claude Code 自动多 Agent 覆盖不到的场景。

总结

多 Agent 不是一个你需要”学会使用”的功能,而是一个你需要”理解它在做什么”的机制。理解了它的工作方式和局限性,你才能:

  1. 写出更容易被多 Agent 优化的 prompt
  2. 避免因为不了解机制而踩坑(比如依赖任务拆分不当)
  3. 在 Headless 模式下手动构建更高效的并行工作流

核心原则:独立的任务才能并行,有依赖的任务必须串行。 这在软件工程里是老生常谈,但在 AI 协作场景下同样适用。