论文
代码理解是编码代理的瓶颈
Code Understanding is a Bottleneck for Coding Agents
摘要
编码代理的存储库基准(例如,SWE-bench)通常假设编辑的代码行可以预测任务难度,但此类数据集对代码和任务类型的控制不佳,使得很难知道哪些能力真正导致代理错误。我们提出 CABRA:用于严格代理评估的编码能力蓝图。 CABRA 从头开始构建任务作为调用图转换,并通过四个轴上的任务大小参数来衡量难度:函数遍历、搜索、运行时解析和指令跟踪。我们在 6,840 个 CABRA 任务上运行 8 个 LLM 和 6 个编码代理,以显示:1)LLM 准确性随着任务大小的增长而下降,但代理通过将工作转移到工具(例如 grep)来保持近乎完美; 2) 较大的 CABRA 任务会引发更多的工具调用来进行读取和分析,而 SWE-bench Verified 上的一项单独研究表明,这些工具调用计数比编辑的代码行更好地预测代理的准确性,这表明代理的任务困难可能在于理解要编辑的代码,而不仅仅是进行编辑; 3) 将 CABRA 扩展到深入的理解任务,其中模型分析不同的 两个类别的逻辑支持了这一发现,因为智能体的准确性最终下降。更广泛地说,我们主张像 CABRA 这样的综合评估可以揭示 LLM 的弱点,这些弱点被工具(例如大海捞针)和编辑以外的能力(例如理解)所忽视,编码代理仍然发现困难,将 SWE 工作台式任务与受控诊断相结合。