NVIDIA发布SWE-Serve:同一批补丁在本地测试通过率 69.4%,加入真实服务器检查后降到 45.9%
SWE-Serve用 53 个来自SGLang已合并PR的任务,测量AI编码代理在推理服务栈上的真实表现。19 个需要启动真实服务器的任务里,约三分之一补丁在排除实时服务测试时通过、加入后失败。
AI解读:SWE-Serve想量的是一个很多人遇到过的落差:AI代理改的代码能让单元测试变绿,但当服务器真正加载模型、处理请求时,行为可能完全不对。它由NVIDIA发布,SGLang团队提供了任务筛选和端到端验证方面的输入。
具体数字是:在 19 个包含实时服务检查的任务上,同一批 627 个补丁在完整验证器下通过率 45.9%,把实时服务测试排除掉后升到 69.4%,也就是 147 个补丁从失败变成了通过。这说明本地检查覆盖不到模型加载、专家路由、批处理顺序这类只有服务器跑起来才暴露的问题。
受影响最直接的是用AI代理改推理引擎的团队,以及评估这些代理的人。如果只看单测,你可能会把一个过了 69% 的代理当作可用,但真实服务路径上的通过率只有 46% 左右。
这个基准也有明确边界:它只测SGLang一个引擎、只用单张H100(12 个任务跑CPU),不涉及多GPU和多节点。通过SWE-Serve不代表补丁可以合并或部署,也不代表SGLang维护者的认可。
模型方面,11 个模型的最佳配置平均pass@1 从 34.6% 到 75.5%,没有模型在所有六个工程类别里领先;同为 64% 的四个模型,每任务平均成本从 0.95 美元到 7.24 美元,墙钟时间从 25.5 分钟到 99.9 分钟,成本和分数并不对应。
NVIDIA发布了一个名为SWE-Serve的基准,用来评估AI编码代理对推理服务软件的修改是否真的可用。它由NVIDIA技术博客发布,SGLang团队作为发布伙伴提供了任务识别和正确性验证方面的输入。
SWE-Serve的核心发现是:同一批补丁,在排除实时服务检查时通过率是 69.4%,加入完整验证器后降到 45.9%。这 19 个包含实时服务检查的任务里,大约每三个通过了其他检查的补丁,就有一个在实时服务测试里失败。
所谓实时服务检查,是指任务会真正启动服务器、加载模型,并通过公开接口验证行为。SWE-Serve的 19 个这类任务共包含 276 个实时服务测试,其中 242 个来自或改编自SGLang,另外 34 个针对对应已合并改动引入的行为,在上游没有合适测试时补上。
SWE-Serve的 53 个任务是怎么来的
SWE-Serve把 83 个已合并的SGLang pull request转成 53 个可执行任务,分布在六个推理工程类别:推测解码与高级解码 14 个、模型与后端启用 12 个、内核量化与性能 8 个、服务API与运行时正确性 8 个、缓存与运行时状态 7 个、分布式执行与调度 4 个。
任务环境给代理一条指令和一个容器化的SGLang检出,该检出来自目标改动之前。代理的补丁只要在声明的硬件上满足隐藏验证器就算通过,不和参考实现做对比。
这些改动规模不小:参考解法中位数修改 553 行、涉及 7 个文件;典型验证器包含 7 个针对新行为的测试和 10 个回归测试。12 个任务跑在CPU上,41 个用一张NVIDIA H100。三个任务在H100上强制执行校准过的性能门槛。
第一个版本不评估其他推理引擎、多GPU执行或多节点服务。53 个任务中,37 个来自单个上游pull request,另外 16 个合并了 2 到 6 个相关改动。
- 83 个已合并SGLang PR → 53 个可执行任务
- 推测解码与高级解码 14 个;模型与后端启用 12 个;内核量化与性能 8 个;服务API与运行时正确性 8 个;缓存与运行时状态 7 个;分布式执行与调度 4 个
- 参考解法中位数:修改 553 行、7 个文件
- 典型验证器:7 个新行为测试 + 10 个回归测试
- 硬件:12 个任务CPU,41 个任务单张H100
一个任务看实时服务检查卡住什么
博客举了一个Qwen3.5的任务:让代理为稠密模型和MoE模型增加服务支持。代理需要从一份不支持Qwen3.5的代码版本出发,让 0.8B稠密模型和 35B-A3B MoE模型都能在单张H100上通过正常的SGLang接口加载并服务。
它的验证器检查模型注册、配置与权重加载、图像和视频输入、OpenAI兼容请求、原生批处理生成、对数概率,以及通过MoE模型路由专家执行。
另一个Gemma 4 MoE任务更能说明问题:33 个补丁中有 16 个通过了所有其他检查,但至少在一个实时服务测试上失败。这些测试覆盖模型加载、专家路由、文本与图像服务,以及带正确顺序和对数概率的批处理生成。
- Qwen3.5任务要求 0.8B稠密与 35B-A3B MoE都能在单张H100上通过标准接口服务
- 验证内容包含模型注册、权重加载、图像/视频输入、OpenAI兼容请求、批处理生成、对数概率
- Gemma 4 MoE任务:33 个补丁中 16 个通过其他检查、失败于实时服务测试
跨运行时域的任务更难
SWE-Serve把从请求到输出的路径分成四个运行时域:请求处理与I/O、调度与请求生命周期、模型执行、KV缓存与运行时资源管理。
在 11 个模型各自最佳设置下,26 个只涉及单个运行时域的任务通过率是 69.0%,27 个跨多个运行时域的任务通过率是 47.7%,相差 21.3 个百分点。博客说每个模型设置都呈现同方向差异。
- 单运行时域任务:26 个,通过率 69.0%
- 跨运行时域任务:27 个,通过率 47.7%
- 差距:21.3 个百分点,所有模型设置方向一致
11 个模型的成绩、成本和耗时
评估使用mini-swe-agent,这是一个只用Bash的最小软件工程代理,闭卷条件。NVIDIA测试了 11 个模型、31 种模型-努力配置;两个Claude和三个GPT-5.6模型各测五个努力等级,其余六个模型各一个设置。每个配置完整跑 53 个任务三遍,每次代理会话上限 210 分钟和 350 步。任务只有在代理补丁通过完整验证器、且在声明硬件上运行时才算解决。
各模型最佳配置的平均pass@1 从 34.6% 到 75.5%。Claude Opus 5和GPT-5.6 Sol都以 75% 并列最高,但每任务平均成本分别是 17.40 美元和 12.26 美元。同级 64% 的四个模型成本从 0.95 美元到 7.24 美元不等,墙钟时间从 25.5 分钟到 99.9 分钟。
原生工具链没有提升两个领先模型:GPT-5.6 Sol在Codex里得 73.6%,Claude Opus 5在Claude Code里得 69.8%,都低于各自用mini-swe-agent的 75.5%。没有模型在六个工程类别里全部领先,整体分数相同的模型也可能强项不同。
- 评估规模:11 个模型、31 种配置、每种配置跑 3 遍完整 53 题
- 单次会话上限:210 分钟、350 步
- Claude Opus 5:75% ± 3%,每任务 17.40 美元,57.5 分钟
- GPT-5.6 Sol:75% ± 6%,每任务 12.26 美元,29.5 分钟
- GPT-5.6 Luna:64% ± 4%,每任务 0.95 美元,28.9 分钟
- Inkling S:35% ± 3%,每任务 0.44 美元,17.6 分钟
- 原生工具链对比:GPT-5.6 Sol在Codex 73.6%、Claude Opus 5在Claude Code 69.8%
验证流程与基准的边界
NVIDIA筛选了 786 个候选任务来源,构建了 156 个可执行候选,最终收录 53 个。每个入选任务都在声明的硬件上测试:未修改的仓库必须在新行为测试上失败、同时继续通过回归测试;参考补丁必须通过完整验证器。团队还用代理生成的补丁挑战验证器,在发现具体问题时修复、收窄或排除任务。
报告的评估是闭卷的:屏蔽公共网络和上游源码仓库,但允许Hugging Face访问以获取模型权重,原因是开放网络试点显示模型会去检索任务相关的上游代码。团队审计了排行榜背后的全部 1,749 次试验,阻止了 196 次违规检索尝试,没有一次成功。
博客明确说明,SWE-Serve的通过只意味着补丁满足了基准验证器。这些测试不是SGLang的上游审查流程,也不能证明代理补丁或基准参考解法可以部署、可以合并,或得到SGLang维护者的认可。
- 候选筛选:786 个来源 → 156 个可执行候选 → 53 个入选
- 入选条件:未修改仓库在新行为测试失败、回归测试通过;参考补丁通过完整验证器
- 评估闭卷,允许Hugging Face获取权重
- 审计 1,749 次试验,阻止 196 次违规检索,零成功
- 通过 ≠ 可部署或可合并,也不等于SGLang维护者认可