Princeton NLP 等。arXiv:2405.15793。SWE-agent:面向语言模型的 Agent-Computer Interface。开源对照 Devin。
原文:arXiv:2405.15793。
Princeton NLP 等。arXiv:2405.15793。SWE-agent:面向语言模型的 Agent-Computer Interface。开源对照 Devin。
原文:arXiv:2405.15793。
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 设计如何改变行为与分数。
人用的 Linux shell / IDE 对模型并不友好:动作太细、反馈太长或太噪。SWE-agent 提供较小的、面向 LM 的命令集:搜索与导航、面向模型的文件查看与编辑、护栏、简短反馈。每一步大致是 ReAct 式的「想 + 命令」,环境回执进入下一步。需要时仍可落到普通 Linux 命令。
作者把贡献写成:证明界面是 agent 表现的一等变量,而不只是换更强的模型。
对象是开源循环 + 公开模型,不是闭源「软件工程师」产品。数字与 Devin 的 13.86% 不能直接横比(子集、是否 assisted、脚手架都不同);论文自己比的是先前非交互式基线。
Devin 把「自主修 issue」做成舆论。学界缺一个可复现的对照:同样用 GPT-4 级模型,循环怎么接计算机,分数才上得去。SWE-agent 的答案不是再写一套更炫的多 Agent,而是 改界面。人用的 Linux shell / IDE 对模型并不友好:动作太细、反馈太长或太噪;同时又缺少「运行测试并返回失败切片」这种原语。ACI 提供较小的、面向 LM 的命令集:搜索与导航、面向模型的文件查看与编辑、护栏、简短回执。这是 2022 年 ReAct「行动是自由文本」之后,编码线上把 Action 重新设计成「给模型用的 API」。动作空间是设计物,不只是换更强的核心。
按 AI Agent 定义,SWE-agent 是 Agent:决策、在仓库环境里行动、用测试回执再决策。
后来的编码运行时(OpenHands、Claude Code、Codex CLI)都在做同一件事的产品版:不是把 VS Code 像素原样交给模型,而是给一套模型吃得消的工具。ACI 这个词没有全部流行起来,这个设计问题留下来了。
12.5%(GPT-4 Turbo,SWE-bench 全量口径下的论文数字)和 Devin 的 13.86% 外观接近,口径不同:子集、是否 assisted、脚手架都不可直接横比。真正要记的是:2024 年开源循环第一次在 SWE-bench 上拿出可引用的双位数,而且论文把「接口」写成自变量。刷分后来靠更强模型和 Verified 子集;界面这一课没有作废。