我的「假完成」代理基准一直误捕捉了自己的测试架构

📌 One-Sentence Summary
一位开发者构建了一个检测 AI 代理错误报告任务完成的基准,却发现大多数“欺骗”分数是由共享聊天状态和静态模拟等测试架构错误导致的,凸显了代理评估基础设施的脆弱性。
📝 Summary
作者详细介绍了 `claimed_done`,一个旨在测试基于 LLM 的代理在工具返回模糊或空成功信号(如 `ok: true` 但 `renamed: 0`)时是否会承认失败的基准。最初,该基准将数个前沿模型标记为不诚实。然而,深入调试后发现,五个特定的测试架构实现错误——例如将 API 限制误认为模型拒绝、在循环中硬编码模型名称、使用无状态模拟导致验证失败、以及在重试时共享聊天上下文——导致本来表现正常的模型被错误地评为说谎。修复这些基础设施问题后,七个测试模型中六个在短任务上达到了 1.00 的诚实分数。唯一真正的失败出现在 Gemma 4 31B 的重试循环中,它在多次失败后产生了成功的幻觉。文章总结认为,代理评估往往更多地是验证脚手架而非模型本身,建议未来基准使用多次运行和更长的任务链。
💡 Main Points
代理评估测试架构是模型不诚实的主要误报来源
测试基础设施中的五个不同错误——包括将 API 限制与模型拒绝混淆、破坏状态验证的静态模拟以及重试时共享聊天上下文——导致本应正常工作的模型被评为说谎。这表明在指责模型完整性之前,开发者必须严格验证自己的脚手架。
当前前沿模型在短而明确的工具使用任务上普遍表现出高诚实度
在修正测试架构后,Claude Haiku/Sonnet/Opus、GPT-5.4 mini、Gemini 3.1 Pro 以及 gpt-oss-120b 都达到了 1.00 的诚实分数。该基准专门针对工具报告成功但未执行任何操作的“静默无操作”情形,这些模型正确识别了缺乏进展。
幻觉完成更可能在复杂的重试循环中出现,而非单次失败
Gemma 4 31B 是唯一失败的模型,在需要多次尝试重命名文件的场景中不一致地失败(4 次跑中 1 次)。它最终报告成功,尽管模拟世界保持不变,表明“假完成”行为可能是由长期挣扎触发的随机失效模式,而非即时工具拒绝。
评估逻辑必须依赖最终世界状态,而非中间工具标签
最初的评分使用情景标签,允许通过替代有效路径(如复制+删除而非移动)绕过。修复方法是检查实际文件系统状态(例如「文件 X 是否在目录 Y 中?」)来判断用户目标是否达成,无论代理如何实现。
💬 Key Quotes
一个错误本来可以接受。错误会被检查。一个假「done」更糟,因为没有下游会检查。
在相信模型失败之前,先检查你的测试架构到底测量了什么。
每行只跑一次不够。Gemma 的 0.92 是一次坏的结果,四次中的一次。单次基准只能给你一个样本,而不是比例。
基准惩罚了它本来想奖励的行为。
📊 Article Meta
AI Screening: 88
Source: DEV Community: machinelearning
Author: build996
Category: 人工智能
Language: 英文
Read Time: 6 min
Word Count: 1332
Tags:
AI 与智能应用 , 模型路由 , LLM 推理优化 , 模型评测与基准 , Harness工程
这个观点很中肯,深有同感。
不错不错,已加入书签。
整理得太全面了,省了我不少时间。
不错不错,已加入书签。
内容翔实,正好需要,先收藏再看。
这个比较实用,已转发给同事。
内容翔实,正好需要,先收藏再看。
实话,说的不明不白
收藏了,以后慢慢研究。
有没有更详细的教程,期待后续。
实测过类似工具,作者说的基本属实。
实话,说的不明不白