AI HOT 精选

Claude Code新增动态工作流功能

8.5内容质量
Claude Code新增动态工作流功能

TL;DR · AI 摘要

Claude Code推出动态工作流功能,允许用户通过JavaScript文件自定义任务处理流程,实现多智能体协作与资源隔离,显著提升复杂高价值任务的完成质量。

核心要点

  • 支持多种类型的任务自动化
  • 提高复杂任务执行效率和准确性
  • 可通过共享复用优化后的解决方案

结构提纲

按章节快速跳转。

  1. 动态工作流使Claude能够根据任务需求即时构建定制化处理框架

  2. 涵盖科研分析、安全审查等多种专业领域任务处理

  3. 通过分离规划与执行阶段降低常见错误发生率

  4. 适合高价值复杂任务,但会消耗更多计算资源

思维导图

用一张图看清主题之间的关系。

查看大纲文本(无障碍 / 无 JS 友好)
  • Claude Code动态工作流
    • 核心特性
      • 按需创建专用处理流程
    • 适用场景
      • 科学研究
      • 安全漏洞检测
    • 技术优势
      • 多代理协同作业
      • 状态自动保存与恢复

金句 / Highlights

值得收藏与分享的关键句。

#AI工具#自动化#编程助手
打开原文

以下是根据您的要求转换的文本:

标题:为每项任务打造专属工具链:Claude Code中的动态工作流

来源 URL:https://claude.com/blog/a-harness-for-every-task-dynamic-workflows-in-claude-code

发布日期:2026年6月2日

Markdown内容: 上周,我们发布了Claude Code中的动态工作流功能。Claude现在可以实时编写专属工具链,专为手头的任务量身定制。

虽然默认的Claude Code工具链是为编码设计的,但它对于许多其他类型的任务也很有用,因为许多任务实际上与编码任务很相似。但确实有一些特定类型的任务,我们需要在Claude Code之上构建自定义工具链才能达到最佳性能,例如研究安全分析代理团队代码审查

工作流允许您动态创建Claude Code基础上的工具链,使Claude能够更原生地解决这些问题。您还可以与其他用户共享和重用这些工作流。

在本文中,我将介绍我在使用工作流方面的经验教训,以便您能够充分利用它们。请注意,最佳实践仍在发展:动态工作流通常会使用更多标记,并最适合复杂且价值较高的任务。

示例提示 在深入技术细节之前,我想先通过几个示例提示来激发您对工作流可能性的思考:

“此测试可能每 50 次运行失败 1 次。编写一个工作流以重现它。提出关于竞争理论的见解,直到其中一个理论经受住证据的考验。”

“使用工作流,回顾我最后 50 个会话,并从中提炼出我反复犯的错误,然后将这些常见的错误转化为 CLAUDE.md 规​​则。”

“使用工作流浏览过去六个月Slack中#incidents频道的内容,找出没有Ticket的重复根本原因。”

“采用我的商业计划,运行一个工作流,让不同的代理从投资者、客户和竞争对手的角度对其进行剖析。”

“这是包含 80 份简历的文件夹,使用工作流按后端职位对它们进行排名,并仔细检查前十名。使用AskUserQuestion工具针对评分 Rubric 进行面试。”

“我需要为这个 CLI 工具命名。使用工作流生成大量选项并运行锦标赛选择前 3 名。”

“使用工作流将我们的 User 模型 everywhere 都重命名为 Account。”

“浏览我草稿博客文章并使用工作流验证所有技术声明,确保代码库中的内容正确无误。”

如何使用动态工作流 动态工作流执行一个带有几个特殊函数的 JavaScript 文件,这些函数有助于启动和协调子代理

图 1
图 1

动态工作流还包括标准 JavaScript 函数,如 JSON、Math 和 Array,用于处理数据。

值得注意的是,动态工作流可以选择代理使用的模型以及子代理是否在其自己的工作区运行,从而允许Claude选择所需的智能级别和隔离级别。

如果工作流被中断,例如由于用户操作或退出终端,恢复会话将允许工作流从停止处继续。

为什么要使用动态工作流 当您要求默认Claude Code工具链执行一项任务时,它需要在同一上下文窗口内进行规划和执行。对于许多编码任务,这是非常有效的,但在长时间运行、大规模并行、高度结构化和/或对抗性任务中,它可能会失效。

这是因为Claude在单个上下文窗口内长时间执行复杂任务时,容易出现几种特定的故障模式:

  • 自主偷懒指的是Claude在完成部分进展后停止工作,就认为任务已完成,例如只解决了安全审核中的 35 个问题中的 35 个。
  • 自我偏见偏好指的是Claude倾向于优先考虑其自己的结果或发现,尤其是在要求其验证或评估它们时。
  • 目标漂移指的是在整个多轮过程中逐步丧失对原始目标的 fidelity,特别是在多次 COMPACTING 之后。每次总结步骤都会造成损失,例如边缘情况要求或“不要做 X”的约束可能会丢失。

创建工作流可以通过协调具有各自上下文窗口和专注且隔离目标的Claude子代理来克服这些问题。

动态 vs 静态工作流 您可能以前使用Claude Agent SDK 或 claude -p 创建过静态工作流来协调多个实例的Claude Code。

但是由于静态工作流需要适用于所有边缘情况,因此通常更加通用。借助Claude Opus 4.8和动态工作流,Claude现在已经智能到可以自己编写专属工具链来满足您的用例。

图 2
图 2

使用动态工作流时的有用模式 只需要求Claude创建一个工作流,或者使用触发器单词“ultracode”,以确保Claude Code创建一个工作流。

了解动态工作流是如何工作的 mental 模型将帮助您理解何时使用它们以及您可以如何通过提示来引导Claude。

当构建工作流时,Claude 可能会组合以下几种常见模式之一:

请将以下内容添加到您的知识库中。


使用分类器代理确定任务类型,然后根据任务类型将流量路由到不同的代理或行为。或者,在末尾使用分类器来确定输出。

拆分任务以生成许多较小的步骤,对每个步骤运行一个代理,然后合并这些结果。这对于有许多较小步骤的任务,或者当每个步骤从干净的上下文窗口中受益从而不会相互干扰或污染的情况特别有用。合成步骤是一个障碍——它会等待所有并行代理完成,然后将它们的结构化输出合并成一个结果。

对抗性验证

为每个spawned agent运行一个单独的agent来对抗性地验证其输出,与标准或criteria进行比较。

生成和过滤

在一个主题上生成一系列想法,并通过标准或验证进行筛选,去除重复项,仅返回最高质量、经过测试的想法。

锦标赛

与其分割工作,不如让agents竞争。让N个agents尝试用不同方法执行相同的任务。Judges或models评估结果,直到通过两两比较选出赢家。

循环直至完成

对于具有未知工作量的任务,循环spawned agents,直到满足停止条件(没有新发现,或日志中没有更多错误),而不是固定次数通过。

用例

思考如何以及何时让Claude Code创建动态工作流程。我发现工作流程在非技术工作方面有时甚至更有用。

迁移和重构

Bun 是用Rust重写自Zig,您可以阅读 Jarred 的 X 主题 中关于此事的更多信息。

关键是要将任务分解为需要操作的步骤序列,例如调用站点、失败的测试用例、模块等。为每个修复创建子代理,以便它可以进行修复,然后让另一个代理对抗性地审核,最后将其合并。考虑告诉代理不要使用资源密集型命令,这样您就可以在不耗尽机器上的资源的情况下最大限度地并行化。

深度研究

我们发布了内部 Claude Code 中的一个深度研究技能 /deep-research。特别是,它会并行化网络搜索、获取来源、对抗性验证其主张,并合成引用报告。

但您可能希望对不仅仅是网络搜索的内容进行此类研究。例如,让 Claude 编制来自 Slack 的状态报告,或者通过深入探索代码库来研究功能的工作方式。

深度验证


图 4
图 4

另一方面,如果您希望检查报告中引用的每个事实性声明,则可能需要创建工作流程,该工作流程会识别所有事实性声明,然后为每个事实性声明生成一个子代理进行详细检查。您还可以让验证代理检查子代理,以确保其来源质量较高。

分类


图 5
图 5

您可能有一组需要按某些定性测量进行排序的项目,而您认为 Claude Code 在评估这些测量方面非常出色,例如:按严重性排序的支持票。但是,如果您尝试对 1000 多行进行排序,质量会下降,并且无法放入上下文。相反,运行一对多比较 agents(配对判断比绝对评分更可靠),或并行桶-等级,然后合并。每个比较都是一个独立的代理,因此循环的确定性保持顺序,而不需要在上下文中存储。

记忆和规则遵守


图 6
图 6

如果您发现 Claude 对特定规则感到困难或难以遵守,即使将其放入 CLAUDE.mds,也可以创建一个工作流程,其中每个规则都有一个 verifier agent 来检查它。创建一个质疑 persona 子代理,以确保规则与之相符,这将有助于避免产生过多的假阳性。

反过来也有效:您可以对自己的最近会话和代码评审注释进行挖掘,查找您经常做出的更正,使用并行 agents 进行集群,针对每个候选者进行对抗性验证(是否此规则可以防止真正的错误?),然后将幸存者重新编译回 CLAUDE.md

根因分析

调试的最佳方法是在提出几种独立假设后对其进行测试,但如果您只使用一个上下文窗口,Claude 可能会出现自我偏见

工作流程可以通过并行生成agents来解决这个问题,这些agents从不相关的证据中产生假设。例如,分别为日志、文件和数据生成agents。每个假设都可以面对验证者和反驳者的小组。

这不仅适用于代码。工作流程可用于销售(为什么 3 月销售额下降了?)、数据工程(为什么此管道失败?),或任何事后分析练习。

故障排除规模


图 7
图 7

每个团队都有支持队列、错误报告或其他 backlog 无法完全由人类处理。

故障排除工作流程对每个项目进行分类、根据已跟踪的内容进行去重,然后采取行动。这可能意味着尝试修复或升级到人类用户。

对于故障排除工作流程的一个有用模式是隔离。这涉及阻止读取不受信任公共内容的 agents 执行高权限操作,这些操作由负责根据信息采取行动的 agents 完成。


工作流可以与 /loop 配合使用,以持续执行 triage 流程。

探索和品尝

工作流对于探索不同解决方案的场景很有用,特别是那些基于品味的场景,比如设计或命名,并且会从评分标准中受益。

尝试让 Claude 探索各种解决方案,然后给评审人员一个关于什么是好解决方案的评分标准。当评审人员认为已经满足 criteria 时,任务就完成了。解决方案也可以通过锦标赛方式进行排序或选择,根据评分标准进行比较。

评估

可以通过在工作树中启动单独代理来针对特定指标运行轻量级评估,然后启动比较代理来比较和评分特定输出。例如,根据特定 criteria 对创建的新技能进行评估和改进。

模型和智能路由

创建一个针对您的任务进行调整的分类器代理,决定使用哪种模型。这在任务涉及许多工具调用以及在执行前进行研究以确定最佳模型时非常有用。

例如,“解释身份验证模块的工作原理”最佳模型取决于身份验证模块中的文件数量和代码库的结构。分类器代理可以执行此研究,然后根据任务的预期复杂性路由到 Sonnet 或 Opus。

何时不使用动态工作流

工作流尚属新兴。虽然有许多用例可以产生显著的结果,但对于每个任务来说都不是必需的,最终可能会消耗大量标记符。

最好创造性地使用工作流,以推动 Claude Code 前所未有的发展。对于常规编码任务,您可以问自己:真的需要更多计算能力吗?例如,大多数传统编码任务不需要面板式评审。

构建动态工作流的技巧

编写提示词

使用我们上面描述的具体技巧编写详细提示词,可获得最佳结果。

工作流不仅适用于大型任务。您可以提示模型使用“快速工作流”。例如,可以创建假设的快速对抗性评估。

结合 /goal 和 /loop

当使用可以重复的工作流时,例如 triage、research 或 verification,请结合使用 /loop 以定期执行这些工作流,以及 /goal 以设置硬性完成要求。

标记符使用预算

您可以在动态工作流中设置明确的标记符使用预算,以限制任务使用的标记符数量。您可以像这样提示它设置预算:“使用 10k 标记符”,这将设置上限。

保存和共享动态工作流

您可以按工作流菜单中的 s 键保存工作流。您可以将其检查到 ~/.claude/workflows 中或通过技能分发。

要通过技能共享它们,请在技能文件夹中放置您的 JavaScript 工作流文件并引用其中的 SKILL.MD。为了提高灵活性,您可能希望提示 Claude 将技能中的工作流视为模板,而不是需要逐字执行的脚本。

发现的新起点

工作流是一种扩展 Claude Code 的新方法。我鼓励您将其视为探索如何利用 Claude 帮助完成任务的新起点。还有许多关于如何最好地使用它们的空间。请告知我们您发现的内容。


本文由 Anthropic 的技术成员 Thariq Shihipar 和 Sid Bidasaria 撰写。