AI 编码代理的补丁可以通过测试,但当服务器加载真实模型并处理请求时却可能失败。因此,评估推理服务软件的变更需要检查完整的服务路径,包括系统是否通过其公共接口返回正确结果。
SWE-Serve 在与 SGLang 团队共同参与下开发,通过 53 个任务来评估这一差距,这些任务源自 SGLang 的已合并变更。SGLang 是一个用于服务大型语言模型的开源系统。在 19 个带有实时服务检查的任务中,当排除这些检查时,相同补丁的通过率为 69.4%,但在使用完整验证器时仅为 45.9%。大约每三个通过其他检查的补丁中,就有一个在实时服务测试中失败。
快速链接:阅读论文 | 探索排行榜 | 在 GitHub 上运行 SWE-Serve
SWE-Serve 测试什么
现有的仓库级基准测试评估编码代理在通用软件工程任务上的表现,而推理基准测试通常集中于内核生成或性能优化。SWE-Serve 则测试跨推理服务栈的仓库级变更,包括模型启用、解码、缓存、调度、服务 API 和运行时性能。
为了评估这一更广泛的工程工作,SWE-Serve 将 83 个已合并的 SGLang 拉取请求转化为 53 个可执行任务,涵盖六个推理工程类别。
| 工程类别 | 任务数 |
|---|---|
| 推测性与高级解码 | 14 |
| 模型与后端启用 | 12 |
| 内核、量化与性能 | 8 |
| 服务 API 与运行时正确性 | 8 |
| 缓存与运行时状态 | 7 |
| 分布式执行与调度 | 4 |
表 1. SWE-Serve 的 53 个任务在六个推理工程类别中的分布
十二个任务在 CPU 上运行,而 41 个使用单个 NVIDIA H100。此首个版本不评估其他推理引擎、多 GPU 执行或多节点服务。
三十七个任务来自单个上游拉取请求。其余 16 个结合了两到六个相关变更。总体而言,该基准测试基于 83 个已合并的 SGLang 拉取请求。SGLang 团队作为 SWE-Serve 的发布合作伙伴,为识别具有挑战性的任务贡献了想法,建议了特别苛刻的拉取请求,并帮助塑造了我们验证正确性的方法。
每个任务向代理提供一条指令和一个容器化的 SGLang 检出,该检出来自目标变更之前。如果代理的补丁在声明的硬件上满足任务的隐藏验证器,则通过。它从不与参考实现进行比较。
这些是实质性的变更。参考解决方案的中位数在七个文件中修改了 553 行。典型的验证器针对新行为有七个测试和 10 个回归测试。十九个任务启动真实服务器,三个在 H100 上强制执行校准的性能门限。
一个任务是什么样的
一个任务要求代理为稠密和专家混合(MoE)Qwen3.5 模型添加服务支持。从一个不支持 Qwen3.5 的修订版本开始,代理必须使 0.8B 稠密模型和 35B-A3B MoE 模型都能在一个 H100 上通过正常的 SGLang 接口加载和服务。
其验证器检查模型注册、配置和权重加载、图像和视频输入、OpenAI 兼容请求、原生批量生成、对数概率,以及通过 MoE 模型的路由专家执行。
实时服务测试能捕获什么
有些故障只有在真实服务器启动后才会出现。SGLang 团队为端到端验证贡献了思路,包括针对特定模型服务测试的建议。SWE-Serve 包含 19 个任务,这些任务会加载所需模型,并通过实时服务接口测试智能体的补丁。
在这些任务中,同样的 627 个补丁在完整验证器下的通过率为 45.9%。当排除实时服务测试后,该比率升至 69.4%。换句话说,当排除实时服务测试时,有 147 个补丁从失败变为通过。
这 19 个任务包含 276 个实时服务测试。其中,242 个源自或改编自 SGLang。其余 34 个覆盖了在找不到合适上游测试时,由相应已合并变更引入的行为。
Gemma 4 MoE 任务让这一结果变得具体。33 个补丁中有 16 个通过了其他所有检查,但至少在一个实时服务测试中失败。这些测试覆盖模型加载、专家路由、文本与图像服务,以及具有正确排序和 log 概率的批量生成。

图 1. 包含与不包含实时服务测试时的通过率(A),以及按运行时域广度划分的通过率(B)
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 在闭卷条件下评估了 11 个模型和 31 个模型努力程度配置,这是一个仅使用 Bash 的最小软件工程智能体。我们在五个努力水平上测试了两个 Claude 和三个 GPT-5.6 模型;其他六个模型各运行一个设置。
每个配置运行完整的 53 任务基准三次。每个智能体会话上限为 210 分钟和 350 步。只有当智能体的补丁在任务声明的硬件上通过完整验证器时,任务才算解决。表中报告了每个模型的最高得分努力设置。
| 模型 | 推理设置 | pass@1(均值 ± 标准差,3 次运行) |
平均成本/任务 | 平均墙钟时间 |
|---|---|---|---|---|
| Claude Opus 5 | max | 75% ± 3% | $17.40 | 57.5 分钟 |
| GPT-5.6 Sol | max | 75% ± 6% | $12.26 | 29.5 分钟 |
| Claude Sonnet 5 | xhigh | 64% ± 3% | $6.61 | 40.6 分钟 |
| Kimi K3 | max | 64% ± 5% | $7.24 | 99.9 分钟 |
| GPT-5.6 Luna | max | 64% ± 4% | $0.95 | 28.9 分钟 |
| GPT-5.6 Terra | max | 64% ± 4% | $5.06 | 25.5 分钟 |
| DeepSeek V4 Flash (0731) | max | 55% ± 4% | $0.69 | 36.4 分钟 |
| GLM-5.2 | max | 48% ± 2% | $2.10 | 34.0 分钟 |
| Gemini 3.6 Flash | high | 48% ± 6% | $4.84 | 37.3 分钟 |
| Laguna S 2.1 | max | 46% ± 5% | $0.33 | 56.9 分钟 |
| Inkling S | xhigh | 35% ± 3% | $0.44 | 17.6 分钟 |
表 2. 每个模型在全部 53 个 SWE-Serve 任务的三次运行中的最佳得分推理设置。Pass@1 显示均值 ± 标准差;成本和墙钟时间为每任务均值。API 模型成本使用记录的 token 用量和冻结价格;可下载模型成本使用托管费率估算
原生 harness 并未提升两个领先者: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 以获取模型权重,因为一次开放网络试点显示模型会检索任务特定的上游代码。我们审计了排行榜背后的全部 1,749 次试验;196 次被禁止的检索尝试被阻止,且无一成功。论文描述了完整的资格认定与评估完整性流程。
运行 SWE-Serve
SWE-Serve 包含任务环境、验证器和基线配置。它使通过本地检查与走通完整服务路径之间的差距变得可衡量。
探索 SWE-Serve 排行榜,然后在 GitHub 上运行 SWE-Serve,以在 SGLang 推理工程任务上评估你的编码智能体。
