本文推出了 BeyondSWE,这是一个旨在评估代码智能体在单仓库修复之外能力的综合基准测试。它通过 CrossRepo(跨仓库推理)、DomainFix(特定领域解决)、DepMigrate(依赖驱动迁移)和 Doc2Repo(全仓库生成)四个维度,挑战了当前 LLM 在处理复杂软件工程任务时的极限。
TL;DR
长期以来,SWE-bench 被视为代码智能体(Code Agent)的“金标准”,但它是否掩盖了模型在处理复杂现实问题时的无能?由中国人民大学等机构提出的 BeyondSWE 给出了否定答案。该基准测试将评估维度从“单仓库局部修复”推向了“跨仓库、深领域、大迁移、全生成”的新高度。实验发现,即便拥有搜索工具,目前的 SOTA 模型在面对复杂工程挑战时依然举步维艰,胜率不足 45%。
痛点深挖:SWE-bench 的局限性
在现实的软件开发中,程序员很少只盯着一个文件或一个仓库工作。我们需要:
- 参考外部项目:模仿其他成熟项目的实现方案。
- 利用专业知识:解决生物信息学、量子计算等深水区的 Bug。
- 应对依赖剧变:当底层库(如 NumPy 2.0)发生破坏性更新时,进行全量代码迁移。
- 从文档到系统:根据需求文档,从零构建整个仓库。
然而,现有的 Benchmark 大多是“闭卷考试”,所有的上下文都在当前仓库内。这种任务设定产生了一种幻觉:Agent 已经足以替代人类。BeyondSWE 的出现打破了这种幻觉。
核心机制:BeyondSWE 的四大象限
作者通过配置解决范围 (Resolution Scope) 和 知识范围 (Knowledge Scope) 两个轴,定义了四类任务:
| 任务类型 | 知识来源 | 解决范围 | 核心挑战 | | :--- | :--- | :--- | :--- | | CrossRepo | 外部仓库链接 | 局部修复 | 跨项目的逻辑对接与适配 | | DomainFix | 领域专家知识 | 局部修复 | 科学计算公式与专业算法的理解 | | DepMigrate | 官方文档/变更日志 | 全仓库迁移 | 识别全局影响点并进行一致性重构 | | Doc2Repo | 自然语言规格书 | 从零生成整个仓库 | 系统架构设计与模块化解耦 |

搜索能拯救 Agent 吗?SearchSWE 的深度观察
为了测试 Agent 是否能像人类一样通过“搜一下”解决问题,作者同步推出了 SearchSWE 框架。它赋予了 Agent 访问 Web 和浏览网页的能力。
然而,实验揭露了一个残酷的真相:搜索并不总是有效的,有时甚至是毒药。
为什么搜索会失效?(Search-Code Disconnect)
作者通过定性分析总结了三类失效模式:
- 信息景观缺位 (The Information Landscape Gap):搜索引擎倾向于返回高层文档,而 Agent 需要的是底层的原始代码片段或具体协议。
- 版本与时空错配 (Temporal Misalignment):搜索结果往往是最新的,而目标仓库可能锁死在三年前的旧版本(如 Django 2.2),Agent 容易盲目套用最新语法导致崩溃。
- 语义漂移与噪声干扰 (Semantic Drift):在搜索特定领域的术语(如 "Family")时,搜索引擎可能返回建筑或法律领域的无关内容,缺乏辨别能力的 Agent 会被这些“噪声”带偏。

实验结果:谁才是真正的强者?
在 BeyondSWE 的严苛测试下:
- Gemini 3 Pro 在依赖迁移(DepMigrate)中表现优异,但在跨仓库任务中略逊一筹。
- Seed-Coder 在跨仓库修复中展现了极强的理解力。
- DeepSeek-V3.2 在 Doc2Repo 的测试覆盖率上略微领先,但生成全量正确仓库的次数依然寥寥无几。

结果显示,即便最强的模型平均 Resolved Rate 也仅在 40% 左右,这说明**“全能型代码 Agent”距离真正落地还有很长的路要走。**
深度洞察:带给开发者的启示
- 鲁棒性优于频率:频繁调用搜索的 Agent(如 DeepSeek)表现反而不如精准调用的模型(如 Gemini)。Agent 必须学会“识别何时该搜索,以及如何过滤垃圾信息”。
- 领域隔离是硬伤:DomainFix 是所有模型的滑铁卢,这暗示未来的代码大模型可能需要更强的交叉学科预训练。
- 架构思维缺失:模型能写好一段代码,但很难“规划”一个整洁的仓库。
总结
BeyondSWE 不仅仅是一个新的榜单,它为代码智能体研究提供了新的北极星:Agent 不应只是一个勤奋的代码搬运工,而应成为一个具备领域辨别力、版本敏感性和系统架构观的深度研究者。
本文基于 arXiv 论文 《BeyondSWE: Can Current Code Agent Survive Beyond Single-Repo Bug Fixing?》 整理。
