TrajAudit: Automated Failure Diagnosis for Agentic Coding Systems
本文介绍了 TrajAudit,这是一个新颖的框架,旨在通过过滤噪声长轨迹并利用先验知识来改进仓库级代理编码系统的故障诊断,该框架在新型 RootSE 基准测试中相较于现有基线实现了显著更高的定位准确率和令牌效率。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你有一个非常智能的自动化机器人助手(即“AI Agent”),它的工作是修复一个庞大而复杂的软件库中的漏洞。有时,这个机器人能完美地完成任务。但其他时候,它试图修复问题,却搞得一团糟,软件依然崩溃。
关键问题是:机器人究竟在哪里、以及为什么出错了?
这正是论文《TrajAudit》试图解决的问题。以下用简单的类比来拆解该论文的核心思想。
问题:大海捞针
当机器人尝试修复漏洞时,它会留下一条长长的数字足迹,称为轨迹(trajectory)。这条轨迹包含了机器人的每一个想法、打开的每一个文件、输入的每一个命令,以及看到的每一条错误信息。
- 干草堆:这些轨迹极其漫长(有时超过 100 步),且充满“噪音”。想象一下,机器人阅读了一本 500 页的手册,复制了整章无关紧要的代码,并列出了文件夹中的每一个文件。这就是“干草堆”。
- 针:在这海量信息中,有一个特定的时刻,机器人做出了错误的决定(即“针”)。
- 旧方法:以往的方法试图一次性阅读整本 500 页的手册来找出错误。但就像人类一样,AI 会被如此多的文本压垮,开始忽略明显的线索。这就像试图一口气读完整本小说来找出一个拼写错误。
解决方案:TrajAudit(侦探)
作者们创建了一个名为TrajAudit的新系统。与其让机器人一次性阅读所有内容,不如构建一个拥有两名特殊助手的侦探 Agent。
将侦探 Agent 想象成一位经验丰富的调查员,他不会立即阅读整个文件,而是使用两个智能工具:
1. “先验知识”助手(直觉)
在侦探查看混乱的轨迹之前,这名助手会先查看错误信息(崩溃报告)和测试代码(机器人未能遵循的规则)。
- 类比:想象侦探抵达犯罪现场。在查看凌乱的房间之前,他先阅读了警方报告,上面写着:“受害者被毒杀。”侦探现在有了一个直觉:“好的,我不需要查看家具;我需要查看厨房和饮料。”
- 在论文中:该模块为 AI 提供了“初步诊断”。它告诉主 Agent:“重点关注机器人查看数据库的部分,而不是它仅仅列出文件的部分。”这防止了 AI 在噪音中迷失。
2. “语义显著性折叠”助手(摘要者)
这名助手查看漫长而混乱的轨迹,并问道:“这条信息对崩溃真的重要吗?”
- 类比:想象你有一份 100 页的对话记录。大部分内容是人们在说“你好”、“你好吗”以及“让我检查一下这个文件”。但在第 42 页,有人说:“我删错了文件!”
- 旧方法会阅读第 1 到 100 页。
- 这名助手会折叠(隐藏)第 1 到 41 页以及第 43 到 100 页,只保留关键句子可见。它保留“错误日志”和“代码更改”,但隐藏了无聊的“文件列表”噪音。
- 在论文中:它利用模式匹配来查找代码更改以及“错误”或“异常”等关键词。其他所有内容都被压缩成一个微小的占位符。这使得轨迹变得简短而清晰。
3. 侦探 Agent(调查员)
现在,主侦探 Agent 结合第一个助手提供的直觉,查看这份简短、清晰的摘要。
- “按需”技巧:如果摘要不足以让侦探 100% 确定,侦探可以说:“等等,我需要查看第 3 步的完整细节。”然后它会要求系统“展开”仅该特定部分。
- 结果:Agent 找到了机器人出错的确切步骤,解释了为什么它是错的,并且不会因 500 页的噪音而感到困惑。
验证:RootSE(考试)
为了证明其系统有效,作者不能仅在简单任务上进行测试。他们需要一场真正的难题考试。
- 他们创建了一个名为RootSE的新基准。
- 考试:他们选取了 93 个真实世界的案例,其中 AI Agent 未能修复软件漏洞。这些并非简单任务,而是复杂的、涉及多文件的任务,生成了数千步的数据。
- 分数:当他们用新的“侦探”系统与旧方法进行测试对比时:
- 准确率:新系统找到确切错误的频率比最佳以往方法高出24%。
- 效率:由于没有浪费时间阅读无聊的部分,它使用的计算机资源(tokens)减少了 18%。
总结
该论文认为,当 AI Agent 在复杂的编码任务中失败时,我们不能仅仅将它们失败的全部历史喂给它们。它们会被压垮。
TrajAudit 就像在 AI 开始阅读之前,给它一个智能过滤器和一个良好的直觉。它隐藏无聊的噪音,突出关键线索,并让 AI 能够聚焦于错误发生的具体时刻。这使得 AI 在查明机器人失败原因时,速度更快、准确度更高。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。