Planner-Executor 拆分:什么时候该拆,什么时候该合

Planner-Executor 拆分:什么时候该拆,什么时候该合

第一天,让单个模型同时做规划和执行,看起来很优雅。三个月后,trace 日志会讲一个不同的故事:Prompt 里负责规划的那部分在工具调用上下文中开始漂移,负责执行的那部分开始幻觉出从未被规划过的步骤。把两者拆开很少是直觉反应。但它经常是正确的选择。

拆分到底买到什么

专门的 Planner 跑在一个干净的上下文里——只有用户请求和可用的工具 schema——产出一份它无法用执行细节污染的计划。专门的 Executor 一次只接收一步、执行、汇报。两个组件都拿到了更小、更锋利的 Prompt。每一个都可以独立替换:便宜的 Executor 配上昂贵的 Planner 是一个真实的成本杠杆,没有拆分你拉不动这个杠杆。

拆分的代价

延迟。每步两次模型调用,Planner 需要修订时甚至三次。对于 2 秒以内的交互式场景,拆分的代价往往太高。诚实的答案是:短任务保留联合循环,只有当任务步数超过 5 步、或者你已经在生产环境观察到联合循环跑题时,才拆分。

Planner-Executor 拆分不是架构上的洁癖。它是对单模型循环在规模下表现出的某个具体失效模式的回应。

相关文章

多自主才算太自主

多自主才算太自主

Agent 的自主性是一根滑杆,不是一个开关,正确档位由任务决定的多过由技术决定的。把滑杆推到"完全 ...

Agent 失败时:不会无限循环的恢复模式

Agent 失败时:不会无限循环的恢复模式

Agent 的失败不抛异常。它们产出看起来合理但错误的输出,或者用稍微不同的方式悄悄重试同一个坏方法 ...

没有标准答案的 Agent 怎么评测

没有标准答案的 Agent 怎么评测

评测一个 Prompt 已经很难。评测一个在给出答案前要跑十次工具调用的 Agent,是另一个量级的 ...

Agent 护栏:在不阉割 Agent 的前提下

Agent 护栏:在不阉割 Agent 的前提下

给 Agent 加护栏属于那种简单版本太严苛、谨慎版本太宽松的任务。挡得太狠 Agent 拒绝完全合 ...

Agent 记忆:情景、语义,以及该留下什么

Agent 记忆:情景、语义,以及该留下什么

你建的第一个 Agent 没有当前对话之外的任何记忆,这能撑大约一周。然后用户回来,期望连续性,你开 ...

Multi-Agent 系统:协调才是真正的难点

Multi-Agent 系统:协调才是真正的难点

Multi-Agent 架构很有诱惑力,因为它映射到人类组织工作的方式:专家、协调者、交接协议。第一 ...

生产环境的 ReAct:经得起跑题的推理循环

生产环境的 ReAct:经得起跑题的推理循环

ReAct 是一个干净的想法:思考、行动、观察、循环。在生产环境里,循环本身才是最容易崩的部分。模型 ...

工具选择:什么时候该模型挑,什么时候该你挑

工具选择:什么时候该模型挑,什么时候该你挑

会用工具的 Agent 在 demo 里看起来很有力,因为模型在选下一步做什么。它在生产里看起来很脆 ...