From Laboratory to Real-World Applications: Benchmarking Agentic Code Reasoning at the Repository Level
本文介绍了RepoReason,这是一个利用执行驱动的变异和动态程序切片来诊断仓库级代理代码推理的白盒基准,揭示了集成宽度是前沿模型的主要认知瓶颈。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你正在尝试教一个超级聪明的机器人如何成为一名软件工程师。你想知道它是否不仅能写出一行代码,还能理解一个大型项目中成千上万个文件是如何协同工作的,就像指挥家领导一支庞大的交响乐团一样。
本文介绍了一种测试这些机器人的新方法,称为RepoReason。以下是关于他们如何构建它以及发现了什么的简单故事。
问题:“实验室”与“现实世界”
此前,测试这些机器人就像在安静的教室里(“实验室”)给它们出一道单一的数学题。它们能轻松解决。但真正的软件工程就像一座拥有数百万条相互连接道路的混乱、嘈杂的城市。如果你要求机器人修复某个特定街区的交通拥堵,它需要理解该街区如何与城市的其余部分相连。
旧的测试要么太简单(单一的数学题),要么太模糊(它们只是问“你修好交通了吗?”,而没有解释机器人是如何迷失方向的)。作者希望有一种测试能像诊断性 X 光一样,精确显示机器人的大脑在何处失效。
解决方案:一场“白盒”侦探游戏
作者创建了一个名为RepoReason的基准测试。他们不是要求机器人编写新代码,而是用现有的复杂代码玩一场“填空”游戏。
- 设置:他们选取一个真实的、庞大的软件项目(例如数学库或模板引擎)。
- 转折(“魔术”):为了防止机器人仅仅从训练数据中死记硬背答案,作者使用了一个**“变异引擎”**。想象一下,将食谱中的糖量从 1 杯改为 2 杯,然后问机器人:“蛋糕的新重量是多少?”
- 机器人不能只是猜测;它必须在脑海中完整运行整个食谱,以找出新结果。
- 由于数字已更改,机器人无法通过记住旧答案来作弊。它必须真正进行推理。
- 目标:机器人必须查看代码,追踪不同文件中的逻辑,并猜出能使特定测试通过的正确数字。
三个“大脑指标”
这篇论文不仅仅给出“通过”或“失败”的结论。它通过三个富有创意的类比来衡量机器人如何思考:
阅读负荷(ESV)——“图书馆规模”:
- 机器人必须阅读多少页书才能找到答案?
- 发现:如果机器人必须一次性阅读超过600 行代码,它的大脑开始变得模糊。它会失去对故事脉络的把握。
模拟深度(MCL)——“多米诺骨牌链”:
- 机器人必须在脑海中走多少步才能从 A 点到达 B 点?
- 发现:如果事件链超过100 步,机器人开始掉链子。它会忘记链条开始时的情况。
集成宽度(DFI)——“拼图”:
- 这是最关键的一点。机器人必须同时在脑海中持有多少来自代码不同部分的不同信息块,才能解开这个谜题?
- 发现:这是机器人最大的弱点。当机器人必须结合来自20 多个不同来源的信息时,其性能会崩溃。它能阅读这些碎片,但无法将它们拼合成一个完整的画面。
重大发现:“聚合缺陷”
作者测试了可用的最先进 AI 模型(如 Claude、GPT 和 DeepSeek)。他们发现了一个惊人的事实:
- 瓶颈:即使是最好的机器人,擅长阅读,也擅长遵循长链条的步骤。但它们极不擅长同时结合许多不同的信息块。
- 类比:想象一位侦探,他能阅读一份 500 页的文件并完美记住每一个细节。但如果你给他来自 20 位不同证人的 20 条不同线索,让他破案,他会感到困惑并错过其中的联系。他们患有**“聚合缺陷”**。
为什么这很重要
这篇论文是一个诊断工具。它告诉我们,为了构建未来更好的 AI 工程师,我们不应仅仅让他们读得更快或记住更长的链条。我们需要教他们如何综合信息——如何审视系统中许多不同且互不相连的部分,并理解它们如何共同构成一个单一的逻辑结果。
简而言之:机器人擅长阅读地图,但当道路变得过于复杂时,它们不擅长导航整个城市。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。