返回 文章 学习 CMS 文章

SWE-Serve:揭示本地测试与实时服务之间差距的推理服务基准

SWE-Serve 用 53 个真实推理服务任务证明:能通过本地测试的补丁,未必能通过实时服务验证。

SWE-ServeSGLang推理服务编码代理
成长分 / 100 73 综合收获、行动、留存与影响

SWE-Serve:揭示本地测试与实时服务之间差距的推理服务基准
为什么值得读首次系统量化了 AI 编码代理在推理服务软件中‘本地测试通过但实时服务失败’的差距,约每三个通过其他检查的补丁就有一个在实时服务测试中失败。

提供了 53 个源自 SGLang 已合并 PR 的可执行任务,覆盖推测性解码、模型启用、内核量化、服务 API、缓存和分布式调度六大推理工程类别。

关键洞察
  1. 在 19 个带实时服务检查的任务中,相同 627 个补丁在完整验证器下通过率为 45.9%,排除实时服务测试后升至 69.4%,147 个补丁从失败变为通过。
  2. 跨多个运行时域的任务通过率(47.7%)比局限于单一运行时域的任务(69.0%)低 21.3 个百分点,每个模型设置都显示相同方向差异。
  3. 模型性能差异显著:最佳配置下平均 pass@1 范围为 34.6% 至 75.5%,没有模型在全部六个工程类别中领先。
转成行动

深入阅读

正文与原文对照

原文保真覆盖:全文原文字符:9507

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 概率的批量生成。

两张柱状图比较通过率:包含所有测试时为 45.9%,排除模型服务端到端测试时为 69.4%;多运行时域任务为 47.7%,单运行时域任务为 69.0%。

图 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 推理工程任务上评估你的编码智能体。