Claude Code 三种编排方式怎么选:动态工作流 vs /goal vs 智能体团队

在 Claude Code 里组织复杂任务,有三条路线:Claude 动态生成编排脚本的动态工作流、把目标交给 Claude 自主执行的 /goal,以及多个独立会话互相通信协作的智能体团队。本文从自主性、并行度、成本结构、失败处理、可调试性等维度逐一深入对比,给出一套选型决策框架,并附常见问题解答。

阅读时长: 13 分钟
共 6512字
作者: longlikun

编排 Claude Code 的三种方式——以及差异为什么重要

如果你用过一段时间 Claude Code,大概会发现:让它处理复杂任务的方式不止一种。你可以让 Claude 自己生成一套并行调度脚本来大规模处理任务,可以扔给它一个高层目标然后撒手不管,也可以开一支互相通信的 Claude 实例团队。这三种方式是真的不一样——不只是风格上的差别,而是在成本、可靠性、复杂度,以及「到底擅长解决哪类问题」上都不同。

本文会从最关键的几个维度——自主性、并行度、成本结构、失败处理、实际使用场景——把这三种模式(动态工作流、/goal 命令、智能体团队)摆在一起对比。读完你会清楚地知道哪种模式适合哪种情形。

这个选择并不是纸上谈兵。选错了,你要么把一个简单任务过度工程化,要么给一个复杂任务配了不够用的武器。

三种模式分别是什么

在对比之前,有必要先把每种模式在实践中的含义说清楚。这些术语经常被混用,但其中的区别很重要。

动态工作流(Dynamic Workflows)

动态工作流的核心思想是:把「计划」放进代码里,让代码而非 Claude 的上下文窗口来决定下一步做什么。

通常,Claude Code 处理任务时是逐轮决策的——Claude 在自己的上下文里思考「下一步做什么」,中间结果也留在上下文中。Dynamic Workflows 则不同:你描述任务,Claude Code 使用当前会话中支持工作流的模型实时为这个任务生成一段定制的 JavaScript 编排脚本,然后由运行时在后台执行这段脚本,你的主会话始终保持响应。

「动态」的精髓在于:不是你预先写好流程,而是 Claude 根据当前任务实时生成最合适的编排代码,任务不同、脚本就不同。这比事先写死的静态工作流灵活得多。

可以通过在提示词中使用 ultracode 关键词、直接要求 Claude Code 使用 workflow,或通过 /effort ultracode 命令触发。官方文档还内置了 /deep-research 这类基于 workflow 的命令。

/goal 命令

/goal 是 Claude Code 原生的目标驱动持续执行机制。你描述想要达成的东西——一个高层目标和完成条件——然后由 Claude 负责规划、排序、执行抵达目标所需的步骤。

你不是在编写工作流,而是在陈述意图、委派执行。Claude 自己决定用什么工具、按什么顺序推进;每轮结束后,系统会评估完成条件是否满足,若未满足就继续下一轮。

这是 Claude Code 上「告诉我你想要什么,而不是怎么做」的路子。

智能体团队(Agent Teams)

智能体团队是 Claude Code 里多个完整的 Claude Code 会话作为一支团队协同工作。其中一个会话担任 team lead(队长),负责建团队、派任务、汇总结果;其余 **teammate(队友)**各自在独立上下文里工作。

它和动态工作流里的子 Agent、以及普通 subagent 最大的不同在于通信方式:teammate 之间通过共享任务列表(shared task list)和信箱(mailbox)直接对话、互相质疑、自行认领任务,而不是只能向主 agent 单向汇报。换句话说,协调不是你写代码写出来的,而是团队自己跑出来的——你用自然语言告诉 Claude 想要怎样一支团队,Claude 自己 spawn 队友并组织协作。

这跟人类团队的运作方式很像——队长把项目拆开,队员们认领、推进、互相讨论。它最适合那种「多个视角并行探索、再彼此碰撞」的任务。

注:Agent Teams 是实验性功能,默认关闭,需通过 CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS 开启(要求 Claude Code v2.1.32+)。

动态工作流:Claude 生成脚本、并行调度、规模化执行

Dynamic Workflows 的真正威力在于规模:Claude 不是一步一步地思考,而是先为你的任务写好一套并行调度程序,再由这段程序批量驱动大量子 Agent。

它是怎么运作的

流程大致如下:

  1. 你告诉 Claude 你的任务(比如「审计所有 API 路由是否有鉴权漏洞」)
  2. Claude Code 使用当前会话中支持工作流的模型实时为这个任务生成一段定制的 JavaScript 编排脚本
  3. 运行时在后台并行启动数十乃至上百个子 Agent
  4. 子 Agent 的中间结果存在脚本变量里,不占用 Claude 主上下文窗口
  5. 全部完成后,最终结果汇总给你

截至当前官方文档限制,每次运行最多可调度 1000 个子 Agent,同时并发最多 16 个。你的主会话在整个过程中始终保持响应。

对比项 普通逐轮执行 Dynamic Workflows
谁来决定下一步 Claude,逐轮决策 脚本代码
中间结果存在哪 Claude 的上下文窗口 脚本变量
并行能力 单会话逐轮对话本身无大规模并行 原生,最多 16 路并发

优势

真正的大规模并行。 脚本可以同时驱动数十个子 Agent,几分钟内完成单实例需要数小时的任务。全代码库 Bug 搜寻、安全审计、性能优化扫描——这类需要大面积覆盖的任务是它的主场。

脚本为任务量身定制。 Claude 根据你的具体需求生成脚本,而不是套用通用模板。同一类任务、不同侧重,生成的脚本就不同,比预先写死的静态流程灵活得多。

上下文窗口不是瓶颈。 中间结果存在脚本变量里,不会堆积在 Claude 的上下文中,可以处理远超单实例上下文限制的工作量。

搭建成本低。 你只需描述任务,不需要自己设计编排逻辑。

劣势

需要任务可分解。 对那些步骤高度串行依赖、无法并行的任务,并行调度的优势发挥不出来。

成本上限较高。 大量子 Agent 并发意味着 token 消耗也成倍增长,不适合对成本极度敏感的简单任务。

生成的脚本不透明。 你不是自己写的脚本,调试时需要额外查看 Claude 生成的编排代码。

最佳场景

  • 全代码库的 Bug 搜寻、安全审计、性能优化扫描
  • 需要对每个发现独立验证的任务(并行搜索 + 并行核实)
  • 大量同类文件的批量处理(提取 → 分析 → 汇总)
  • 任何「覆盖面广、可并行」的规模化任务

/goal 命令:自主执行

/goal 把规划和持续推进的责任转移给了 Claude。你描述目标和完成条件,Claude 自己找路径。

它是怎么运作的

当你在 Claude Code 里调用 /goal,本质上是把一个目标和完成条件交给 Claude,并让它持续推进。Claude 会:

  • 在内部把目标拆成子任务
  • 按它自己判断的顺序使用可用工具(bash、文件访问、搜索等)
  • 根据中途的发现调整方法
  • 持续推进,直到完成条件被评估为满足、或撞上明确的障碍

没有死板的脚本。Claude 边推进边重新评估、调整。如果一个方法不奏效,它可以换一个。

优势

搭建成本低。 你不用设计工作流,只需描述想要什么。对于那些事先不完全清楚步骤的新颖或探索性任务,这尤其有用。

自适应执行。 因为 Claude 在动态规划,它能应对意外。文件不在它以为的位置、API 返回了预期之外的数据、代码库结构和假设不一样——它都能调整。

像在委派。 对于想专注「做什么」而非「怎么做」的知识工作者和开发者,/goal 是最自然的接口,就像把活儿交给一位能干的同事。

适合探索。 调研任务、代码库勘察、调试陌生系统——这些都受益于 Claude「顺着线索一路追下去」的能力。

劣势

token 用量不可预测。 Claude 的跨回合执行循环要消耗 token。子任务很多的长目标会迅速变贵,且成本难以提前预估。

难以审计。 你拿到一个结果,但除非你深挖工具调用日志,否则 Claude 抵达结果的路径未必完全透明。

多次运行不一致。 同一个目标 prompt,不同次运行可能产生不同的执行路径。这对探索是优点,但对任何需要可复现性的场景就是问题。

可能卡死或提前收敛。 目标条件如果写得含糊,系统可能过早判断目标完成;也可能在没有外部干预时陷入无效循环。

最佳场景

  • 探索、理解一个陌生代码库
  • 开放式的研究与总结任务
  • 根因未知的调试任务
  • 范围需要边做边摸清的重构项目
  • 任何你能描述「成功长什么样」、却说不清步骤的任务

智能体团队:多个会话并行协作、互相质疑

智能体团队是最适合「多视角并行探索 + 彼此碰撞」的模式。它不是让 Claude 写脚本去调度无状态的子 Agent,而是开起多个完整、独立、能互相对话的 Claude Code 会话。

它是怎么运作的

一支团队由这几部分组成:

  • team lead(队长):你正在用的这个主会话,负责建团队、spawn 队友、派任务、汇总结果
  • teammate(队友):若干独立的 Claude Code 实例,各自有独立上下文,认领并完成任务
  • 共享任务列表(task list):所有成员都能看到任务状态、认领可做的任务;任务支持依赖关系,前置任务完成后被阻塞的任务自动解锁
  • 信箱(mailbox):成员之间直接收发消息的通信系统,消息自动送达,无需轮询

你不需要写任何协调代码——用自然语言告诉 Claude 你想要怎样一支团队(比如「建一支团队从 UX、架构、唱反调三个角度探索这个问题」),Claude 就会建团队、spawn 对应队友、组织他们协作并最后汇总。队友之间用文件锁认领任务以避免冲突。

显示上有两种模式:in-process(所有队友跑在主终端里,用 Shift+Down 循环切换、直接给某个队友发消息)和 split panes(每个队友独占一个窗格,能同时看到所有人的输出——需要 tmux 或 iTerm2)。

优势

真正的并行 + 互相质疑。 多个队友可以同时从不同角度调查同一个问题,然后分享、挑战彼此的结论。官方招牌例子就是派 5 个队友各持一个 bug 假设、像科学辩论一样互相证伪——存活下来的假设更可能是真正的根因。

直接通信,不靠主 agent 中转。 队友之间能直接对话、共享发现,这是它和普通 subagent(只能单向汇报)的本质区别。

角色专精。 每个队友可以用不同的模型、不同的工具集;还能复用已有的 subagent 定义(比如 security-reviewer)作为某个队友的角色。

你可以直接介入任一队友。 不必经过队长,可以直接给某个队友发指令、追问、纠偏。

劣势

还是实验性能力。 Agent Teams 默认关闭,需开 CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS,且官方明确列了已知限制:恢复会话/resume/rewind 不会恢复 in-process 队友)、任务状态可能滞后(队友有时忘了把任务标完成,阻塞后续任务)、关闭较慢(队友会先做完当前请求再退出)。

成本上限更高。 每个队友都是一个独立的 Claude 实例、独立上下文,token 用量随队友数量线性增长。对日常小任务,单会话更划算。

协调开销与冲突风险。 队友数量越多,沟通和协调成本越高;两个队友改同一个文件会互相覆盖。官方建议大多数场景 3–5 个队友起步,并按文件边界拆分工作。

一次只能管一支团队、不支持嵌套。 队友不能再开自己的团队;队长身份在团队生命周期内固定,不能转交。

最佳场景

  • 并行代码审查(一个看安全、一个看性能、一个看测试覆盖)
  • 竞争性假设调试(多个队友各查一个理论、互相证伪)
  • 跨层改动(前端、后端、测试各由一个队友负责)
  • 新模块 / 新功能(每个队友独占一块、互不踩脚)
  • 任何「多视角并行探索、再彼此碰撞」、且偏读多写少的任务

横向对比

下面是三种模式在通常驱动决策的各个维度上的对比:

维度 动态工作流 /goal 智能体团队
自主性 中—高(Claude 写脚本并调度) 高(Claude 全程规划) 中—高(队长协调,队友自行认领)
并行度 原生并行(最多 16 路并发) 串行 原生并行(多会话)
成本可预测性 低—中
搭建复杂度 低(描述任务即可) 低(自然语言建团队,但属实验性功能)
调试难易 中(可查看生成的脚本) 难(可直接介入任一队友)
适应性 中(脚本针对任务定制) 高(队友互相讨论、纠偏)
适配的上下文规模 极大(脚本变量存中间结果) 大(每个队友独立上下文)
通信方式 脚本变量传递 单会话 队友互相直接通信
理想任务类型 覆盖面广、可并行的规模化任务 开放式探索目标 多视角并行探索、互相碰撞(读多写少)

怎么选:一套决策框架

与其规定一个唯一「最好」的方案,不如用一套框架,把模式和问题对上号。

先看任务的形状

任务覆盖面广、可以并行拆解? 用动态工作流。全代码库扫描、批量分析、大规模审计——这类「横向铺开」的任务最能发挥它并行调度的威力。只需描述任务,Claude 生成脚本,后台并行跑。

任务是探索性的、开放式的?/goal。你不完全清楚要走哪些步骤,需要 Claude 边做边决策。让它去问题空间里自己导航。

任务需要多个视角并行探索、再彼此碰撞验证? 用智能体团队。代码审查(安全 / 性能 / 测试各派一人)、竞争性假设调试(多人各查一个理论、互相证伪)、跨层改动——这类「读多写少、靠讨论收敛」的任务最能发挥队友间直接通信的价值。注意它是实验性功能,且 token 开销显著。

再考虑成本约束

三种模式里,短目标用 /goal 处理时成本相对可控,但一旦目标跨很多轮,token 用量仍然会变得难预测。动态工作流的并行子 Agent 数量和 token 消耗随任务规模浮动;智能体团队最贵——每个队友都是独立实例、独立上下文,用量随队友数量线性增长。如果预算敏感,优先用 /goal 或单会话,团队留给真正值得的任务。

还要看出结果的时间要求

覆盖面广、可脚本化的大型任务,动态工作流靠 16 路并发最快。需要多视角讨论的探索 / 审查任务,智能体团队的并行能压缩墙钟时间。步骤说不清的开放任务,/goal 搭起来最省事。

你有多信任输出

动态工作流的编排脚本由 Claude 生成、你可以审查;/goal 的推理路径不完全透明,且评估器只看对话里暴露的内容,条件写得含糊可能被提前判定完成;智能体团队透明度居中——你能直接介入任一队友查看其会话,但多会话的系统级调试仍然复杂,且目前任务状态可能滞后。对输出要求可审计、可复现的生产场景,仔细检查 Dynamic Workflows 生成的脚本,或盯紧团队的任务列表与各队友输出,都是合理做法。

混合用法

实践中,成熟的用法常常组合这些模式。比如先用动态工作流对全代码库做大规模初筛,再用 /goal 或智能体团队对筛出的结果做深度分析与讨论。它们不是互斥的——按任务的不同阶段挑顺手的那个。

常见问题

Claude Code 里的 /goal 命令是什么? /goal 是 Claude Code 用于目标驱动持续执行的机制。你提供一个高层目标和完成条件,Claude 规划并执行达成它所需的步骤;每轮结束后系统评估完成条件是否满足,无需你编写流程。它最适合事先不完全清楚步骤的开放式或探索性任务。

什么时候该用多智能体团队,而不是单个 Claude 实例? 当你的任务真正受益于并行执行或角色专精时——大型代码库分析、全面研究、复杂内容流水线——才用智能体团队。对大多数任务,单个 Claude 实例(用动态工作流或 /goal)更简单也更省钱。多智能体的开销,只有任务大到值得时才划算。

动态工作流和传统脚本自动化有什么区别? 传统脚本自动化(如 Zapier、Make)是人预先写死的「触发-动作」规则。Claude Code 的 Dynamic Workflows 则是 Claude 根据你的具体任务实时生成一段 JavaScript 编排脚本,脚本内容随任务变化——同样的功能类型、不同侧重,生成的脚本就不同。这让它比静态流程灵活,同时又比纯自主执行的 /goal 结构化。

智能体团队比单智能体方案更贵吗? 通常是的。跑多个 Claude 实例会成倍放大 token 用量。话虽如此,对真正大型的任务,智能体团队可能反而比逼单个实例处理巨大上下文窗口更划算。关键是让方案匹配任务规模——对单实例就能搞定的任务,智能体团队不值那个开销。

能在 Claude Code 里把 /goal 和智能体团队结合吗? 能。一种可行模式是给队长设一个 /goal 完成条件,让它持续协调团队直到条件满足。这些模式天然可以组合,但要记得 Agent Teams 仍属于实验性能力。

subagent(子代理)和 Agent Teams 有什么区别? 两者都能并行,但通信方式不同:subagent 在单个会话内被主 agent 派生,干完活把结果汇报回来,彼此之间不通信;Agent Teams 的队友是各自独立的完整会话,共享任务列表、互相直接发消息。所以 subagent 适合「只要结果」的聚焦任务(成本更低,结果会被压缩回主上下文),Agent Teams 适合「需要讨论和协作」的复杂任务(成本更高)。

多智能体 Claude Code 系统里的失败该怎么处理? 失败处理策略取决于模式。动态工作流里,由 Claude 生成的脚本带重试和兜底,必要时检查脚本逻辑。/goal 里,把完成条件写成可验证的、并加 or stop after N turns 之类的上限子句,避免空转。智能体团队里,盯紧共享任务列表(队友偶尔会忘记标记任务完成、阻塞后续),并直接介入卡住的队友。

关键要点

  • 动态工作流最适合覆盖面广、可大规模并行的任务——Claude 实时生成脚本、驱动上百个子 Agent,适合全代码库扫描、批量分析、安全审计等场景。可用 ultracode、直接要求使用 workflow,或 /effort ultracode 触发。
  • /goal 最适合开放式、探索性或新颖的任务——你想把规划和跨回合推进委派给 Claude,由它边做边决策,并用完成条件约束何时停止。
  • 智能体团队最适合多视角并行探索、再彼此碰撞的任务——多个独立会话共享任务列表、互相通信,适合并行代码审查、竞争性假设调试、跨层改动等「读多写少、靠讨论收敛」的场景。属实验性功能、成本最高。
  • 大多数实际用法会组合这些模式——比如用 Dynamic Workflows 做大规模初筛、再用 /goal 或智能体团队对结果做深度分析与讨论。

正确的选择不在于哪种模式「最先进」,而在于让工具匹配任务。先想清楚任务的形状——是要大面积覆盖、还是深度探索、还是多视角讨论——再选对应的模式。

关于

关注我获取更多资讯

月球基地博客公众号二维码,扫码关注获取更多 AI 与编程资讯
📢 公众号
月球基地博客作者个人微信二维码,扫码交流 AI 与编程话题
💬 个人号
使用 Hugo 构建
主题 StackJimmy 设计