AI编程智能体生成的补丁可能通过测试,却在服务器加载真实模型并处理请求时失败。因此,评估推理服务软件的变更需要检查完整的服务路径,包括系统是否能通过其公共接口返回正确结果。

在SGLang团队的参与协助下,SWE-Serve通过53项任务来评估这种差距,这些任务源自SGLang(一个用于服务大语言模型的开源系统)的已合并变更。在19项包含实时服务检查的任务中,相同的补丁在排除这些检查时通过率为69.4%,但在使用完整验证器时通过率仅为45.9%。也就是说,大约三分之一通过了其他检查的补丁在实时服务测试中失败。

快速链接:阅读论文 | 查看排行榜 | 在GitHub上运行SWE-Serve

SWE-Serve测试的内容

现有的仓库级基准测试评估编程智能体在通用软件工程任务上的表现,而推理基准测试通常集中在内核生成或性能优化上。SWE-Serve则测试推理服务栈上的仓库规模变更,包括模型启用、解码、缓存、调度、服务API和运行时性能。

为了评估这种更广泛的工程工作,SWE-Serve将83个已合并的SGLang拉取请求转化为跨六个推理工程类别的53项可执行任务。

其中12项任务在CPU上运行,41项使用单个英伟达H100。此首个版本不评估其他推理引擎、多GPU执行或多节点服务。

37项任务源自单个上游拉取请求,其余16项则结合了两到六个相关变更。总计,该基准测试基于83个已合并的SGLang拉取请求构建。作为SWE-Serve的发布合作伙伴,SGLang团队为识别具有挑战性的任务提供了思路,建议了特别有难度的拉取请求,并帮助确定了正确性验证的方法。

每项任务都会给智能体一条指令,以及目标变更之前的容器化SGLang代码检出版本。如果智能体的补丁在声明的硬件上满足任务的隐藏验证器,则视为通过。补丁从不会与参考实现进行比较。

这些都是重大的变更。参考解决方案的中位数涉及修改7个文件中的553行代码。典型的验证器包含7个针对新行为的测试和10个回归测试。19项任务会启动真实服务器,3项任务在H100上执行经过校准的性能门槛检查。

一项任务的具体样例

其中一项任务要求智能体为稠密模型和混合专家(MoE)架构的Qwen3.5模型添加服务支持。从一个不支持Qwen3.5的版本开始,智能体必须让0.8B稠密模型和35B-A3B MoE模型都能通过标准SGLang接口在单个H100上加载并提供服务。

该任务的验证器检查模型注册、配置和权重加载、图像和视频输入、OpenAI兼容请求、原生批量生成、对数概率,以及通过MoE模型路由专家的执行情况。

实时服务测试能发现什么问题

有些故障只有在真实服务器启动后才会出现。SGLang团队为端到端验证贡献了思路,包括针对特定模型服务测试的建议。SWE-Serve包含19项任务,这些任务会加载所需模型,并通过实时服务接口测试智能体的补丁。

在这些任务中,相同的627个补丁在完整验证器下的通过率为45.9%。当排除实时服务测试时,这一比率上升到69.4%。换句话说,有147个补丁在排除实时服务测试后从失败变为通过。

这19项任务包含276个实时服务测试。其中242个来源于SGLang或根据其改编,其余34个则涵盖了在没有合适上游测试可用时,相应已合并变更所引入的行为。

Gemma 4 MoE任务的结果具体说明了这一点。在33个补丁中,有16个通过了其他所有检查,却至少在一项实时服务测试中失败。这些测试涵盖模型加载、专家路由、文本和图像服务,以及带有正确排序和对数概率的批量生成。

SWE-Serve的通过含义很狭窄:补丁满足了基准测试验证器的要求。SWE-Serve的测试并非SGLang的上游审查流程,它们并不能证明智能体补丁或基准参考解决方案可以部署、可以合并,或者获得了SGLang维护者的认可。

智能体得分较低的领域

我们将请求到输出的路径划分为四个运行时领域:请求处理与I/O、调度与请求生命周期、模型执行,以及KV缓存与运行时资源管理。

在11个模型各自的最佳设置下,仅涉及单一运行时领域的26项任务通过率为69.0%,而跨越多个运行时领域的27项任务通过率为47.7%,相差21.3个百分点。每种模型设置都显示出相同方向的差异。

模型表现差异巨大

模型表现差异显著。在每个模型经过测试的最佳配置下,平均pass@1的范围从34.6%到75.5%不等。没有一个模型在所有任务类别中都取得最高分,且总体得分相近的配置可能有着截然不同的成本和运行时间。

我们使用mini-swe-agent(一个仅使用Bash的极简软件工程智能体),在闭卷条件下评估了11个模型和31种模型-算力配置。我们对两个Claude模型和三个GPT-5.6模型测试了五种算力等级,其余六个模型各测试一种设置。

每种配置都完整运行了53项任务基准测试三次。每次智能体会话上限为210分钟和350个步骤。只有当智能体的补丁在任务声明的硬件上通过完整验证器时,该任务才算解决。表格中报告的是每个模型得分最高的算力设置。

原生工具环境并未提升两个领先模型的表现:GPT-5.6 Sol在Codex中得分73.6%,Claude Opus 5在Claude Code中得分69.8%,而使用mini-swe-agent时两者均为75.5%。

成本与性能并非简单对应关系。在四个并列64%得分的模型中,平均每项任务成本从0.95美元到7.24美元不等,而平均耗时从25.5分钟到99.9分钟不等。

没有一个模型在全部六个工程类别中都领先,得分相同的模型可能有不同的优势领域。最高分表明许多SWE-Serve任务在当前智能体的能力范围之内;而得分差异则表明表现远非均衡一致。

我们如何验证该基准测试

我们筛选了786个潜在任务来源,构建了156个可执行候选任务,最终纳入53个。

每个纳入的任务都在其声明的硬件上进行了测试。未经修改的仓库必须在新行为测试中失败,同时继续通过回归测试。参考补丁必须通过完整验证器。我们还用智能体生成的补丁对验证器进行了挑战测试,在发现具体问题时对任务进行修复、缩小范围或排除处理。

报告的评估均为闭卷条件下完成。我们屏蔽了公共网络和上游源代码库的访问,同时允许访问Hugging Face以获取模型权重,因为一次开放网络的试点测试显示模型会检索特定任务的上游代码。我们审核了排行榜背后全部1749次试验,阻止了196次违规检索尝试,无一成功。论文详细描述了完整的资格认定与评估完整性流程。

运行SWE-Serve

SWE-Serve包含任务环境、验证器和基线配置,使本地检查通过与在完整服务路径中实际运行之间的差距变得可测量。

查看SWE-Serve排行榜,然后在GitHub上运行SWE-Serve,评估你的编程智能体在SGLang推理工程任务上的表现。

Q&A

Q1:SWE-Serve是什么?它主要评估什么内容?

A:SWE-Serve是一个基准测试系统,通过53项源自SGLang开源系统已合并变更的任务,评估AI编程智能体生成的代码补丁在完整服务路径上的表现,包括模型加载、调度、缓存和实时服务接口的正确性。

Q2:为什么补丁通过了本地测试却在实时服务时失败?

A:因为本地测试无法覆盖服务器加载真实模型并处理请求的全部环节。数据显示,19项包含实时服务检查的任务中,排除这些检查时通过率为69.4%,但加上完整验证后通过率降至45.9%,说明约三分之一的补丁存在实际服务隐患。

Q3:不同AI模型在SWE-Serve上的表现差异大吗?

A:差异很大。测试的11个模型中,最佳配置下平均pass@1得分从34.6%到75.5%不等,没有任何模型在所有任务类别中都领先,且得分相近的模型在成本和运行时间上也可能相差悬殊。

NVIDIA