SWE-agent:ACI,给模型而非人设计的计算机接口
同一个 GPT-4 Turbo,用裸 shell 在 SWE-bench Lite 上解 11.00%,换一套专门设计的 Agent-Computer Interface(ACI)后解 18.00%;全量测试集 12.47%,把此前最好成绩(3.8%,非交互 RAG 系统)提高三倍多。四条设计原则 + 四个接口部件 + 一张消融表,这篇论文回答的问题是:「接口设计本身值多少分」。
概览
论文精读
ACI 概念与四条设计原则
论文的出发点是一个类比:人类工程师不会用裸终端写项目,而是用 VSCode 这类 IDE——接口放大了人的能力。那么语言模型作为计算机的「新一类终端用户」,也应该有自己的接口。ACI(Agent-Computer Interface)就是这个抽象层:模型可用的命令,加上环境反馈的格式。作者借人机交互(HCI)的方法做设计:在开发集上观察模型卡在哪里,迭代接口,再网格搜索定参数,最后沉淀出四条原则(论文 §2)。
- ① 动作要简单:命令少而直白、文档要短,模型不依赖示例也能用对
- ② 操作要紧凑:重要操作(看文件、改代码)合并成尽可能少的动作,一步要有一步的进展
- ③ 反馈要简洁:告诉模型动作的效果与当前状态,但不堆砌无关细节
- ④ 要有护栏:如编辑时自动跑语法检查,让模型立刻发现错误、快速恢复(防错误传播)
- 定位:不动模型权重,只改接口——「LM-centric 的交互组件设计对下游任务性能有实质影响」
接口四部件:搜索 / 查看器 / 编辑器 / 上下文
SWE-agent 的每一轮是标准 ReAct 循环(想法 + 命令 → 执行 → 反馈),支撑循环的是四个专门设计的部件(上方图 2)。它们的共同动作是限制:限制窗口大小、限制搜索结果、折叠旧观察——每一处都在给模型的上下文做减法,而第四节的数据会说明这些减法全是加分项。
- 搜索:find_file / search_file / search_dir;单次查询最多返回 50 条,超过就一条都不显示,提示模型把查询写得更具体
- 查看器:open 后每次最多显示 100 行;scroll_up/scroll_down/goto 移动窗口;始终显示全路径、总行数、上下省略行数,每行带行号
- 编辑器:edit 三参数(起始行、结束行、替换文本)一步替换一个区间;改完查看器自动刷新;内置 linter,语法出错的编辑直接丢弃并要求重试
- 上下文管理:最近 5 条之外的观察折叠成一行;命令无输出时明确提示「运行成功且无输出」;输出格式不合法就报错重试,直到合法
关键数字与消融:限制信息量反而更好
主结果(论文 Table 1):GPT-4 Turbo + ACI 在全量 SWE-bench 解出 12.47%(286/2,294),Lite 上 18.00%;对照组里,同一模型用裸 shell 只有 11.00%(相对提升 64%),此前最好的非交互 RAG 系统是 3.8%。换成 Claude 3 Opus 也有 10.46%——ACI 不是某个模型的定制外挂,而是可迁移的。真正的教学宝藏是消融表(Table 3,Lite,基准 18.0%):每次只改一个接口设计,看成绩掉多少。
- 主结果:全量 12.47% · Lite 18.00% · HumanEvalFix 87.7% pass@1 · 平均每解决一个实例花 $1.59(预算上限 $4)
- 消融-编辑器:去掉 linter ↓3.0;没有 edit 命令(退回重定向 / sed)↓7.7——编辑部件价值最大
- 消融-搜索:逐条翻页搜索(仿 Vim / VSCode)↓6.0;干脆没有搜索工具只 ↓2.3——给人设计的接口比不给还差
- 消融-查看器:窗口缩到 30 行 ↓3.7;显示整个文件 ↓5.3——信息给得越多反而越差
- 消融-上下文:保留全部历史(不折叠旧观察)↓3.0;去掉演示样例 ↓1.7
与本仓的关系与后续演化:100 行的 mini
对本站读者,这篇论文不是课外读物:讲义「SWE-agent 执行引擎拆解」以它和开源代码(v1.1.0)为标本;实验平台 S4 的各 brand adapter 解决的正是同一层问题——给不同 Agent 接上一台「计算机」。论文之后的演化也值得一提:官方后来把整个 Agent 核心压进约 100 行 Python 的 mini-swe-agent(官方口径:SWE-bench Verified 上超过 70%),原项目进入仅维护模式。工具从「精心设计的四部件」简化回「一个 bash」,是因为模型变强了;但四条原则——动作简单、操作紧凑、反馈简洁、要有护栏——一条都没过时。
- 本仓关联:执行引擎讲义(源码级拆解)+ S4 brand adapter(统一接口层)+ 过程分析栈(history processor 思想同源)
- 论文金句(§5.2):Agents succeed quickly and fail slowly——成功的任务很快收工,失败的任务慢慢烧钱,预算控制是接口设计的一部分
- 后续演化:mini-swe-agent 约 100 行核心;SWE-agent 主仓进入 maintenance-only 模式(官网告示,2026-09-15 核实)
- 不变的遗产:ACI 四条原则仍是今天设计 Agent 工具接口的默认检查清单