你必须了解的Claude Code 动态工作流最佳实践:Anthropic 工程师的内部方法论
公众号名称:程叙架构与AI.
作者名称:AI兴观点
发布时间:2026-06-03 09:38
原文链接:https://x.com/trq212/status/2061907337154367865
✅点击上方🔺公众号🔺关注我✅

上周 Claude Code 发布了一个重要更新:动态工作流(Dynamic Workflows)。Claude 现在能即时生成自定义”操控框架”,针对当前任务量身定制执行策略。
Anthropic 的 Thariq Shihipar 和 Sid Bidasaria 在 X 上发表了一篇长文,详细拆解了这项能力的原理、使用场景、常见模式和最佳实践。文章信息量很大,我翻译整理了一下,方便中文读者理解。
什么是动态工作流
默认情况下,Claude Code 的操控框架是为编码任务设计的。但很多非编码任务——比如代码审查、安全分析、深度研究——也需要特殊框架才能在 Claude Code 里达到最优效果。
动态工作流的核心思想很简单:Claude Code 自己写自己需要的框架,不需要你手动预设。
具体来说,动态工作流执行一个 JavaScript 文件,包含几个特殊函数来生成和协调子代理:
- 并行执行:同时跑多个子任务
- 路由决策:根据分类结果分发任务
- 对抗验证:让不同代理互相检查
- 锦标赛排序:多个方案竞技比优劣
让 Claude 选择自己需要多强的智能和隔离级别。

如果工作流被中断(比如用户操作退出终端),恢复后能从中断处继续。
为什么需要动态工作流
在默认的 Claude Code 框架里,规划和执行在同一个上下文窗口完成。这对大多数编码任务非常高效,但在长时间、大规模并行或高度对抗性的任务中会出问题:
代理式懒惰:Claude 可能在完成复杂任务中途停下来,声称做完了。比如一个安全审查列出了 50 项,它只处理了 20 项就提交了。
自我偏好偏差:Claude 倾向于喜欢自己的结果。当让它按标准评估自己产出时,客观性会打折扣。
目标漂移:在大量轮次交互中,原始目标逐渐走样。每次上下文压缩都有信息损失。
工作流通过协调多个独立的 Claude 实例来解决这些问题——每个实例有自己的上下文窗口和明确、隔离的目标。
动态 vs 静态工作流
以前你可以用 Claude Agent SDK 或 claude -p 创建静态工作流——一套固定的脚本框架。
但因为静态工作流必须覆盖所有边界情况,通常比较通用。Claude Opus 4.8 + 动态工作流最大的不同是:Claude 现在足够聪明,能针对你的具体需求写一个量身定制的框架。

六种核心模式
Claude 在构建工作流时会组合使用几种模式:
1. 分类后执行:用一个分类代理决定任务类型,然后路由到不同的处理代理。也可以在最后用分类代理决定输出格式。
2. 扇出后合成:把大任务拆成许多小步骤,每个步骤跑一个独立代理,最后合成为一个结果。特别适合大量小步骤的场景——每个步骤有自己干净的上下文窗口,不会互相干扰。合成步骤是一个屏障——等所有扇出的代理完成后,再把结构化输出合并。

3. 对抗验证:对每个生成的代理,再开一个独立代理按标准对抗性验证它的输出。
4. 生成后过滤:先在一个主题上生成一批想法,然后用规则过滤、去重,只保留最高质量的结果。
5. 锦标赛:让多个代理用不同方法各自尝试同一个任务,然后评分代理两两比较,直到决出胜者。
6. 循环至完成:对于工作量不明确的任务(比如直到找不到新错误或日志里没有更多错误),持续生成代理工作,而不是预设固定重复次数。

适用场景
迁移和重构:把任务拆成一系列步骤(调用点、失败测试、模块),每个修复开一个子代理在工作区执行,再让另一个代理对抗性审查,最后合并。关键技巧:告诉代理不要用资源密集型命令,这样能最大程度并行而不耗尽机器资源。
深度研究:Claude Code 内置的 /deep-research skill 就用了动态工作流。它扇出搜索、抓取来源、对抗验证声明,然后合成带引用的报告。类似的逻辑也适用于从 Slack 整理状态报告,或深入探索代码库理解功能。
深度验证:如果你有一份报告需要逐项验证事实,可以设计一个工作流:一个代理识别所有事实声明,然后每个声明开一个子代理详细核查,再用一个验证代理检查来源代理的引用质量。

排序:比如给成百上千张工单按严重程度排序。直接在一个提示里排 1000 行质量会下降。改用锦标赛——两两比较的代理管道(对比判断比绝对评分更可靠),或者桶排序再加合并。每次比较是一个独立代理,只有当前排名顺序在上下文中。

规则记忆与执行:如果你发现 Claude 总在某些规则上犯错(即使写在 CLAUDE.md 里),创建一个工作流:为每条规则配一个验证代理。再建一个怀疑型子代理审查规则本身,避免误报。反过来也行:挖掘最近的会话和代码审查记录,把重复错误聚合成新的 CLAUDE.md 规则。

根因调查:调试最好的方法是提出多个独立假设并逐一验证。但只有一个上下文窗口时,Claude 容易陷入自我偏好偏差。工作流从结构上解决这个问题:分别从日志、文件、数据三个角度各生成一个假设代理,每个假设再面对一组验证者和质疑者。不只是代码——也适用于销售分析、数据管道排障。
大规模分类:每个团队都有支持队列、缺陷报告,人力处理不过来。一个分类工作流可以对每条进行归类、去重、采取行动——直接修复或升级给人类。一个有用的模式是隔离:读取不可信内容的代理不能执行高权限操作。把分类工作流和 /loop 结合,可以让 Claude 持续运行。

探索和审美判断:当解决方案需要审美判断时(如设计、命名),工作流特别有用。让 Claude 探索多种方案,给评审代理一个评价标准。当评审代理认为满足条件时任务完成。也可以通过锦标赛按标准排序方案。
轻量评估:在工作区独立跑评估代理,再用对比代理按标准评分。适用于评估和完善你创建的 skill。
模型和智能路由:创建一个分类代理,让它先研究任务复杂度,再决定用 Sonnet 还是 Opus。比如”解释认证模块怎么工作”这个任务——具体要看认证模块有多少文件、代码结构怎样。分类代理做完研究后再路由。
什么时候不该用
工作流是新的。虽然很多场景效果显著,但不是所有任务都需要。它会消耗显著更多的 token。
最好创造性地用工作流突破 Claude Code 的边界。对于常规编码任务,先问自己:真的需要更多算力吗? 大多数传统编码任务不需要 5 个评审代理。
Tips
提示词要详细:针对具体场景描述模式,效果最好。
配合 /goal 和 /loop:可重复的任务(分类、研究、验证)配上 /loop 定期执行,配 /goal 设置硬性完成条件。
设置 token 预算:可以限定工作流的 token 上限,比如”用 10k tokens”。
保存和分享:按 s 保存工作流,文件在 ~/.claude/workflows。
想通过 skill 分享?把 JavaScript 工作流文件放进 skill 文件夹,在 SKILL.md 里引用。为了灵活性,可以把工作流视为模板而非必须逐字执行的脚本。
新世界
工作流是扩展 Claude Code 能力的新方式。用文章里的模式创造性地思考——发现问题、设计工作流、迭代优化。还有很多使用方法等待社区的发现。
如果觉得这篇文章有帮助,欢迎点赞、在看、转发!有问题也可以在评论区留言,我会尽量回复!
内容效果不满意?点此反馈