菜鸟AI - 让提示词生成更简单! 全站导航 全站导航
AI工具安装 新手教程 进阶教程 辅助资源 AI提示词 热点资讯 技术资讯 产业资讯 内容生成 模型技术 AI信息库

已有账号?

首页 > AI教程 > Claude Code多Agent编排:4步对比Workflows与/goal
进阶教程 综合资讯

Claude Code多Agent编排:4步对比Workflows与/goal

2026-06-07
阅读 0
热度 0
作者 菜鸟AI编辑部
摘要

摘要

ClaudeCode提供两种多Agent编排方式:DynamicWorkflows解决上下文卸载问题,适合流程确定的任务

用 Claude Code 处理小型任务,体验确实流畅——修正一个函数、修复一个 Bug、重构一段逻辑,往往几分钟就能搞定。一旦任务规模扩大,痛点便暴露出来:上下文不断膨胀,Claude 逐渐偏离原始目标;更麻烦的是,在多个文件间频繁切换时,中间状态全靠聊天记录维系,一旦会话中断,之前的工作全部泡汤。

针对这两个典型困境,Claude Code 分别提供了两套解决方案:Dynamic Workflows 负责编排与上下文卸载,/goal 专注于目标驱动的自主循环。不过社区中经常有人困惑:这两者到底有何区别?何时该用哪个?能否组合使用?

梳理完官方文档与社区讨论后,答案其实很清晰——真正的分界线不在于任务难度,而在于流程是否确定。下面展开分析。

1. 先弄清:它们各自解决什么问题

Workflows:将编排逻辑从聊天上下文中剥离

Dynamic Workflows(随 Claude Opus 4.8 于 2026 年 5 月底推出,目前处于研究预览阶段)的核心目标是解决上下文卸载问题。

以往处理复杂任务时,所有的任务拆分、等待、复核、重做都堆积在主会话上下文里。典型的 ReAct 循环:Claude 思考 → 执行 → 观察 → 再思考 → 再执行。上下文越积越多,质量逐步下降。

Workflows 的做法是将这个循环从聊天上下文中移出,交给一个 JavaScript 脚本来管理:

层级

职责

不负责

Claude(主模型)

编写 workflow 脚本,解释最终结果

逐条阅读所有中间结果

Workflow runtime

执行脚本、管理阶段、保存中间状态

自行判断业务含义

Subagents

读取文件、运行命令、输出结构化结果

决定整个流程走向

换句话说,Claude 不再需要把 20 个 subagent 的中间输出全部装入上下文。它只需要写好脚本,最后查看聚合结果即可。一句话:主会话上下文不再爆炸。

Dynamic Workflows 三层架构示意图Dynamic Workflows 三层架构示意图

图 1:Dynamic Workflows 三层架构 — 编排逻辑从聊天上下文卸载到脚本运行时

/goal:条件驱动的自主循环

/goal 解决的问题有所不同——如何让 Claude 持续运行,直到你满意为止。

核心机制是双模型循环:

  • 你设定一个目标条件(例如:所有 lint 错误已修复,eslint 输出无错误)
  • 主模型执行一轮操作
  • 轻量评估模型(默认 Haiku)独立判断条件是否满足
  • 不满足 → 主模型根据原因进入下一轮;满足 → 循环结束

这里有一个关键设计原则:执行与评估分离。让 Claude 自己判断是否达标并不可靠,因此专门用一个独立的轻量模型来验收。评估模型只能看到会话中明确输出的内容,不能自行运行命令或读取文件,这保证了评估的独立性。

# 基本用法/goal 修复 src 目录下所有 lint 错误,直到 eslint 输出无错误信息

# 非交互式
claude -p "/goal 所有测试通过,npm test 退出码为 0"

几个硬限制(来自社区交叉验证):

  • 条件长度上限 4000 字符
  • 单个会话只支持一个激活目标
  • 评估模型(Haiku)的 token 消耗远低于主模型

/goal 与 Claude Code 中其他几种循环机制也有所不同。/loop 是时间驱动的,按固定间隔执行,适合周期性任务。Stop hook 是配置文件中定义的自动停止条件,覆盖全会话作用域。Auto mode 只是自动审批工具调用,不启动新轮次。而 /goal 是条件驱动的——上一轮完成后,评估模型判定是否达标,达标才停止。这四种机制的适用场景完全不同:

工具

启动下一轮的时机

停止条件

/goal

上一轮完成后

轻量模型确认条件满足

/loop

设定时间间隔到期后

手动停止或 Claude 判断完成

Stop hook

上一轮完成后

自定义脚本或提示词判断

Auto mode

不启动新轮次

Claude 判断单轮任务完成

2. 核心区别:确定性,而非难度

许多人认为 Workflows 用于大型任务,/goal 用于小型任务。这个理解不够准确。

真正的分界线在于流程是否确定。

何时使用 Workflows?

你能够提前画出流程图的任务。例如:

  • PR 审查:安全审查 → 性能审查 → 可读性审查 → 架构审查 → 汇总
  • 批量迁移:读取源文件 → 转换格式 → 写入目标文件 → 运行测试 → 验证结果
  • 深度研究:并行搜索多来源 → 交叉验证 → 合成报告

这些任务有一个共同点:步骤可以提前规划清楚,每步做什么大致确定,中间可能有条件分支但不会太多。

Workflows 提供四种调度形态:

调度形态

适用场景

用错后的后果

Parallel(批处理屏障)

全局去重、多路交叉验证

慢任务拖住整个阶段

Pipeline(流水线)

文件级迁移、批量转换

需要全局视图时遗漏冲突

Loop

反复修复直到无新增、测试失败回滚

终止条件不明确导致空转

Fan-out / Fan-in

大范围搜索后集中汇总

汇总 schema 不稳定会污染结论

而且 Workflows 的脚本不是静态 DAG——它使用命令式 JavaScript。你可以在脚本中写 whileif,根据上一阶段返回的结果临时决定下一阶段开启多少个 agent。流程的形状在运行时动态生成。

// 最小化结构示意
{
  metadata: {
    name: "最小示例",
    description: "演示 Workflow 基本结构"
  },
  agents: [/* 至少调用一次 agent */],
  return: finalResult // 必须返回结果
}

何时使用 /goal?

你能说清楚最终结果的样子,但说不清楚中间需要经过哪些步骤。

典型场景:

  • 自动修复 lint 错误:你知道终点是 eslint 输出干净,但不知道需要修改多少文件、修改几次
  • 重构遗留代码:你知道终点是所有测试通过,但中间可能需要反复调整
  • 质量打磨:你知道终点是性能测试达标,但优化路径不确定

/goal 的价值在于:你只需要描述终点,不需要规划路径。Claude 会自行探索、试错、修正。

何时两者都不用?

社区经验中有一条共识至关重要:

只需要修改一两个文件的任务,直接与 Claude 对话,比设计 workflow 或编写 goal 条件更快。别把简单问题复杂化。

3. 多 Agent 编排的能力梯度

从更宏观的角度看,Claude Code 的多 Agent 编排形成了清晰的能力梯度:

维度

Subagents

Agent Teams

Workflows

编排方式

自然语言临时派发

多角色并行,人工调度

JS 脚本显式声明

可复用性

每次重新描述

无法复用

脚本保存后直接复用

可观测性

有限

可查看

阶段/Agent 状态实时追踪

质量门禁

支持校验阶段

版本管理

脚本可版本控制

核心区别:Skills 解决能力问题(何时调用什么工具),Workflow 解决流程问题(多个 Agent 如何协作、调度、验证、聚合)。

有人可能会问:Workflows 与 n8n、Coze 这类自动化平台有什么区别?

定位完全不同。n8n 是人提前画好流程图让系统执行;Dynamic Workflows 是 Claude 根据当次任务动态生成脚本让 runtime 执行。前者是稳定业务流程的产品化,后者是复杂工程任务的临场拆解。与 LangGraph 也不在一个层面——LangGraph 是生产级 agent runtime,Workflows 是开发者在代码仓库中自行使用的编排工具。

下面是一个深度研究 Workflow 的编排示例,三阶段:并行搜索 → 交叉验证 → 报告合成。

export default {
  metadata: {
    name: "deep-research",
    description: "多来源深度研究 Workflow"
  },
  stages: [
    {
      id: "search",
      description: "并行搜索官方文档、学术论文和社区讨论",
      parallel: true,
      agents: [
        {
          id: "official-docs",
          tools: ["web-search"],
          prompt: "搜索并整理与主题相关的官方文档"
        },
        {
          id: "academic",
          tools: ["web-search"],
          prompt: "搜索相关学术论文和技术报告"
        },
        {
          id: "community",
          tools: ["web-search"],
          prompt: "搜索社区讨论和实战经验"
        }
      ]
    },
    {
      id: "verification",
      dependsOn: ["search"],
      parallel: false,
      agents: [
        {
          id: "fact-checker",
          prompt: "交叉验证搜索结果,标注可信度"
        }
      ]
    },
    {
      id: "synthesis",
      dependsOn: ["verification"],
      agents: [
        {
          id: "report-writer",
          prompt: "基于验证后的素材合成研究报告"
        }
      ]
    }
  ]
};

这个脚本的结构很清晰:搜索阶段三个 agent 并行执行,各自负责不同来源;验证阶段串行执行,进行交叉核验;合成阶段产出最终报告。每个阶段通过 dependsOn 声明依赖关系,runtime 自动管理执行顺序。

4. 如何判断该用哪个?

社区总结了一套四步判断法,实际使用效果不错:

第一步:可拆分吗?

任务能否拆成相对独立的单元?能拆分 → 继续往下看;无法拆分 → 直接对话或用 /goal

第二步:可验证吗?

每一步的结果能否通过编译、测试或规则验证?能验证 → 适合 Workflows;不能验证 → 尝试 /goal

第三步:可收敛吗?

是否需要通过发现、复核、修正逐步逼近答案?需要 → Workflows 的 Loop 或 /goal 的循环均可。

第四步:值得复用吗?

这个流程以后还会再次使用吗?会 → Workflows 写脚本保存;不会 → /goal 更轻量。

Workflows 与 /goal 场景决策流程图Workflows 与 /goal 场景决策流程图

图 2:四步判断法 — 可拆→可验→可收敛→可复用,三个终点分别对应不同工具

举个例子。假设你要把 75 万行代码从 Zig 迁移到 Rust(Bun 项目据说就是这么干的):

  • 流程确定:读取 Zig → 翻译 → 写入 Rust → 运行测试 → 修复错误 → 再次运行测试
  • 结果可验证:编译通过、测试通过
  • 需要收敛:不可能一次翻译完就完全正确
  • 值得复用:类似的迁移流程以后可能还会用到

这就是典型的 Workflows 场景。

但如果你的任务是将某个模块的性能优化到 benchmark 达标,你不确定具体要修改什么、修改几次,那更适合 /goal

5. 协同策略:三个工具如何搭配使用?

实际项目中,Workflows、/goal 和 Auto mode 不必三选一,完全可以组合使用。

组合一:Workflows + 内部 /goal

在 Workflow 的某个阶段内使用 /goal 式的循环逻辑。例如一个代码巡检加自动修复的 Workflow:

  • 阶段一(Parallel):多个 subagent 分别扫描安全、性能、可读性问题
  • 阶段二(Loop):自动修复发现的问题,直到 lint 和 test 全部通过 ← 这里就是 /goal 式的循环
  • 阶段三(Pipeline):生成修复报告

组合二:/goal 触发 Workflows

使用 /goal 设定一个宏观目标,让 Claude 自行决定在执行过程中调用 Workflow。适合那种你清楚要什么结果、但实现路径可能很复杂的场景。

组合三:Auto mode 处理审批

Auto mode 的作用是自动审批工具调用(例如允许运行 npm test),它不启动新轮次,只是让单轮执行更流畅。在长任务的执行过程中开启 Auto mode,可以减少人工介入的频率。

但要注意:Auto mode 不等于无人值守。它只是帮你省掉点击同意这一步,不是帮你做判断。

6. 实战最佳实践

写好 /goal 的条件

这是 /goal 能否高效运行的关键。社区总结的三条原则:

  • 单一可衡量的最终状态:不要写“让代码变好”,而要写“eslint src/ --max-warnings 0 输出无警告”
  • 明确的验证方式:能用命令输出的就用命令,例如“npm test 退出码为 0”
  • 关键约束条件:加上限制,例如“仅修改 test/auth 目录下的文件”

条件写得越具体,评估模型的判定就越准确。条件写得太模糊,要么提前通过(结果不满意),要么永远不通过(空转消耗 token)。

管理好 Workflows 脚本

Workflow 脚本默认存放在临时目录,生命周期只有三天。如果这个流程以后还要用,记得将其复制到 ~/.claude/workflows/ 目录进行持久化。

脚本也可以纳入版本控制。这一点比纯对话式编排强得多——你可以进行 review、diff、回滚,团队中其他人也能直接复用。

六种编排形态速查

除了前面提到的四种调度形态,社区资料还整理出更完整的六种编排模式:

  • 流水线(Pipeline):顺序执行,适合有前后依赖的多步骤任务
  • 同步聚合(Parallel Aggregate):并行执行后汇总,适合多源信息收集
  • 对抗验证(Adversarial Validation):多个 Agent 互相校验结果,提高准确性
  • 提前终止(Early Termination):满足条件就跳过后续阶段,节省资源
  • 累积式(Iterative Enhancement):迭代增强,每轮在上一轮基础上改进
  • 嵌套式(Nested Workflow):工作流套工作流,适合复杂的多层编排

实际使用中,一个 Workflow 往往不是只用一种形态,而是多个形态组合。例如先 Parallel Aggregate 收集信息,再 Pipeline 逐步处理,最后 Adversarial Validation 交叉验证。

启用和版本要求

# 方式一
export ANTHROPIC_WORKFLOW=1
claude

# 方式二
export CLAUDE_CODE_ENABLE_WORKFLOW=true
claude

版本要求:

  • 基础 Workflow:Claude Code V2.1.47 或以上
  • Dynamic Workflows 完整功能:V2.1.154 或以上

触发关键词是 ultra work

上下文管理的心法

无论使用哪种工具,上下文管理都是核心战场。社区反馈中几条被反复提及的经验:

  • CLAUDE.md 不要超过 150 行——太长反而抓不住重点
  • 上下文使用约 50% 时就该执行 compact——别等到满了再压缩
  • 不相关的工作流分开项目——避免上下文污染
  • 完成一个任务就立即提交代码——别攒着

这些不完全是 Workflows 或 /goal 的专属建议,但多 Agent 编排时格外重要——信息量增大,上下文更容易崩。

Claude Code 多 Agent 编排最佳实践总结Claude Code 多 Agent 编排最佳实践总结

图 3:多 Agent 编排最佳实践 — /goal 条件三原则、六种编排形态、上下文管理心法、落地三步走

7. 常见误区

整理社区讨论时,有几个坑大家踩得比较集中。

误区一:验收条件写不好

这是 /goal 新手常见的坑。条件写得太宽泛,比如“代码质量达到生产级别”,评估模型根本无法判断。结果要么早早通过,要么无限循环。

解法:条件里一定要有可量化、可验证的终点。命令退出码、测试覆盖率数字、lint 输出内容,这些都是好的验收标准。“代码看起来不错”不是。

误区二:不该自动化时硬上

并非所有任务都适合 Workflows 或 /goal。支付逻辑、安全策略、权限模型这类高风险代码,直接让 Agent 自动修改非常危险。社区也有人提到,需要频繁中途拍板的探索任务也不适合完全自动化。

解法:高风险任务拆成小步,每步人工确认。或者使用 Workflows 的校验阶段,在关键节点暂停等人审批。注意,Workflow 运行中不接受普通人工输入,所以需要签核的任务应该拆成多个 workflow。

误区三:token 成本失控

多 Agent 编排的 token 消耗会比普通对话明显高出不少。每个 subagent 都是独立的模型调用,16 个并发就是 16 倍的消耗。虽然 Haiku 评估模型的消耗很低,但主模型的消耗是实打实的。

解法:

  • 先在低风险任务上试运行,观察实际消耗
  • Loop 类任务一定要设置好终止条件
  • 不是非得 16 并发的就少开几个 agent
  • 对于探索性任务,先用普通对话试一轮,确定方向后再上 Workflow

误区四:上下文管理不当

用了 Workflows 就不管上下文了?不是。Workflow 解决的是编排过程中的上下文卸载,但不等于你可以无限堆任务。单次运行最多 1000 个 agent,跨会话不可恢复——退出后不能原地续跑。

解法:大任务拆成多个 workflow。每个 workflow 聚焦一个明确的子目标,跑完看结果再决定下一步。

8. 落地建议:先治理,再扩大

如果你准备在项目中开始使用 Workflows 和 /goal,社区建议的落地路径分为三步:

第一步:低风险任务试跑

使用 /deep-research 做信息收集,或者用 Workflow 做小范围的代码巡检。这些任务风险低,即使结果不理想也不会造成破坏。主要目的是熟悉工具的脾性和边界。

第二步:沉淀有效模板

运行几次之后,把确实有效的流程沉淀成 Workflow 模板。安全审计模板、release 检查模板、代码迁移模板——这些都可以在团队内共享。

第三步:上大任务

有了经验和模板之后,再把大迁移、大审计这类任务交给 Workflow。这时你对工具的边界、token 消耗、常见坑点都有了体感,出问题的概率小很多。

你在项目中用过 Workflows 或 /goal 吗?体验如何?欢迎在评论区聊聊实际踩过的坑。

总结

说到底,Claude Code 的多 Agent 编排为开发者提供了三种不同粒度的工具:

  • Subagents:最轻量,适合临时派发
  • /goal:中等,适合“我知道终点但不知道路径”的自主循环
  • Workflows:最重,适合流程确定、需要编排和复用的大规模任务

选哪个不取决于任务大小,而取决于你对流程的确定程度。流程确定 → Workflows;终点确定但路径不确定 → /goal;都不确定 → 先用普通对话探索。

别急着把所有任务都自动化。先用好基础能力,再逐步引入编排工具。先学会治理,再扩大半径。

相关资源

Claude Code 官方文档:https://docs.anthropic.com/en/docs/claude-code

Claude Code GitHub 仓库:https://github.com/anthropics/claude-code

来源:互联网

免责声明

本网站新闻资讯均来自公开渠道,力求准确但不保证绝对无误,内容观点仅代表作者本人,与本站无关。若涉及侵权,请联系我们处理。本站保留对声明的修改权,最终解释权归本站所有。

同类文章推荐

相关文章推荐

更多