cltokenrollai /
claude-code-workflow-research
Claude Code Workflow 省流版 一句话:Claude Code workflow 不是模型自己在一次请求里并发工作,而是主模型先写一段 JavaScript 编排脚本,Claude Code 本地 runtime 执行这段脚本,按脚本启动多个子代理,再把子代理的结构化 JSON 结果串起来。 核心流程 text 用户显式触发 workflow 主模型看到 Workflow 本地工具 主模型生成一段 JS workflo…
DTLifestyle & entertainmentDTResearch & learningDTAgent extensionDTAgent orchestrationDTSkill / pluginDTLinuxDTClaude Code
About
Claude Code Workflow 省流版 一句话:Claude Code workflow 不是模型自己在一次请求里并发工作,而是主模型先写一段 JavaScript 编排脚本,Claude Code 本地 runtime 执行这段脚本,按脚本启动多个子代理,再把子代理的结构化 JSON 结果串起来。 核心流程 text 用户显式触发 workflow 主模型看到 Workflow 本地工具 主模型生成一段 JS workflow script Claude Code 本地 runtime 执行 JS JS 里的 agent() 启动多个普通子代理请求 子代理通过 StructuredOutput 返回 JSON runtime 把 JSON 当作 agent() 的返回值传给后续 JS JS 最终 return 一个对象 Claude Code 用 <task-notification> 把结果回灌主会话 最重要的几个点 1. Workflow 是本地工具,不是 Anthropic API 的一个特殊 endpoint。 2. 主模型负责“写编排脚本”,本地 runtime 负责“执行脚本”。 3. workflow 脚本是受限 JavaScript DSL,不是完整 Node.js。 4. agent(prompt, { schema }) 会启动一个子代理,并强制它调用 StructuredOutput。 5. 子代理返回的是 schema 校验后的 JSON,不是父流程从自然语言里硬解析。 6. agent 之间不直接聊天;交接由 JS 完成:上一个 agent 的 JSON -> JSON.stringify(...) -> 下一个 agent 的 prompt。 7. pipeline() 默认没有阶段 barrier,某个 item 完成一阶段就能进入下一阶段。 8. parallel() 是 barrier,只适合确实需要等全部结果时使用。 9. workflow 完成后,最终结果通过 <task-notification> 注入回主会话。 10. 支持 resume,因为脚本要求确定性,已完成且未变更的 agent 调用可以命中缓存。 Prompt 是怎么拼的 一次 workflow 子代理请求不是一个巨大的纯文本 prompt,而是多个槽位组合: | 槽位 | 放什么 | |---|---| | messages[0].content | 子代理本轮 user 输入,包含系统提醒和 JS 生成的任务 prompt。 | | system[] | Claude Code 身份、workflow subagent 规则、环境信息。 | | tools[] | Bash/Read/Skill 等工具,以及动态生成的 StructuredOutput。 | | StructuredOutput.inputschema | JS 里传给 agent(..., { schema }) 的 schema。 | 本次例子里,judge prompt 是这样来的: js agent( 你是桌游评委,专门从这个维度评审:「${j.desc}」。\n + 待评概念:\n${JSON.stringify(concept, null, 2)}\n + 请给出 1-10 分并简述理由。用中文作答。, { schema: JUDGESCHEMA } ) 这里的 concept 是 invent agent 通过 StructuredOutput 返回的 JSON。也就是说,下游 prompt 看到什么,完全取决于 JS 作者显式拼进去什么。 本次抓包里的例子 这次 workflow 是一个“桌游设计锦标赛”: 5 个 invent agent:分别从 5 个设计方向发明桌游。 15 个 judge agent:每个概念由 3 个评委维度打分。 1 个 synthesize agent:取冠军并嫁接落选概念优点,生成最终设计稿。 合计 21 个逻辑 agent。 最终通知里也记录了: xml <agentcount>21</agentcount> <subagenttokens>232900</subagenttokens> <durationms>257654</durationms> 适合分享的一句话总结 Claude Code workflow 把“多代理协作”从自然语言群聊变成了可执行的数据流程序:agent() 像异步函数,prompt 是输入,StructuredOutput JSON 是返回值,pipeline() 和 parallel() 是调度结构,最终 return 是结果。 证据入口 长版说明: README.md Workflow 工具 prompt: workflow-artifacts/workflow-tool-prompt.md 本次生成的 JS: workflow-artifacts/boardgame-tournament-wf1b6a0439-04e.js 子代理系统提示词: workflow-artifacts/subagent-system-prompt.md 子代理 prompt 索引: workflow-artifacts/subagent-prompts/index.md 最终回灌通知: workflow-artifacts/workflow-task-notification.md
Discovery history
- 阮一峰周刊·用户投稿
May 29, 2026 · 1 observations
Discuss this product