Claude Code 的作者 Boris 最近有一句话被传得挺广:
我现在不再给 Claude 写 prompt 了,我有一堆 loop 在跑。我的工作是写 loop。
他用一个 30 分钟的演讲,把自己日常写代码的 Claude 配置摊开讲了一遍:Claude Code + loops + Dynamic Workflow。
Anthropic 在 2026 年 5 月 28 日把 Dynamic Workflows 塞进了 Claude Code。简单说:默认的 Claude Code 是把规划和执行塞进同一个上下文窗口,对大多数写代码的活够用,但碰到长任务、大规模并行、强结构化或者对抗性任务就会崩。
以前 Anthropic 内部要靠工程师手搓 harness(Research、Code Review、agent 团队都是这么来的)。Dynamic Workflows 让 Claude 自己临场写这个 harness——一个 JavaScript 文件,里面用几个特殊函数 spawn 子 agent,再用标准 JS 处理它们之间流动的数据。

相比默认 harness,多了三件事:
启动方式很简单,直接跟 Claude 说"给我做一个 workflow……",或者用触发词 ultracode。中途被打断也能恢复。

Anthropic 自己的发布文档点了三个失败模式:
Workflow 用结构来解:不同 Claude,各自上下文,目标聚焦,状态隔离。
以前用 Claude Agent SDK 或者 claude -p 也能串多个 Claude Code,那是静态 workflow——写一次要兼顾所有边界情况,所以只能保守。
动态 workflow 是 Claude 为这次任务临场写的,量身定制。

动态版本赢的不是搜索,是它能贴着你的上下文塑形:读你的代码、对照新供应商真实文档、按你的数据定价、再用对抗 pass 攻击自己的初步答案。
agent()、parallel()、pipeline()。

parallel() 是 barrier:扇出之后等所有结果回来才返回。pipeline() 是流式:每个元素独立流过每一阶段。
选哪个就看一个问题:下一步是不是必须等全部结果?是就 parallel,不是就 pipeline(更便宜更快)。
/goal 设硬性完成标准(比如"直到一个理论被证实才停"),配合 /loop 让整套 workflow 按时间表跑。
实战里这六个模式很少单独出现,一个真实 workflow 通常组合 2 到 4 个。Anthropic 把 Bun 从 Zig 重写到 Rust 用的就是"Fan-out(一个 agent 一个 callsite)→ 对抗验证 → loop until done"。
这部分基本是 Claude Code 团队自己的提醒:
parallel() 和 pipeline() 当一回事。barrier 的差别很关键。/goal。它会在第一个软完成点停下。s 存到 ~/.claude/workflows,或者打包成 Skill 分发。
有个网友总结挺贴切:Boris 不小心把 n8n 整套 UX 哲学说了一遍,一个 loop 看 webhook,一个 loop 看 schedule,一个 loop 盯队列。你不再跑任务,你在养管道。但编排层得先稳,再上动态路由,不然会被自己绕死。