


上周,我们在 Claude Code 中发布了动态工作流。Claude 现在可以即时编写自己的工具框架,为手头的任务量身定制。
虽然默认的 Claude Code 工具框架是为编码构建的,但它对许多其他类型的任务也很有用,因为事实证明许多任务类似于编码任务。但某些类别的任务需要我们在 Claude Code 之上构建自定义工具框架才能实现最佳性能,例如研究、安全分析、Agent 团队或代码审查。
工作流允许你动态创建构建在 Claude Code 之上的工具框架,使 Claude 能够更原生地解决所有这些问题。你还可以与他人分享和复用这些工作流。
动态工作流如何工作
动态工作流执行一个 JavaScript 文件,其中包含几个特殊函数用于生成和协调子 Agent。动态工作流还可以决定 Agent 使用哪些模型以及子 Agent 是否在自己的工作树中运行。
为什么需要动态工作流
当你要求默认的 Claude Code 工具框架做一项任务时,它需要在同一个上下文窗口中同时规划和执行。Claude 在单个上下文窗口中处理复杂任务的时间越长,就越容易受到几个特定失败模式的影响:
- Agent 惰性 指 Claude 在完成特别复杂的多部分任务之前停下来,在部分进展后就宣布工作完成。
- 自我偏好偏差 指 Claude 倾向于偏好自己的结果或发现,尤其是在被要求对照标准验证或评判它们时。
- 目标漂移 指在多个回合中逐渐丧失对原始目标的忠实度。
创建工作流有助于通过编排具有自己上下文窗口和专注、隔离目标的独立 Claude 子 Agent 来对抗这些问题。
动态工作流的模式
分类后行动
使用分类器 Agent 决定任务类型,然后根据任务路由到不同的 Agent 或行为。
扇出后综合
将任务拆分为许多更小的步骤,对每个步骤运行一个 Agent,然后综合这些结果。
对抗性验证
对每个生成的 Agent,运行一个单独的生成 Agent 来对抗性地验证其输出。
生成后过滤
生成一些想法然后按标准过滤,去重并只返回最高质量的经过测试的想法。
锦标赛
让 Agent 竞争而不是分工。生成 N 个使用不同方法尝试相同任务的 Agent。
循环直到完成
对于未知工作量的任务,循环生成 Agent 直到满足停止条件。
用例
迁移和重构
Bun 使用工作流从 Zig 重写为 Rust。
深度研究
我们发布了使用动态工作流的深度研究技能(/deep-research)。
深度验证
对于需要检查和溯源每个事实声明的报告。
排序
对于你想按某种定性指标排序的项目列表。
记忆和规则遵守
为你发现 Claude 遗漏或难以遵守的特定规则集创建工作流。
根因调查
调试效果最好当你提出几个独立的假设并测试它们。
大规模分诊
每个团队都有一个支持队列、错误报告或一些其他无法由人类完全处理的后台积压。
什么时候不该使用动态工作流
工作流是新的。虽然有许多用例可以产生巨大成果,但并非每个任务都需要它们,可能最终使用显著更多的 token。
构建动态工作流的技巧
详细的提示创建最好的结果。工作流不仅适用于大型任务。你可以提示模型使用"快速工作流"。将可重复的工作流与 /loop 和 /goal 配对使用。
你可以通过在工作流菜单中按 "s" 来保存工作流。你可以通过技能分享它们。
本文由 Anthropic Claude Code 团队的技术团队成员 Thariq Shihipar 和 Sid Bidasaria 撰写。