一句话定义:SWE-Duel(自扩展编码智能体竞技场)是一类「自扩展」的评测框架——题库不固定,任务随参赛者的水平自动生成与升级,再让编码智能体(coding agent)两两对局,看谁真的能把软件缺陷修好。
为什么需要它:基准饱和
软件工程方向的 AI 评测,长期依赖静态基准(benchmark):从真实开源仓库里挑一批 issue 和对应补丁,配上测试用例,跑一遍看通过率。问题是这类题库一旦公开就会被反复"学习"——模型可能在训练数据里见过题目和答案,也可能只是背下了常见报错模式。分数涨得飞快,真实解决新问题的能力却未必同步。这就是基准饱和(benchmark saturation)和数据污染(data contamination)。好比驾考题库泄露后,学员把答案背得滚瓜烂熟,真上路依然手忙脚乱。
它怎么运转
自扩展竞技场的思路,是把"出题"也交给机器,并让题目跟着选手一起进化:
- 任务生成:从真实仓库的 issue/PR 自动构造带缺陷的代码环境,或由模型合成新的、可验证的 bug 任务;
- 难度升级:题目被解掉就退役,生成器参考参赛者表现抬高难度,覆盖更冷门的语言、框架、并发与边界条件;
- 对局判分:两个智能体在同一任务上比,或与隐藏参考解比,用可执行的测试(隐藏单测、CI 流程)判定成败,而不是听它自称"已修复";
- 排名更新:胜负换算成类似 Elo 的评分,形成动态榜单。
其中"可执行验证"是命脉:答案对不对,跑一遍就知道,这比让模型自评可靠得多。
| 维度 | 静态基准 | 自扩展竞技场(SWE-Duel 类) | 人类投票竞技场 |
|---|---|---|---|
| 题库 | 固定、公开 | 自动生成、持续升级 | 开放式对话 |
| 判分 | 可执行测试 | 可执行测试 + 对局胜负 | 人类偏好投票 |
| 抗污染 | 较弱,易被刷分 | 较强,题目换代快 | 中等 |
| 衡量的是 | 能否复现已知题的解法 | 面对新 bug 的真实修复力 | 回答是否讨喜 |
对从业者与普通人的意义
对工程师,它把"这模型到底会不会改代码"变成一个不断刷新的问题,选型时不能只盯着一张旧榜;评估时要多问几句:题目多久换一次?测试是否可执行?有没有防泄漏机制?对非技术岗位,它的价值在于提供一个不容易被刷分的尺子——毕竟"AI 帮我修好了这个 bug"和"AI 在我没见过的 bug 上还能修好"是两回事。
它也有软肋
自动生成的任务未必贴近真实工程(比如缺乏业务上下文、依赖缺失);智能体还可能出现奖励黑客(reward hacking),绕过测试而不是真正修好代码;难度自动升级若失控,题目会变得又怪又偏。具体任务构造方式、评分规则与最新榜单,以官方页面为准。
一句话收尾:SWE-Duel 的核心不是多一个排行榜,而是承认"题库会过期"这件事,并让评测本身学会自我更新。
