Appearance
如何定位质量退化:Planner、Context 与 Regression Evaluation
前置:如何评估模型决策轨迹:Model-as-Judge、Trajectory 与 Tool Selection
核心问题:版本回归出现后,怎样区分是 Planner 结构退化、Context 选择退化还是模型随机波动?
三种 Eval 分别回答不同问题
text
Planner Eval → 模型提出的计划是否合理、可执行?
Context Eval → 给模型的输入是否足够且值得占 token?
Regression Eval→ 某次版本变化是否让整体/特定 failure bucket 退化?如果三者混成一个“最终成功率”,即使发现质量下降,也很难知道应该改 Planner、Context policy 还是最近的一次版本变更。
Planner Evaluation:检查结构性质,不检查逐字相同
Planner Eval 可以检查:必要步骤是否覆盖、依赖是否正确、危险动作是否经过 approval、是否过度拆解、replan 是否由新事实触发。
例如正确依赖应为:
text
patch → test → deploy模型却生成:
text
patch → test
patch → deployGraph validator 可以直接把它判为 plan failure,而不必真的执行 deploy。Scheduler 如果忠实执行了错误依赖,问题属于 Planning,不属于 Runtime。
Planner regression 也不应要求每次生成同一句计划。search → patch → test 变成 read_config || search → patch → test 可能是合理改进;应该比较 dependency、capability、completion criteria 等结构约束。
Context Evaluation:通过 Ablation 判断某类输入有没有贡献
单纯看到 Context 从 40K 降到 20K 不代表优化成功。可以固定 Eval Set,分别移除或压缩:
text
retrieval evidence
history summary
tool descriptions
memory再比较 task success、constraint loss、tool error、token 和 latency。若删掉旧 Tool logs 后成功率不变但 token 下降 30%,它们可能是可安全移除的信息;若删除某条 policy 后高风险 Tool 误调用增加,则该信息属于 protected context。
Regression Evaluation:锁定版本,观察整体和切片
Regression Eval 使用固定 dataset + RunManifest 比较变更前后,例如:
text
prompt v12 → v13
model A → B
tool schema 4 → 5
context policy 7 → 8
runtime commit X → Y除了总成功率,还应看 failure bucket,例如长 Context、需要审批、复杂 dependency、某类 Tool。总体均值不变也可能掩盖某个关键场景明显退化。
Ablation 用来证明某组件是否贡献价值;Regression 用来发现版本升级有没有破坏已有能力,两者不要混用。
Failure Mode:Planner 绕过 Compiler / Executor Contract
如果计划里出现什么就直接调用,没有 graph validation、Tool policy 或 execution record,那么 Planner Eval 和 Runtime Test 的边界会一起消失。
处理: Plan → GraphCompiler → Scheduler,Tool intent → ToolExecutor;Eval 检查计划,确定性测试检查程序是否执行 contract。
如何验证
选择一个固定任务集,同时保存 plan、context snapshot 和 manifest。故意做三次独立变更:删一段关键 Context、破坏一条 dependency、升级模型。理想情况下三类报告分别把问题定位到 Context、Planner 和 Regression bucket,而不是都只显示“最终成功率下降”。
自测
- 升级后 task success 下降。怎样用 planner-only、context-only 的 regression slice 区分到底是哪层退化?
- 如果同时更换 Prompt、Retriever、Model,再看一个总分,为什么几乎无法做归因?