Claude Code 学习站

Claude Code 动态工作流:按需定制的多代理工具集

摘要 Anthropic 官方博文,介绍 Claude Code 如何按任务动态生成多代理工作流,涵盖设计模式、应用场景与实践建议。

本页目录8
要点速览
  • 动态工作流是 Claude 为特定任务临时编排的多代理脚本,可跑 JavaScript 协调子代理、指定模型、启用工作树隔离,并支持中断后恢复
  • 单一上下文窗口容易出现「代理偷懒」「自我偏好偏差」「目标漂移」等问题,拆分给多个各自聚焦的子代理可以缓解
  • 六种通用设计模式:分类执行、扇出综合、对抗性验证、生成过滤、竞赛模式、循环至完成
  • 典型应用包括大规模迁移重构、深度研究(`/deep-research`)、事实核查、千条目排序、规则遵守检查、根因调查、模型路由等
  • 工作流会消耗更多 token,不适合日常编码任务;可用「ultracode」触发词、结合 `/goal`、`/loop`、token 预算提示词来控制使用方式,并可保存到 `~/.claude/workflows` 复用分享

本文是对 Anthropic 官方博文「A harness for every task: dynamic workflows in Claude Code」的中文要点摘要,完整内容以原文为准:https://claude.com/blog/a-harness-for-every-task-dynamic-workflows-in-claude-code

这篇文章讲了什么

Claude Code 现在可以针对具体任务,动态创建一套定制化的工具集——即让 Claude 自动编排一个多代理系统(multi-agent workflow)来完成复杂工作,而不是在单一对话上下文里一路做到底。文章作者是 Anthropic 的 Thariq Shihipar 和 Sid Bidasaria。

典型使用场景

文章给出了一组例子,展示动态工作流适合处理哪类任务:

  • 复现间歇性(flaky)测试失败,并让多个代理分别提出、验证不同的根因假设
  • 从历史会话记录中提炼出代码审查规则
  • 挖掘一次 Slack 事故的根本原因
  • 分别从投资人、客户、竞争对手的视角审视一份商业计划
  • 处理 80 份简历的排序与面试筛选
  • 让多个方案「竞赛」式地为一个工具命名并评审
  • 逐条核实一篇博客文章中的技术性声明是否准确

这些任务的共同点是:规模较大、需要多角度判断,或者需要相互验证——单靠一次对话很难又快又稳地做完。

工作原理

动态工作流本质上是一段 JavaScript 脚本,其中包含专门用来生成(spawn)和协调子代理的函数。脚本里可以用标准 JS 能力(JSONMathArray 等),可以为某个阶段指定特定模型,可以用工作树(worktree)隔离并行改动,并且在被中断后能够恢复继续执行。

为什么要拆成多代理,而不是一个大上下文

单一上下文窗口跑到底,容易出现三类问题:

  1. 代理偷懒(agentic laziness)——多步骤任务没做完就宣称完成
  2. 自我偏好偏差(self-preferential bias)——倾向于认可自己刚生成的结果,缺乏真正的外部审视
  3. 目标漂移(goal drift)——长对话里,早先设定的约束条件逐渐被忽略或遗忘

把任务拆给多个各自独立、目标聚焦、上下文干净的子代理,可以有效缓解上述问题。

六种通用设计模式

模式说明
分类执行(Classify-and-act)先用一个分类器代理判断任务类型,再路由到对应处理逻辑
扇出综合(Fan-out-and-synthesize)把任务拆成多个子任务并行处理,再综合各自结果
对抗性验证(Adversarial verification)用独立的验证代理去检查/挑刺主任务的输出
生成过滤(Generate-and-filter)先生成一批候选想法,再按标准筛选
竞赛模式(Tournament)多个代理各自完成同一任务,择优选择
循环至完成(Loop-until-done)反复循环执行,直到满足预设的停止条件

具体应用举例

  • 迁移与重构:文章提到 Bun 项目用工作流把代码从 Zig 重写为 Rust
  • 深度研究:对应内置技能 /deep-research,负责扇出搜索、抓取来源、交叉验证、最终综合成报告
  • 事实核查:先识别文本中的可验证声明,再逐条核实
  • 大规模排序:对上千条目通过竞赛或分桶并行处理
  • 规则遵守检查:为每条规则单独配一个验证代理,减少误报
  • 根因调查:并行生成多个假设,克服「自我偏好偏差」
  • 大规模分类:支持去重与自动化处理
  • 方案探索与评审:基于给定标准做多方案探索和评价
  • 轻量级评估:在隔离的工作树里跑多个代理输出并做对比
  • 模型路由:先用分类器判断任务复杂度,再决定调用 Sonnet 还是 Opus

使用限制与实践建议

工作流会比常规一次性对话消耗更多 token,并不适合日常的简单编码任务,更适合规模大、需要多角度或多次验证的工作。官方给出的实践建议包括:

  • 写清楚的提示词:具体说明所用的技术方案,能显著提升工作流质量
  • 和其他命令组合:可以与 /goal/loop 搭配,用于处理需要反复执行的任务
  • 设置 token 预算:在提示词里写明类似「use 10k tokens」的上限,控制成本
  • 保存与复用:按 s 键可把工作流保存到 ~/.claude/workflows,也可以打包成技能分发给团队
  • 触发词:在提示词中包含「ultracode」,可以确保 Claude 选择以工作流方式来处理任务

小结

官方把动态工作流定位为探索 Claude 新能力的一个「有用起点」,同时坦言相关最佳实践仍在演进中,鼓励开发者结合自己的场景大胆尝试。