SWE-agent:通过代理-计算机接口实现自动化软件工程的范式突破

@莫得名字 2025-12-25 19:40:56

在仓库级软件修复(Repository-level Software Repair)任务中,如何让大语言模型(LLM)?现有方法多直接复用人类交互界面(如 Linux Shell、VSCode),但 LLM 与人类在认知能力、上下文处理、错误恢复等方面存在本质差异,导致性能受限。

来自普林斯顿大学的研究团队在 NeurIPS 2024 发表的 SWE-agent 论文首次提出 代理-计算机接口(Agent-Computer Interface, ACI)这一新范式,并构建了一个面向软件工程任务的专用 ACI。在 SWE-bench 上,SWE-agent 使用 GPT-4 Turbo 实现 12.47% 的修复成功率(pass@1),远超此前 SOTA 的 3.8%;在 HumanEvalFix 上更是达到 87.7%,验证了其在函数级修复中的强大能力。

更重要的是,SWE-agent 揭示了一个核心设计原则:为 LLM 代理量身定制的交互接口,比直接复用人类 UI 更有效


 

动机:为何人类 UI 不适合 LLM 代理?

论文指出,当前 LLM 代理(如 AutoCodeRover、SWE-Agent 原型)多在 Linux Shell 中操作,但 Shell 存在三大问题:

  1. 命令粒度过细、文档冗长
    sedgrep 等命令选项繁多,LLM 难以准确使用,常因参数错误导致编辑失败。
  2. 缺乏结构化反馈
    Shell 命令成功执行后常无输出(如 rm file.py),LLM 无法确认操作是否生效,易重复执行或误判状态。
  3. 错误恢复能力弱
    一次语法错误编辑(如缩进错误)若未被及时纠正,会污染后续上下文,引发级联失败。


SWE-agent 方法论:四大 ACI 设计原则

SWE-agent 围绕 “面向 LLM 优化” 提出四大设计原则,并据此构建 ACI:

1. 命令应简单易懂(Simple & Understandable)

  • 提供专用命令:find_filesearch_filesearch_dir 替代 ls+cd+grep 组合;
  • 每个命令仅 1–3 个参数,文档简洁,降低 LLM 理解负担。

2. 操作应紧凑高效(Compact & Efficient)

  • 文件编辑edit start:end replacement_text 一步完成多行替换;
  • 文件查看open + goto/scroll 支持高效导航,避免 cat 淹没上下文。

3. 环境反馈应信息丰富但简洁(Informative but Concise)

  • 编辑后自动显示更新后的文件片段
  • 若命令无输出(如 rm),主动返回 "Your command ran successfully..."
  • 历史观察(>5 步前)自动折叠,避免上下文膨胀。

4. 引入守卫机制加速错误恢复(Guardrails for Error Recovery)

  • 编辑守卫:每次 edit 后运行 flake8 检查语法,若出错则:
    • 拒绝应用更改;
    • 返回错误类型 + 修改前后代码对比
    • 要求 LLM 修正后重试。


实验结果:全面超越基线

主实验(SWE-bench)

系统

模型

% Resolved

$ Avg Cost

RAG (非交互)

GPT-4 Turbo

1.31%

$0.13

Shell-only

GPT-4 Turbo

11.00%

$1.46

SWE-agent

GPT-4 Turbo

12.47%

$1.59

SWE-agent

Claude 3 Opus

10.46%

$2.59

  • 相对 Shell-only 提升 13%(11.0% → 12.5%);
  • 在 SWE-bench Lite 上,18.0% 修复率,显著优于基线。

消融实验(Table 3)

  • 无编辑守卫:15.0% → 12.0%(↓3.0%);
  • 全文件显示(vs 100 行窗口):12.7%(↓5.3%);
  • 无演示(demonstration):16.3%(↓1.7%)。


启示与贡献

  1. ACI 是提升 LLM 代理性能的关键:无需微调模型,仅通过接口设计即可显著提升性能。
  2. LLM 代理的行为可预测:成功轨迹通常遵循“复现 → 定位 → 编辑 → 测试”模式(见 Figure 16)。
  3. 失败主因是实现错误:52% 的失败案例属于“错误实现”或“过度特化”,而非定位失败。
  4. 成本效益高:88% 的成功案例在 $2.5 内完成,远低于预算上限 $4。

开源地址https://swe-agent.com

...全文
148 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

109

社区成员

发帖
与我相关
我的任务
社区描述
本社区由重庆大学与云从科技联合发起并共同运营,旨在打造一个开放、前沿、务实的知识共享与交流平台。 我们聚焦于两大前沿技术领域:通用语言大模型 (LLM)与知识协同技术。
软件工程 个人社区 重庆·沙坪坝区
社区管理员
  • 阿大abcd
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧