一句话定义:智能体基准(Agent Benchmark)是一套标准化的评测流程,用来衡量一个能自主调用工具、分多步行动的 AI 智能体(agent)在真实任务上能不能把活干完。SWE-bench 是其中最有代表性的一个——它拿开源代码仓库里真实的 issue(问题单)当考题,看模型能不能改出一份让测试通过的补丁(patch)。
它是怎么运转的
SWE-bench 的题目不是人编的,是从真实项目里"回收"的:某个 issue 曾经被人修好并合并进主干,那这个 issue 的原始描述、修复前的代码快照、以及配套的测试用例,就被打包成一道题。
给智能体的只有:一份完整的代码仓库副本 + 一段自然语言描述。剩下的全靠它自己——搜索文件、读代码、猜问题出在哪、写补丁、跑测试、发现不对再改。判分方式非常干脆:跑测试。原来失败、现在通过的用例(fail-to-pass)算你修对了;同时原本就通过的用例(pass-to-pass)不能被弄坏。两条都满足,这道题才算"解决"。
打个比方:这就像让一个刚入职的实习生去修线上 bug。给他完整代码库和一张用户报障单,没有老师傅在旁边指路,也不告诉你该改哪个文件。最后验收的是测试用例——不是他说"我修好了"就算,得看红绿灯。
为什么分数经常没法横向比
这是这类基准最大的坑:脚手架(scaffold,也叫 harness)。同一个模型,换一套智能体框架,成绩可能差出一大截。给不给检索工具、能不能真的运行测试、允许多少轮交互、上下文怎么裁剪、提示词怎么写、允不允许重试——全是变量。
好比同一辆车,换赛道、换轮胎、换油品,圈速当然不一样。所以看到两篇论文各报一个分数,先别急着排名次,得确认是不是同一套骨架、同样的预算。此外还有个绕不开的问题:题目出自公开 GitHub,很可能早就进了训练数据,存在数据污染。
| 维度 | 传统问答/代码基准 | 智能体基准(如 SWE-bench) |
|---|---|---|
| 交互形式 | 单轮:问一次、答一次 | 多轮:搜索、编辑、运行、再改 |
| 环境 | 基本没有 | 真实代码仓库 + 可执行测试 |
| 判定方式 | 比对参考答案 | 跑真实测试,看红绿灯 |
| 主要变量 | 模型本身 | 模型 + 脚手架 + 预算(轮数、时间) |
| 可比性 | 相对较高 | 同一脚手架内可比,跨脚手架要谨慎 |
对从业者和普通人的意义
对工程师:别只看一个数字。要看是不是同一套脚手架、判分时给没给模型"偷看"测试的机会、报的是单次成功率还是多次尝试里的最好成绩、有没有做污染检查。想拿它评估自家模型,最稳的做法是复现别人的骨架,或者干脆从自己仓库的历史 issue 里挖一份小规模私有基准——那才贴近你真正关心的能力。
对管理者和其他职场人:这类基准的价值在于把"AI 到底能不能干活"从主观感受,变成一个可执行、可复现的验收流程,本质上就是给 AI 设 KPI。但任何 KPI 都会被针对性地优化,分数高不等于在你的业务里好用。榜单细节随时在变,以官方页面为准。
