Empowering Autonomous Debugging Agents with Efficient Dynamic Analysis
本文介绍了以智能体为中心的调试接口(ADI),这是一个由帧生命周期追踪驱动的成本效益高、函数级调试框架,可显著增强自主程序修复智能体,使基础智能体能够解决 63.8% 的 SWE-bench 任务,并在与最先进系统集成时提供一致的性能提升。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
以下是用简单语言和创意类比对论文《通过高效动态分析赋能自主调试代理》的解释。
问题: “盲目”侦探与“微观管理”实习生
想象你正在修理一台坏掉的机器(一个计算机程序)。你有一位非常聪明的 AI 侦探(一个自主代理),他的任务是找出坏掉的部件并将其修复。
旧方法(事后调试):
目前,大多数 AI 侦探像法医一样工作。他们等待机器崩溃或给出错误答案。然后,他们查看最终结果(“尸体”),试图猜测哪里出了问题。
- 缺陷: 如果机器在复杂过程的深处犯了一个微小的计算错误,最终结果看起来几乎与正确答案相同。侦探看到了错误答案,却完全不知道为什么会发生。他们是在黑暗中猜测,往往反复犯同样的错误,直到耗尽资金(计算预算)。
“自然”的解决方案(传统调试器):
你可能会想:“让我们给侦探一个放大镜,让他查看机器采取的每一个步骤!”这就像使用传统调试器(如 PDB 或 GDB)。
- 缺陷: 这就像雇佣一个被微观管理的实习生。为了看清发生了什么,侦探必须要求机器“停止”、“向我展示这个变量”、“跳到下一行”、“向我展示那个变量”、“跳到下一行”。
- 因为 AI 必须为每一行代码问一个问题,它会精疲力竭。它把所有钱都花在提问上,却从未真正解决问题。这太慢且太昂贵。
解决方案:“执行摘要”仪表盘
作者介绍了一种名为ADI(以代理为中心的调试接口)的新工具。将 ADI 想象为一个专为 AI 侦探设计的高科技仪表盘或智能摘要报告。
ADI 让侦探不再逐行查看机器,而是逐函数查看机器。
1. “帧生命周期追踪”(电影胶卷)
在传统调试中,你一次只能看到电影的一帧。ADI 为程序运行的每一个函数向侦探提供完整、独立的电影胶卷。
- 这个“胶卷”(称为帧生命周期追踪)显示:
- 哪些“原料”(参数)进入了该函数。
- 该函数内部采取的每一个步骤。
- “原料”在每一步是如何变化的。
- 最终结果是什么。
- 类比: 侦探不再问实习生"X 的值是多少?现在 Y 呢?现在 Z 呢?”,而是得到一份单一文件,上面写着:“这是机器这一特定部分从开始到结束的精确工作原理,包括它所做的每一次更改。”
2. “高级命令”(遥控器)
ADI 为侦探提供了一套智能按钮(命令),用于浏览这些电影胶卷,而不会被细节拖累。
break/continue(断点/继续): “当这个特定函数开始时暂停电影,但仅当满足特定条件时。”step-into/step-out(单步进入/跳出): “放大查看此函数内部发生了什么”,或者“缩小查看是谁调用了此函数”。call-tree(调用树): “向我展示谁调用了谁的家族树。”execute(执行): “假设我暂时只更改了这一行代码——会发生什么?”
现实生活中的运作方式(示例)
论文使用了来自Astropy库(一个天文学工具)的真实示例。
- 缺陷: 一个函数正在计算“可分性矩阵”(显示事物是否独立的网格)。对于简单情况,它能正常工作。对于复杂的嵌套情况,它给出了错误的答案,但错误是静默的(没有崩溃,只是数据错误)。
- 旧 AI: 试图通过猜测来修复。它运行测试,看到错误的网格,猜测一个修复方案,再次运行测试,看到同样的错误网格,然后陷入死循环。
- PDB AI: 试图逐行单步执行。它问了数百个问题,耗尽了资金,然后放弃了。
- ADI AI(FramePilot):
- 它请求主函数的摘要。
- 它查看了“电影胶卷”,并注意到在一个子函数内部,一个特定的数组被填充了错误的数字(全是 1 而不是真实数据)。
- 它使用一个命令直接跳转到该子函数,并检查错误发生的具体时刻。
- 它找到了导致问题的确切代码行并修复了它。
- 结果: 它快速且廉价地解决了问题。
结果:更快、更便宜、更智能
研究人员在著名的真实世界软件缺陷测试套件SWE-bench上测试了这个新系统(称为FramePilot)。
- 成功率: 带有 ADI 的 AI 修复了**63.8%**的困难任务。这实际上比运行成本高得多的、高度优化的商业代理(Claude-Tools)还要好。
- 成本: 它平均每个任务仅花费1.28 美元就解决了这些问题。
- 即插即用: 他们还将此 ADI 工具添加到另外两个顶级 AI 代理中。这也使那些代理变得更好,将它们的成功率提高了6% 到 18%。
底线
该论文声称,通过改变 AI 代理“查看”代码的方式——从缓慢的逐行审讯转变为快速的函数级“执行摘要”——我们可以使自主调试变得更加有效和实惠。它将 AI 从一个困惑的实习生转变为一个拥有犯罪现场完美地图的熟练侦探。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。