前言

如果你曾让 Claude Code 处理一个复杂的大型任务,可能会遇到这三种情况:它干到一半就“偷懒”停下了、它固执地偏爱自己的方案、或者聊着聊着就忘了最初要做什么。这就是 Claude 在单上下文窗口中长期运行时常出现的目标漂移自我偏好提前终止问题。

现在,Claude Code 推出了一项全新特性——动态工作流(Dynamic Workflows),它让 Claude 从一个“聊天助手”进化为“真正的 AI 工程团队负责人”。本文将带你从零理解这项功能,并给出完整的项目落地流程。


一、什么是动态工作流?

一句话定义:动态工作流是一个“任务总指挥”——它会针对你的复杂目标,自动生成一份严谨的 JavaScript 执行方案,然后调度最多 1000 个 AI 专家(子智能体)并行协作,直到目标达成为止。

1.1 它解决了什么问题?

失败模式 表现
智能体偷懒 在多步骤任务中,Claude 只取得部分进展就宣布完成
自我偏好偏差 要求依据标准评判自己的结果时,Claude 总给自己打高分
目标漂移 经过多轮对话或上下文压缩后,原始要求逐渐丢失

动态工作流通过多智能体编排,让每个子智能体拥有独立的上下文窗口和聚焦的目标,有效对抗上述问题。

1.2 与普通 AI 助手的区别

方面 普通 AI 助手 动态工作流
工作方式 单打独斗,容易目标漂移 先规划脚本,再并行调度多个专家,后台持续运转直到问题彻底解决
可恢复性 会话中断后需从头开始 内置持久化,中断后可从中断点恢复
最终成果 直接给出答案 提供经过跨领域验证的分析报告和方案

💡 Claude Code 目前有四种协作模式:Session(单会话)、Sub‑agents(带几个干将)、Agent Teams(管理层开会)、Dynamic Workflows(任务总指挥)。动态工作流是最高阶形态。


二、核心运行机制

2.1 “大脑”——任务规划师

当你发出自然语言指令后,Claude 不会直接干活,而是先扮演“总指挥”和“脚本作者”,将你的目标转化为一份可执行的 JavaScript 编排脚本。这份脚本可以包含循环、分支、并行逻辑,甚至调用子智能体。

2.2 “双手”——AI 专家团队

脚本执行时,运行时系统会立即调度一批子智能体并行执行任务:

  • 最多可调度 1000 个 子智能体
  • 同一时间最多并行运行 16 个
  • 每个子智能体聚焦自己的细分领域,独立消耗 token

2.3 工作流程图

是,成功

是,确认执行

否,继续迭代

⚙️ 运行时系统执行

按脚本逻辑调度 AI

并行执行具体任务

收集汇总中间结果

👤 用户发指令

🧠 “规划师” 生成 JS 编排脚本

用户确认脚本

🎯 目标是否达成?

✅ 任务完成


三、典型使用场景与实例

3.1 规划与需求分析

示例 Prompt:“创建一个工作流,并行分析 src/ 下所有核心业务模块,总结每个模块的功能、依赖关系和潜在的代码坏味,最后生成一份结构化的分析报告。”

工作流会并行探索整个代码库,而不是逐个文件阅读。

3.2 编码实现——大规模重构

示例 Prompt:“将项目中所有旧的 fetch() 调用迁移到新的 HttpClient。”

Claude 生成工作流,将数百个文件分配给多个子智能体并行修改,完成后自动运行测试验证。

3.3 质量保证——对抗性审查

示例 Prompt:“创建一个红队/蓝队工作流。一个子智能体实现新功能,另一个子智能体扮演攻击者,尝试找出 Bug 和安全漏洞。”

3.4 标杆案例:75万行代码的跨语言迁移

Bun 的创始人 Jarred Sumner 使用动态工作流将 Bun 运行时从 Zig 迁移到 Rust:

  • 产出 约 75 万行 Rust 代码
  • 测试套件通过率 99.8%
  • 整个过程(首次提交到合并)仅用 11 天

工作分配策略:

  • 一个工作流负责 Rust 结构字段的生命周期规划
  • 多个工作流并行转换每个 Zig 文件
  • 一个专门的工作流持续驱动“修复循环”
  • 还有一个夜间运行的工作流,自动寻找并消除不必要的内存拷贝

四、完整使用方法(项目落地流程)

4.1 准备阶段:环境与规范

✅ 1. 安装与升级 Claude Code

确保版本在 v2.1.154 或以上。

claude --version
✅ 2. 启用动态工作流

动态工作流目前是“研究预览版”功能,需要手动开启:

方法一:环境变量(推荐)

export CLAUDE_CODE_WORKFLOWS=1
claude

⚠️ 如果使用 settings.json,务必确保值是字符串 "1" 而不是数字 1

方法二:对话内启用
在 Claude Code 中输入 /config,在设置界面找到“Dynamic workflows”选项并开启。

验证启用状态:输入 /workflows 命令,如果能打开监控界面即表示成功。

✅ 3. 项目知识沉淀
  • CLAUDE.md:放在项目根目录,定义项目结构、编码规范、常用命令等硬性约束。工作流会自动读取并遵循。
  • Skills:将可复用的复杂任务流程(如“创建一个新的 React 组件”)打包成技能,Claude 遇到相关任务时可自动调用。
✅ 4. 配置 Hooks 自动化守护

.claude/hooks.json 中定义钩子:

{
  "PreToolUse": [
    {
      "tool": "Bash",
      "command": "bash .claude/hooks/block-dangerous-commands.sh"
    }
  ],
  "PostToolUse": [
    {
      "tool": "Write",
      "command": "npx prettier --write $CLAUDE_FILE_PATH"
    }
  ]
}

常用钩子:

  • 安全守卫:拦截 rm -rf / 等危险命令
  • 代码质量门禁:自动格式化、运行 lint
  • 任务完整性检查:强制要求所有测试通过才能判定完成

4.2 执行阶段:开发流水线

📌 触发工作流

直接向 Claude 描述你的目标,要求“创建一个工作流”。例如:

“使用工作流,浏览我最近 50 次会话,挖掘我反复做出的修正,并把重复出现的修正变成 CLAUDE.md 规则。”

📌 审查脚本并执行

Claude 会生成一个 JavaScript 脚本供你确认。仔细审查,确保没有恶意操作后,输入 y 执行。

📌 实时监控

输入 /workflows 打开监控面板,可以查看每个子智能体的状态和 token 消耗。

📌 结果不满意?

可以随时中断(Ctrl+C),然后要求 Claude 调整脚本或重新规划。

4.3 存档与复用

成功的脚本文件会被保存在:

  • 项目级:.claude/workflows/
  • 用户级:~/.claude/workflows/

你可以随时调用已有的工作流:

“调用 deep_research 这个工作流,分析一下新引入的支付模块的安全漏洞。”


五、成本与限制

💰 Token 消耗

动态工作流会显著增加 token 使用量,可能是普通会话的 数倍到几十倍。因为每次运行都会生成脚本,并调用多个独立的子智能体。

控制成本小技巧:利用环境变量进行“成本隔离”。例如,将消耗 token 较多的子智能体配置为使用更经济的模型(如 DeepSeek-V3),主智能体保留最强的模型。

export CLAUDE_SUBAGENT_MODEL_MAP='{"explorer":"deepseek-v3","summarizer":"claude-3.5-sonnet"}'

⚠️ 当前限制

限制项 说明
预览阶段 功能仍在积极开发中,可能存在 bug
安全漏洞历史 早期版本存在长链子命令绕过安全确认的问题,请保持更新
脚本有效期 早期版本生成的临时脚本仅保留 3 天
并非万能 简单任务使用动态工作流反而浪费资源,适合大规模、可分解的复杂场景
权限要求 Pro 用户需手动开启;Max / Team / Enterprise 默认开启

六、总结

动态工作流是 Claude Code 从“对话式 AI”迈向“真正的 AI 工程团队负责人”的关键一步。它通过动态生成 JavaScript 编排脚本、调度大量子智能体并行工作,有效解决了长上下文任务中的偷懒、偏见和目标漂移问题。

如果你正在处理以下任务,强烈建议尝试动态工作流:

  • 大规模代码迁移或重构(数百个文件以上)
  • 跨多个仓库的同步修改
  • 复杂的根因分析(需要并行探索多种假设)
  • 自动化质量保障(红蓝对抗、边缘情况挖掘)

当然,也要注意它的 token 成本和学习曲线。建议先在非关键的小型实验任务上熟悉流程,再逐步应用到核心项目中。


参考资料

本文根据公开资料和社区实践经验整理,如有更新请以官方文档为准。

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐