惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

M
MIT News - Artificial intelligence
罗磊的独立博客
Hugging Face - Blog
Hugging Face - Blog
Apple Machine Learning Research
Apple Machine Learning Research
Last Week in AI
Last Week in AI
S
SegmentFault 最新的问题
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
美团技术团队
人人都是产品经理
人人都是产品经理
WordPress大学
WordPress大学
The Cloudflare Blog
IT之家
IT之家
雷峰网
雷峰网
小众软件
小众软件
博客园 - 叶小钗
博客园 - 聂微东
爱范儿
爱范儿
博客园 - 司徒正美
博客园 - 三生石上(FineUI控件)
V
Visual Studio Blog
博客园 - 【当耐特】
V
V2EX
博客园_首页
T
Tailwind CSS Blog

程序员

V2EX 看到讨论"跨域"的帖子,那个她好像回来了 codex 今天真的是不稳定呀。 火山方舟 Coding Plan 慎买 刚问了大家 openclaw 和 hermes 在什么机器上面玩,求推荐一个机器 GPT-image-2 生成 AI 图片防伪有感 codex pro 5 小时限制已经严重缩水 逆天 Antigravity 动态 JSON 序列化对强类型语言很难吗? 自建了 GPT Coding Plan,遇到了定价问题,请教大家 大家都是在什么设备上玩 openclaw 以及 hermes 的呀? 软考还有一个月就考试了,你们学习了吗? 大伙用 AI 会考虑在 user scope 的 CLAUDE.md/AGENTS.md 里交代 AI 说中文吗 我发现程序员这个群体很大部分其实挺抠的 最近使用 cc 总会莫名其妙的返工, codex 不会 目前体验最好的远程 vibe 工具 想知道大佬们抓包遇到 ssl pinning 都是咋优雅的 解决的? 工业软件的大佬们是怎么 vibe coding 的 最近 chrome 是不是有 bug 啊,一搜索就卡住 分布式异步系统在 vibe coding 下的困境 PHP Native AOT 编译器,支持将 PHP 代码编译为可执行文件,运算性能提高 150 倍 没想到 2026 年,还要浪费大量时间在跨域问题上 DeepSeek V4 这周会出吗? 中转站正式试营 欢迎试用 不掺不假 小米 mimo 升级 v2.5,并且重置了额度 Jenkins, SCM 轮询完全不工作是啥问题啊 赛博斗蛐蛐, AI 模型的简单对比(白嫖版) 使用中转站要擦亮眼睛!不说别的,倍率计算 充值好乱。 买了火山的 Coding Plan 测试得出计费模式 给我的 AI 生成了简历和状态卡, 大家帮忙看下 Ta 能找到啥样的
Claude Code Workflow 抓包后原理分析 - Workwith GPT5.5
pDJJq · 2026-05-29 · via 程序员

#开源推广 #开源项目 #Claude

详细内容见: https://github.com/TokenRollAI/claude-code-workflow-research


Claude Code Workflow 省流版

一句话:Claude Code workflow 不是模型自己在一次请求里并发工作,而是主模型先写一段 JavaScript 编排脚本,Claude Code 本地 runtime 执行这段脚本,按脚本启动多个子代理,再把子代理的结构化 JSON 结果串起来。

核心流程

用户显式触发 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.input_schema JS 里传给 agent(..., { schema }) 的 schema 。

本次例子里,judge prompt 是这样来的:

agent(
  `你是桌游评委,专门从这个维度评审:「${j.desc}」。\n` +
  `待评概念:\n${JSON.stringify(concept, null, 2)}\n` +
  `请给出 1-10 分并简述理由。用中文作答。`,
  { schema: JUDGE_SCHEMA }
)

这里的 concept 是 invent agent 通过 StructuredOutput 返回的 JSON 。也就是说,下游 prompt 看到什么,完全取决于 JS 作者显式拼进去什么。

本次抓包里的例子

这次 workflow 是一个“桌游设计锦标赛”:

  • 5 个 invent agent:分别从 5 个设计方向发明桌游。
  • 15 个 judge agent:每个概念由 3 个评委维度打分。
  • 1 个 synthesize agent:取冠军并嫁接落选概念优点,生成最终设计稿。
  • 合计 21 个逻辑 agent 。

最终通知里也记录了:

<agent_count>21</agent_count>
<subagent_tokens>232900</subagent_tokens>
<duration_ms>257654</duration_ms>

Claude Code workflow 把“多代理协作”从自然语言群聊变成了可执行的数据流程序:agent() 像异步函数,prompt 是输入,StructuredOutput JSON 是返回值,pipeline()parallel() 是调度结构,最终 return 是结果。