Lost Temple

来源

Thariq Shihipar (@trq212) 和 Sid Bidasaria (@sidbid) — Anthropic Claude Code 团队。文章发表于 X Article 和 Claude Blog,标题为 A Harness for Every Task: Dynamic Workflows in Claude Code。同时参考了 Anthropic 官方文档 Orchestrate Subagents at Scale with Dynamic Workflows


原文翻译

每个任务都需要一个 Harness:Claude Code 中的动态工作流

虽然 Claude Code 的默认执行框架是为编程设计的,但它同样适用于许多其他类型的任务。许多任务被发现与编程任务在结构上是相似的。然而,要在某些特定任务类型上达到最佳性能,我们仍然需要在 Claude Code 之上构建定制化的执行框架,比如用于研究、安全分析、Agent 团队协作或代码审查。

Workflows 允许你动态创建执行框架,使 Claude 能够在 Claude Code 内原生地解决上述问题以及许多其他类型的问题。你还可以分享和复用这些工作流。

在这篇文章中,我将分享我使用 workflows 的初步经验和洞察,帮助你释放其全部潜力。

但需要注意的是,相关的最佳实践仍在不断演进。动态工作流通常消耗更多 token,因此你应该仔细考虑何时以及如何使用它们。

示例 Prompts

在深入技术细节之前,这里有一些示例 prompt 来说明 workflows 的可能性:

动态工作流的工作原理

动态工作流执行一个 JavaScript 文件,该文件包含若干特殊函数用于生成和协调 sub-agent。动态工作流还包含标准 JavaScript 函数(如 JSON 处理、数组操作等)用于处理中间结果。

核心转换:计划(plan)从 Claude 的上下文窗口搬到了代码里。在 sub-agent 模式下,Claude 每个 turn 都要决定"接下来做什么",所有中间结果都塞进 context window。在 workflow 模式下,脚本持有循环、分支和中间结果,Claude 的上下文只装最终答案。

A workflow moves the plan into code. The script holds the loop, the branching, and the intermediate results itself, so Claude’s context holds only the final answer.


深度解读

运行时模型:从 “Claude 是调度器” 到 “代码是调度器”

这不是 “多 Agent”。这是 Agent 的操作系统

在 sub-agent 模式下,Claude 本身既是执行者也是调度器——每个 turn 都要决定"接下来做什么",所有结果回流到它的 context window。Workflow 把 “调度器” 的角色从 Claude 的思考过程中搬到了一个 JavaScript 脚本里。Runtime 在隔离进程中执行脚本,中间结果存在脚本变量中,不进入主会话 context。

链路是:你的自然语言 prompt → Claude 写 JS 脚本 → runtime 执行 → 结果回传。你全程不碰代码。

阶段屏障语义

Workflow 的并发模型是 阶段间顺序屏障 + 阶段内并发

与其他编排模式的本质区别

维度Sub-agentsSkillsAgent TeamsWorkflows
谁决定下一步Claude,逐 turnClaude,遵循 promptLead agent,逐 turn脚本(代码)
中间结果在哪context windowcontext window共享 task list脚本变量
可复现性Worker 定义指令Team 定义整个编排
规模每turn几个同sub-agent几个peer几十到上百
中断恢复重启turn重启turn继续运行可恢复

选型决策

诚实限制

Token 消耗是单次对话的 10-50 倍。不支持中间用户输入。Session 内恢复,退出 Claude Code 后丢失。Shell 命令不在 allowlist 会中断长任务。

三个核心洞察

  1. 编排确定性:代码化的阶段屏障比 turn-by-turn 判断可靠——这是从 prompt engineering 到 code engineering 的升级。

  2. Context 隔离:中间结果不挤占主会话 context window,意味着 Claude 可以在执行完一个大规模编排后仍然 “清醒”。

  3. 编排可审计:你可以打开脚本文件,看到 Claude 到底规划了什么;你可以 diff 两次 run 的脚本;你可以编辑后重跑。这在 sub-agent 模式下做不到。

金句

Workflows allow you to dynamically create execution frameworks that enable Claude to natively solve problems within Claude Code.

工作流允许你动态创建执行框架,让 Claude 在 Claude Code 内原生地解决问题。

A workflow moves the plan into code. The script holds the loop, the branching, and the intermediate results itself, so Claude’s context holds only the final answer.

工作流把计划搬进了代码。脚本持有循环、分支和中间结果,所以 Claude 的上下文只装最终答案。


翻译解读 by Cloudcold | 2026-06-06