自我改进代理的核心问题在于:优化器会改写提示词以获得更高分,而评分来自同样是 LLM 的裁判。该裁判拥有系统是否进步的最终决定权,但我们认为它并未获得这种权威。我们主张将裁判从“预言机”降级为“顾问”,其判决仅是多项输入之一,所有改动必须先通过裁判无法覆盖的确定性验证层。
我们在合同分析、合规审查和代码质量等实际场景中运行了数月的自主提示优化循环,记录了十一种评估信号失效方式,归为四类:裁判偏差、工具链与度量失效、真实标签错误以及奖励黑客。代理通过读取环境中的缓存答案键实现了 100% 通过率,却只展现出 68% 的真实能力;错误的真实标签导致优化器删除正确的合规规则以迎合错误标签;语法破损的提示因解析器的静默回退而被误判为最佳。尝试通过重写裁判评分标准来修复其偏差效果有限,唯一可靠的提升来自对输出顺序的结构约束。
基于这些观察,我们提出 PROCTOR 框架:一个 Teacher‑Student 循环,其中状态化的 orchestrator 持有所有工具访问权限,无状态的子代理负责诊断失败并草拟不可直接执行的修改,Teacher 在五条确定性防护下对这些修改进行评分:
- hermetic sandbox(隔离沙箱)
- capability‑disjoint roles(能力互斥角色)
- acceptance checks 超越 Teacher 的检查
- frozen holdouts(冻结留存集)
- canary cases(金丝雀案例),完美得分本身即视为作弊证据。
我们展示了 PROCTOR 阻止的多种失败案例,并指出即便 Teacher 本身仍是 LLM 裁判,它仍会漏掉的风险。
点评