原文标题:Introducing dynamic workflows in Claude Code

本文完全由有道龙虾自动翻译和发布。

原文链接:https://claude.com/blog/introducing-dynamic-workflows-in-claude-code

配图

今天,我们在 Claude Code 中推出动态工作流,帮助 Claude 端到端处理最具挑战性的任务。过去通常需要按季度规划的工作,现在可以在几天内完成。Claude 会动态编写编排脚本,在单个会话中运行数十到数百个并行子代理,并在任何内容交付给你之前先检查自己的工作。

有些问题太大,无法靠单个代理一次性完成,尤其是在复杂的遗留代码库中:比如跨整个服务追踪 bug、涉及数百个文件的迁移,或者在你决定采用某个方案之前,希望从各个角度对它进行压力测试。动态工作流可以端到端处理所有这些情况。

配图

动态工作流今天已作为研究预览版在 Claude Code CLI、Desktop 和 VS Code 扩展中开放,适用于 Max、Team 和 Enterprise(需管理员启用)计划用户;同时也可通过 Claude API、Amazon Bedrock、Vertex AI 和 Microsoft Foundry 使用。

注意:动态工作流可能比典型的 Claude Code 会话消耗多得多的 token,因此我们建议从一个范围明确的任务开始,先感受它在你工作中的用量情况。

为了获得最佳体验,使用动态工作流时请开启自动模式。之后,你有两种方式可以启动一个工作流:

  1. 直接要求 Claude 创建一个动态工作流,例如“Create a workflow”。
  2. 打开一个新的 Claude Code 专属设置:ultracode。它可以通过 effort 菜单访问,会将努力级别设为 xhigh,同时让 Claude 自动决定何时使用工作流来处理你的任务。

动态工作流实战

Anthropic 内部的早期访问用户和团队已经在广泛场景中使用动态工作流,包括:

  1. 全代码库 bug 搜索、由 profiler 指导的优化审计,以及安全审计: Claude 会并行搜索一个服务或仓库,然后对每个发现运行独立验证,确保报告中浮现的是真实问题。同样的模式也适用于加固工作:在整个代码库中检查认证、输入验证和不安全模式。
  2. 大型迁移和现代化改造: Claude 可以端到端处理框架替换、API 废弃迁移,以及跨数千个文件的语言移植。
  3. 你需要反复核查的关键工作: 当错误答案代价很高时,一个工作流可以让 Claude 对问题进行独立尝试,并让对抗性代理在你看到结果之前先努力打破它。

用动态工作流重写 Bun

动态工作流在规模化场景中能解锁什么,一个例子是最近对 Bun 的重写。Jarred Sumner 使用动态工作流将 Bun 从 Zig 移植到 Rust,现有测试套件通过率达到 99.8%,生成了大约 75 万行 Rust 代码,并且从第一次提交到合并只用了 11 天。

其中一个工作流为 Zig 代码库中每个结构体字段映射合适的 Rust lifetime。下一个工作流将每个 .zig 文件编写为行为一致的 .rs 移植版本,数百个代理并行工作,并且每个文件都有两个审查者。随后,一个修复循环持续驱动构建和测试套件,直到两者都能干净运行。移植落地后,一个通宵工作流又处理了不必要的数据拷贝,并为每一项改动打开 PR 供最终审查。

虽然这还没有进入生产环境,但所有这些工作都是由动态工作流完成的。Jarred 未来会写更多关于这件事的内容。

它是如何工作的

当一个工作流启动时,Claude 会根据你的提示动态规划,将任务拆分为子任务,并把工作分发给并行运行的子代理。结果会先被检查,再汇总进来;最终你会得到一个统一协调后的答案。

代理会从独立角度处理问题,其他代理会尝试反驳它们的发现,整个运行会不断迭代,直到答案收敛。这就是工作流能够达到单次执行无法达到结果的方式。

动态工作流是为并行、长时间运行的工作设计的,可以持续数小时甚至数天,完成过去可能需要数周的复杂工程任务。进度会在运行过程中保存,因此如果任务被中断,它会从中断处继续,而不是从头开始。由于协调发生在对话之外,无论任务多大,计划都能保持在轨道上。

需要注意的是,动态工作流会比典型 Claude Code 会话消耗明显更多的用量。第一次触发工作流时,Claude Code 会展示即将运行的内容,并要求你确认。组织管理员也可以通过托管设置选择禁用工作流。

开始使用

如果你使用的是 Max 或 Team 计划,或者通过 API 使用 Claude Code,动态工作流默认开启。你可以要求 Claude 创建一个工作流,或者开启 Claude Code 专属设置 ultracode 来开始使用。

如果你使用的是 Enterprise 计划,动态工作流在发布时默认关闭。你的管理员可以在 Claude Code 的设置中轻松更改这一点。

阅读文档了解更多。