这是本节的多页打印视图。 点击此处打印.

返回本页常规视图.

SWE-agent

2024-05。Princeton:为循环设计 Agent-Computer Interface,而不是把人用的 IDE 原样交给模型。

Princeton NLP 等。arXiv:2405.15793。SWE-agent:面向语言模型的 Agent-Computer Interface。开源对照 Devin。

  1. 论文 — 按原文转述:ACI、SWE-bench / HumanEvalFix 数字。
  2. 讲解 — 动作空间是设计物;给人的 IDE 和给模型的接口不是同一张桌子。

原文:arXiv:2405.15793。

1 - SWE-agent(论文)

按原文转述:Agent-Computer Interface,以及 SWE-bench 上的 pass@1。

John Yang, Carlos E. Jimenez, Alexander Wettig, Kilian Lieret, Shunyu Yao, Karthik Narasimhan, Ofir Press。SWE-agent: Agent-Computer Interfaces Enable Automated Software Engineering。2024-05-24 首挂。arXiv:2405.15793。后收入 NeurIPS 2024。


摘要

语言模型 agent 越来越多被用来在数字环境里自动化复杂任务。人做软件工程会用 IDE 这类应用;作者认为 LM agent 是另一类终端用户,有自己的能力与需求,应有专门为它设计的软件界面。论文研究界面设计如何影响 agent 表现,并给出 SWE-agent:让 LM 自主用计算机做软件工程。自定义的 agent-computer interface(ACI) 增强创建/编辑文件、导航仓库、跑测试与程序的能力。在 SWE-bench 与 HumanEvalFix 上分别达到当时的 pass@1 约 12.5% 与 87.7%,超过先前非交互式 LM 的最好成绩。论文还分析 ACI 设计如何改变行为与分数。

ACI 主张

人用的 Linux shell / IDE 对模型并不友好:动作太细、反馈太长或太噪。SWE-agent 提供较小的、面向 LM 的命令集:搜索与导航、面向模型的文件查看与编辑、护栏、简短反馈。每一步大致是 ReAct 式的「想 + 命令」,环境回执进入下一步。需要时仍可落到普通 Linux 命令。

作者把贡献写成:证明界面是 agent 表现的一等变量,而不只是换更强的模型。

评测(文中报告)

  • SWE-bench: GPT-4 Turbo 作决策核心时,pass@1 约 12.47% / 12.5%(摘要四舍五入)。
  • HumanEvalFix: 87.7%。

对象是开源循环 + 公开模型,不是闭源「软件工程师」产品。数字与 Devin 的 13.86% 不能直接横比(子集、是否 assisted、脚手架都不同);论文自己比的是先前非交互式基线。

2 - SWE-agent 讲解

给人的 IDE 对模型过宽又过窄。ACI 把编辑、导航、测试裁成循环能吃的动作集。

论文解决了什么问题

Devin 把「自主修 issue」做成舆论。学界缺一个可复现的对照:同样用 GPT-4 级模型,循环怎么接计算机,分数才上得去。SWE-agent 的答案不是再写一套更炫的多 Agent,而是 改界面。人用的 Linux shell / IDE 对模型并不友好:动作太细、反馈太长或太噪;同时又缺少「运行测试并返回失败切片」这种原语。ACI 提供较小的、面向 LM 的命令集:搜索与导航、面向模型的文件查看与编辑、护栏、简短回执。这是 2022 年 ReAct「行动是自由文本」之后,编码线上把 Action 重新设计成「给模型用的 API」。动作空间是设计物,不只是换更强的核心。

按 AI Agent 定义,SWE-agent 是 Agent:决策、在仓库环境里行动、用测试回执再决策。

对后续 LLM 与 Agent 的影响

后来的编码运行时(OpenHands、Claude Code、Codex CLI)都在做同一件事的产品版:不是把 VS Code 像素原样交给模型,而是给一套模型吃得消的工具。ACI 这个词没有全部流行起来,这个设计问题留下来了。

12.5%(GPT-4 Turbo,SWE-bench 全量口径下的论文数字)和 Devin 的 13.86% 外观接近,口径不同:子集、是否 assisted、脚手架都不可直接横比。真正要记的是:2024 年开源循环第一次在 SWE-bench 上拿出可引用的双位数,而且论文把「接口」写成自变量。刷分后来靠更强模型和 Verified 子集;界面这一课没有作废。