Claude-fable-5: Dynamic workflows 的本质,是把"prompt/harness 分层"这个原来由人做的工作,交给了 agent 自己做。
Human-in-the-loop似乎该变了:
改倾向的留在 prompt,兜底的进 harness------以前的搬运工是人。
现在 agent 发现自己重复走某条路径,就自己写个 js 把它固化下来。搬运工变成了模型。下面按几条线展开。
一、固化的本质:把概率路径压缩成确定性程序
每次 LLM inference 都是从分布里重新采样,有方差、有 token 成本、有漂移风险。而一条已经被验证走得通的路径,根本不需要每次重新采样------把它写成代码,方差归零,成本归零(相对而言),行为可复现。
所以固化 = 缓存搜索结果。接上之前那个"在分布空间里做带约束的搜索"框架:agentic 执行是搜索,dynamic workflow 是把搜到的解缓存下来。这就是它像 JIT 编译的地方------解释执行(agentic)发现热点路径后,编译成机器码(workflow)。热路径固化,冷路径保持 agentic。
二、为什么模型越强,harness 杠杆越大
harness 的杠杆率随模型能力超线性增长。链条是这样的:
- 模型越强 → 固化出来的代码正确率越高(弱模型固化错误路径会把错误锁死,这是固化最大的风险)
- 固化正确率越高 → 可固化的半径越大 → 越来越多的子任务从概率区搬进确定区
- 确定区越大 → 模型的注意力和上下文只需要花在真正需要判断的部分 → 有效任务时长被拉长
- 确定性部分不会漂移 → 长任务保持在正确路径上的概率大幅提升
第 3 点是关键。长任务失败的主因不是模型不够聪明,是注意力被无关细节稀释、上下文被过程噪音污染。固化等于给模型做了"减负"------它不再需要记住怎么做已经会做的事。
三、Dynamic workflows vs SubAgents:两个正交的维度
这两个经常被放在一起比,但它们解决的是不同的问题:
| SubAgents | Dynamic workflows | |
|---|---|---|
| 扩展维度 | 空间:任务分解、上下文隔离 | 时间:经验积累、路径固化 |
| 解决什么 | 上下文污染、注意力稀释 | 重复采样的方差和成本 |
| 本质 | 雇人------每次都可能理解偏 | 造工具------每次行为一致 |
| 输出 | 概率的(还是采样) | 确定的(代码执行) |
| 适用 | 需要判断的子任务 | 需要执行的子任务 |
判断标准一句话:这个子任务需要判断还是需要执行? 新情况、模糊输入、需要权衡 → subagent。步骤已知、只是繁琐 → 固化成 workflow。
更有意思的是二者的演化关系:subagent 是 workflow 的探索前身。一个子任务先用 subagent 跑,跑几次都对,就说明这条路径已经收敛,可以固化。探索用 agent,收敛后固化------subagent 和 workflow 不是竞争关系,是同一条路径生命周期的两个阶段。
四、固化的梯度:prompt → skill → dynamic workflow → MCP
Skills 和 MCP 可以放进同一条"固化梯度"上看:
prompt skill dynamic workflow MCP tool
(最软) (半固化) (agent 自写代码) (最硬)
激活分布 → 固化的 prompt+脚本 → 确定性程序 → 固化的能力接口
- Skill 固化的是"怎么做"------过程知识。本质是把一段调好的 prompt + 流程打包成可加载模块,还是 prompt 和脚本的混合体,半软半硬。
- MCP 固化的是"能做什么"------能力边界,纯接口,最硬。
- Dynamic workflow 的特殊性在于它是在线自固化:skill 通常是人离线写好的,dynamic workflow 是 agent 运行时自己生成的 skill。
这条梯度同时是三条轴:确定性梯度、可靠性梯度、修改成本梯度。越往右越可靠,也越难改。所以固化不是越多越好------固化错了的东西,比每次重新采样更危险,因为错误被锁死且带着"确定性"的可信外衣。这直接引出最后一节。
五、评测的迁移:从评输出到评轨迹,从 judge 回归 assert
之前那套 prompt A/B + AI judge + 人工锚定,评的是"单次输出的质量分布"。agentic 场景下评测对象变了,而且有个非常漂亮的回归:
固化产物是代码,代码可以用传统软件测试来验证。
这意味着评测体系可以分层:
- 概率层(agent 的判断、探索行为):还是老办法------轨迹评测 + AI judge + 人工锚定。评的不只是终态对不对,还有路径效率、工具调用是否合理。
- 固化层(workflow 代码):直接上单元测试、assert、CI。从概率评分回归到确定性断言------judge 有偏、要抽检校准;assert 没有这些问题。
- 元层(固化决策本身):agent 什么时候决定固化、固化的边界画在哪,这是个新的评测对象。固化早了锁死次优解,固化晚了浪费采样。
由此得出一条实践规则:agent 每固化一个 workflow,必须同时生成它的测试。测试就是固化的准入门槛------通过测试才允许进入确定区,否则留在概率区继续采样。这和人类工程的直觉完全一致:没有测试的代码不该进 main 分支。
收拢成一句话
整个系统是一个"探索---固化"循环:
- agentic 执行负责探索(概率,处理新情况)
- dynamic workflow 负责固化(确定,缓存已验证路径)
- 模型能力决定固化的正确率上限
- 评测决定固化的准入门槛
- skills / MCP 是固化的不同硬度档位
而模型能力越强,这个循环转得越快、固化半径越大、agent 能自主运行的时间越长。