BUILD-AND-FIND: An Effort-Aware Protocol for Evaluating Agent-Managed Codebases
本文介绍了 BUILD-AND-FIND,这是一种感知构建成本的评估协议,通过不仅衡量行为正确性,还评估下游代理恢复原始设计意图和规范所需的准确性与检查工作量,来评估代理生成代码库的质量。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
以下是用通俗语言和日常类比对论文《BUILD-AND-FIND》的解释。
核心理念:重要的不仅是答案,更是“笔记”
想象你雇佣了一位厨师(AI 智能体),让他根据你提供的一份秘密食谱烹饪一道复杂的菜肴。
- 旧方法: 你品尝食物。如果味道好,厨师就过关了。
- 新问题: 如果厨师做了一道美味的菜,但他把秘密食材锁在一个盒子里,用隐形墨水写下食谱,或者把厨房弄得一团糟呢?后来,另一位厨师(另一个 AI)需要进来品尝食物,并弄清楚它是如何制作的,以便修复烧焦的边缘或添加更多盐分。如果第一位厨师没有留下清晰的线索,即使食物味道很棒,第二位厨师也可能失败。
这篇论文介绍了一种测试 AI 程序员的新方法,称为BUILD-AND-FIND。它不再仅仅检查代码是否“能运行”(味道是否好),而是检查代码是否易于阅读和理解,以便下一个(或另一个 AI)需要处理它的人能够轻松上手。
两个角色:构建者与发现者
研究人员设计了一个包含两个不同角色的游戏:
构建者(厨师):
- 他们获得一份隐藏的“规范”(秘密食谱)。
- 他们的任务是根据这些说明构建一个完整的软件项目(厨房和菜肴)。
- 他们不知道其他人会立即查看他们的工作;他们只需要让项目能运行即可。
发现者(检查员):
- 他们仅获得最终的代码(厨房和菜肴)。他们不被允许查看原始的秘密食谱。
- 他们获得一份关于设计选择的选择题列表(例如:“为什么厨师选择了这种特定类型的烤箱?”或“盐存放在哪里?”)。
- 他们的任务是浏览代码,找到证据,并正确回答问题。
评分标准:准确率与努力程度
这篇论文主要衡量两件事:
他们答对了吗?(准确率)
- 发现者能否仅通过查看代码就找出正确答案?
- 类比: 检查员是否成功找到了隐藏的香料罐?
他们花了多少力气?(检查努力程度)
- 这是这篇论文的重大创新。如果两位构建者都编写了能让发现者得出正确答案的代码,哪一位更容易被理解?
- 研究人员通过计算发现者必须阅读或搜索的代码字节数来衡量“努力程度”。
- 类比: 如果厨师 A 把盐罐放在柜台上,而厨师 B 把它藏在一个需要复杂密码才能打开的保险箱里,两位厨师都做出了可食用的食物。但厨师 A 让下一个人更容易开展工作。这篇论文奖励那位把“盐”留在柜台上的厨师。
为什么这很重要
这篇论文认为,未来 AI 智能体将在团队中工作。一个 AI 编写程序,另一个 AI 随后必须修复或更新它。
- 如果第一个 AI 编写的代码虽然“正确”但杂乱无章或令人困惑,第二个 AI 将会举步维艰。
- BUILD-AND-FIND 证明了我们可以衡量 AI 代码的“可读性”或“沟通性”,这与代码是否实际运行无关。
结果(他们的发现)
研究人员在两种类型的任务上测试了多种强大的 AI 模型(如 GPT-5、Claude Opus 等):构建微型数据库和构建微型 Web 服务器。
- “高先验”问题: 他们提出的问题通常是经验丰富的工程师通常熟记于心的内容(例如“数据库通常在写入之前保存日志”)。由于 AI 很聪明,即使不阅读代码,它们也能利用其通用知识猜出正确答案。
- 解决方案: 因为所有人都答对了,研究人员不能仅仅计算“正确答案”的数量。相反,他们关注了 AI 必须进行的阅读量。
- 一些 AI 模型编写的代码中,答案显而易见且易于找到(低努力程度)。
- 另一些模型编写的代码中,答案深埋在文件深处,需要发现者阅读更多内容才能找到(高努力程度)。
- 获胜者: 那些产生代码、需要最少阅读量即可找到答案的模型,被认为在“传达”其设计选择方面表现最佳。
安全网(控制措施)
为了确保 AI 不是在作弊或猜测,研究人员添加了安全检查:
- 仅问题测试: 他们在不向发现者展示任何代码的情况下提出问题。如果 AI 在这里答对了,那它只是基于通用知识在猜测。
- 仅规范测试: 他们向发现者展示秘密食谱,但不展示代码。这证明了食谱本身是清晰的。
- “关卡”: 研究人员只有在发现者确实答对答案的情况下,才计算“努力程度”分数。如果发现者完全找不到答案,无论他们阅读了多少内容,该代码都被视为失败。
总结
BUILD-AND-FIND 是一项针对 AI 程序员的新测试。它问道:“如果你编写了这段代码,另一个 AI 能否轻松理解你为何做出这些选择?”
它将关注点从“代码能否运行”转移到“代码是否是面向未来的良好沟通工具”。最好的 AI 不仅仅是那个能构建出正确事物的 AI,而是那个能以让下一个人轻松接手并继续工作的方 式来构建事物的 AI。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。