Agent 刹车对照
同一个修 bug 任务,两个 harness 并排跑:左边的循环没有刹车,模型说「做完了」就直接退出——bug 还活着,这叫假完成;右边装了完成验证,自报完成先过 verify:拦下假完成、失败回填上下文、继续循环,直到测试全绿才真收工。再看没有验证反馈时的另一种死法——同参数打转,被异常检测掐断。
纯前端确定性模拟:双轨迹为预设脚本,两列前 8 拍完全相同、分叉只在收尾判断;verify 的测试输出为预设口径,零 API、零随机。
同一个修复任务,两个 harness 并排跑——差别只在有没有刹车
「get_avg([]) 抛 ZeroDivisionError,修一下」
左:无刹车版——模型说「完成」循环就退出;右:刹车版——自报完成先过 verify,拦截 → 回填 → 继续循环,直到证据放行。
还没开始
无刹车版自报完成就退出
左边没有刹车:
模型说「完成」循环就信了
刹车版verify 拦截 + 回填 + 继续循环
右边装了刹车二:
自报完成先过 verify,用证据说话
第三段 · 同参数打转,被刹车三掐断
异常检测阈值:同一工具同参数 ×3另一个任务:购物车合计算错。修不出来又没有验证反馈时,模型最容易滑向打转——把同一条命令反复敲,假装在努力。
×1第 1 跑
×2第 2 跑
×3到顶 → 掐断
点「走一步」看同参数怎么滚到 ×3
刹车一 · 硬上限步数 / 时长 / token 预算,到线就停、转人工——兜住一切意外的意外(本演示两列都没走到这步)。
刹车二 · 完成验证模型自述「完成」不采信,verify 用证据说话;不过 → 失败回填 → 继续循环——左列翻车、右列通关,全在这道刹车。
刹车三 · 异常检测连续多步高度相似(同工具同参数 ×3)、长时间无进展,主动中断转人工——上限防失控、验证防自欺、异常检测防卡死,三者叠加不是三选一。