跳到正文
FunCoding

搜索

搜索文档、智能体、博客、Skill 和 MCP

并行运行智能体

对比子智能体、智能体视图、智能体团队、动态工作流和 Projects 五种并行方式,以及怎么按协调者、通信需求和文件冲突选择。

Claude Code 有五种同时处理多个任务的方式:子智能体、智能体视图(agent view)、智能体团队(agent teams)、动态工作流(dynamic workflows)和 Projects。区别在于你自己参与多少:从亲自引导每段对话,到把整个项目交给 Claude 去拆分和协调。

方式它给你什么何时使用
子智能体单个会话里被委派的工作者,在自己的上下文里做旁支任务并返回摘要旁支任务会用你不会再引用的搜索结果、日志或文件内容淹没主对话
智能体视图用 claude agents 打开的一个界面,派发并监控在后台运行的会话(研究预览)有几个相互独立的任务,想交出去、一眼看状态、只在某个需要你时介入
智能体团队由一个负责人管理的多个协同会话,共享任务清单并互相发消息(实验性,默认关闭)想让 Claude 把项目拆成几块、分配出去并让工作者保持同步
Projects在 claude.ai/code 或桌面应用里的一段持续对话,Claude 启动称为线程的并行会话(在云端,或你要求时通过 Remote Control 在你电脑上),给每个线程项目指令,并告诉你哪些需要你(Pro 和 Max 的公开测试版)工作跨越数天或数周的许多任务,且应该在你的机器关机时继续运行
动态工作流运行许多子智能体并交叉核对结果的脚本,适合一回合一回合协调不过来、或需要不止一遍处理的工作任务超出少数几个子智能体,或想让发现互相验证:全库审计、500 个文件的迁移、交叉核对的调研

所有方式里的工作者都是 Claude 会话。想引入别的工具,把它作为 MCP 服务器暴露给 Claude。

还有三样东西支撑这类工作,但它们本身不是运行智能体的方式:

  • Worktree:给每个会话一个独立的 git 检出,并行会话永远不会编辑同样的文件。适合你自己运行的会话;从智能体视图派发的会话会在编辑文件前自己移进一个 worktree,你派生的子智能体也可以各用一个
  • 跨会话消息:让 Claude 列出并向你在本机、另一台机器或云端的其他 Claude Code 会话发消息,让你自己运行的会话互相传递发现和状态
  • /batch:一个 Skill,让 Claude 把一次大改动拆成 5 到 30 个各在 worktree 里隔离的子智能体。它是子智能体和 worktree 的打包用法,不是单独的协调方式

另有几个功能也能让 Claude 不用你逐步驱动,但解决的是别的问题:后台 bash 命令(不阻塞对话地运行一条 shell 命令,不派生智能体);forked 子智能体(继承完整对话上下文而不是从头开始的子智能体,用 /subtask 启动);例程(按计划在云端运行会话,而不是在你机器上并行)。

同时运行多个会话或子智能体会成倍增加 token 用量。

怎么选

看谁来协调、工作者要不要互相通信、任务会不会碰同样的文件:

  • 谁来协调? Claude 在一段对话里委派并收集结果:子智能体;你交出独立任务、稍后回来看:智能体视图;Claude 规划、分配并监督一组工作者:智能体团队;由脚本而不是 Claude 逐回合的判断来持有计划:动态工作流
  • 工作者要互相说话吗? 你自己运行的会话(包括从智能体视图派发的)之间,Claude 可以用跨会话消息传递发现;子智能体把结果汇报给派生它的对话;智能体视图里的会话只向你汇报;智能体团队的成员直接互相发消息
  • 任务会碰同样的文件吗? 用 worktree 隔离。子智能体和你自己运行的会话都可以各用一个 worktree;智能体团队不会把成员隔离进 worktree,所以要把工作划分好,让每个成员负责不同的一组文件

查看正在运行的工作

  • 后台会话:claude agents 打开智能体视图,一屏显示每个会话、状态,以及哪些需要你的输入
  • 当前会话里的子智能体:命名的后台子智能体会在 @ 提及补全里显示状态。从 v2.1.198 起 /agents 不再打开面板,只打印指向子智能体文件位置的提示(注意它和 claude agents 是两回事)
  • 当前会话后台的任何东西:/tasks 列出每一项,可以查看、附加或停止,也包括已完成的子智能体
  • 动态工作流:/workflows 列出运行中和已完成的运行、各自所处阶段,以及已完成多少个智能体