Claude Code 使用提示 · 动态工作流

让 Claude 写脚本
调度一群 Agent

正常对话里 Claude 一步步干活,每步中间结果都占你的上下文。动态工作流换一种打法:让它写一段脚本,由脚本去编排几十上百个子代理并行干活——脚本本身不烧 token。

// 面向重度使用 Claude Code 的团队 · 一页读懂触发、限流与适用边界

关键词 ULTRACODE /EFFORT ULTRACODE USE AT MOST N AGENTS /CONFIG · 四档规模 SUBAGENT 并行 FAN-OUT 脚本不占 CONTEXT
SCROLL / 向下滚动
01
What It Is

脚本编排,不是对话堆叠

动态工作流让 Claude 写一段 JavaScript 脚本,由这段脚本去调度、协调一大批子代理并行工作。关键在于分工——脚本负责编排,代理负责干活,而你的上下文窗口不被中间结果占用

Orchestration◈ Script

脚本 · 编排层

Claude 现写的一段 JS

决定拉几个代理、谁先谁后、如何汇总。它是控制流,不是内容生产者——所以本身几乎不消耗模型 token

循环 / 分支 / fan-out 全在这层
Execution✦ Subagents

子代理 · 干活层

几十甚至上百个并行

每个代理领一小块任务独立跑,互不共享状态。只有代理真正干活时才烧 token——这是成本的大头。

并行 = 墙钟时间大幅压缩
Your Window◇ Context

你的上下文 · 不被占用

主对话保持轻盈

普通模式下每步中间产物都堆进上下文;工作流把这些下沉进代理,主对话只拿最终结论,能装下更大的任务。

任务再大也不撑爆窗口
一句话

把「一个人从头做到尾」换成「一个包工头写好流程、拉一队工人同时开工」——包工头不亲自搬砖,所以指挥这件事本身很便宜,贵的是工人的工时。

02
Under The Hood

一次工作流内部发生了什么

从你敲下一句话,到拿回一份汇总结论,中间是这样一条链——每一棒都可并行、可重试,你只在两头出现。


下指令
在 prompt 里说出 ultracode,或直接要求「用一个工作流」来干这件事
Claude
写脚本
Claude 现场写一段 JS 编排脚本:要拉多少代理、怎么分块、并行还是串行、结果如何合并
脚本
fan-out
脚本把任务切成 N 份,一次性派发给一队子代理——每个代理拿到一小块独立的活
代理群
并行干
几十上百个代理同时开跑,各自读文件、改代码、查资料、写结论;这一步是 token 消耗的主体

拿结论
脚本把各代理产出汇总去重,只把最终结果交回主对话——中间过程不占你的上下文

// 因为切块并行,墙钟时间约等于最慢那一份的耗时,而不是所有活儿串起来的总和。

03
Two Ways To Trigger

临时用一次,还是整个会话默认走

触发方式两种——一种是针对这一次任务临时开工作流,一种是把它设成整个会话的默认档位

PER-TASK · 临时一次说出关键词 ultracode

在你的 prompt 里直接写上 ultracode,只针对这一次任务临时启用工作流。也可以不用关键词,直接说「用一个工作流来做这件事」。

ultracode: 审计 src/routes 下所有接口的鉴权
🎚️

SESSION · 会话默认设 /effort ultracode

设置 /effort ultracode 后,整个会话里所有够分量的任务都会自动走工作流模式,同时把推理强度拉到 xhigh。适合一整段高强度批量作业。

一次设定 · 全程默认
Note

关键词是给单次任务临时提速;/effort ultracode 是给整段会话定基调。琐碎的小活别开会话默认档,否则每件小事都会被「叫一整队人」来做。

04
Controlling The Size

怎么给工作流「限流」

一个工作流可能一口气拉起几十甚至上百个代理,token 消耗会陡增——社区里有人反馈一次跑掉了 Max 计划一周额度的 20%。官方因此给了两种限流手段:临时限制与默认限制。

Temporary · 临时限制

直接在 prompt 里加一句 「use at most 5 agents」(最多用 5 个代理)。Claude 会把它当成硬性上限去写脚本——想临时收一收规模,这是最快的方式。

默认限制则在 /config 里设 Dynamic workflow size,一次设定长期生效,四个档位:

档位含义代理数量
small小工作流,轻量并行< 5 个
medium中等规模< 15 个
large大规模 fan-out< 50 个
unrestricted不限(默认值)不设上限
优先级

/config 里的档位只是默认建议。如果你在某次 prompt 里明确要求更大规模,会覆盖这个默认设置——想稳成本就把默认调低,需要时再在单次任务里放开。

05
When To Use It

什么场景值得叫「一整队」

官方给的判据很朴素:任务大到一次对话装不下,或者同一个步骤要在很多文件 / 条目上重复跑时才用。典型四类:

🔎

全代码库审计

漏洞 / 规范 / 鉴权逐项检查——例如把每个 route 分给一个代理,各查各的鉴权漏洞,再汇总。

🔄

大规模迁移

同一改造在几百处重复——例如把几百个组件从 styled-components 批量换成 Tailwind。

🧪

交叉验证研究

需要多路并行、彼此印证的调研任务。内置的 /deep-research 就是一个现成例子。

♻️

循环修复到达标

「跑到某个检查通过为止」——例如反复跑 tsc --noEmit,改到类型检查全绿再停。

06
When NOT To Use It

什么时候别叫「蜂群」

Anti-patterns

指令含糊是最费钱的坑——一句「跑个工作流把 app 优化一下」,会让代理到处乱跑烧 token却收不拢结果。工作流吃的是清晰、可切块的任务。

🚫 不适合

  • 单文件小改动
  • 任务描述含糊、没有明确切块
  • 日常琐碎编码
  • 你会顺手一分钟搞定的活

✅ 适合

  • 大到一次对话装不下
  • 同一步骤要跑很多遍
  • 多路并行可交叉验证
  • 跑到某判据满足为止

⚖️ 先掂量

  • 先估算大概会拉多少代理
  • 拿不准就先 use at most N
  • 默认档调低、单次再放开
  • 盯一眼额度消耗节奏
官方那句原话最好记:如果这活儿你会直接丢给一个工程师干一下午,那就别叫一整个「蜂群」来。工作流是给「一个人一下午干不完、或要重复几百遍」的任务准备的。
07
TL;DR

一页记住这几点

维度要点关键词 / 入口
是什么Claude 写脚本编排一批子代理并行干活,脚本本身不烧 tokenDynamic Workflows
省什么中间产物下沉进代理,主对话只拿结论,不撑爆上下文context-light
临时触发prompt 里写关键词,或直接要求用工作流ultracode
会话默认整段会话自动走工作流 + 推理拉到 xhigh/effort ultracode
临时限流一句话给硬上限use at most 5 agents
默认限流四档:small<5 / medium<15 / large<50 / unrestricted/config · Dynamic workflow size
该用全库审计 · 大规模迁移 · 交叉验证 · 循环到达标大 / 重复 / 并行
别用单文件小改、含糊指令、日常琐碎一下午能干完就别叫蜂群
一句话总括:动态工作流是把「Claude 一个人从头做到尾」升级成「Claude 当包工头、拉一队代理并行开工」——它擅长大而重复的任务,代价是 token 会显著上升,所以先想清楚该不该叫这队人,再用 use at most N 或 /config 把规模摁住