每次让 AI agent 写移动端功能都只能等它交出一份「大概能用」的补丁——SWE-Bench Mobile 实测最强组合也只过 12%,同一个模型换个 agent 差 6 倍
你把一个「给商品页加个自定义手势」的需求丢给 AI agent,它回你一份 diff,跑起来能动,但和 App 里其他页面的手势冲突;再让它改,它把另一个模块改崩了。你开始怀疑:到底是模型不行,还是我 prompt 写得不对?
SWE-Bench Mobile 这个新基准给出了一个更扎心的答案:都不是——是你选的 agent 框架(scaffold)不行,而且整个行业目前都还差得远。
这不是又一个玩具基准
SWE-Bench Mobile 由 Coolwei AI Lab、多伦多大学、小红书、UIUC、UC Berkeley 联合提出,已被 KDD 2026 主会 Applied Data Science Track(CCF-A) 收录,论文挂在 arXiv(2602.09540),也有正式 ACM DOI。
它和以往 agent 编码基准最大的不同,是把评测搬进了一个真实在跑的 iOS 生产工程:
- 代码来源:小红书生产 iOS App,约 50 万行混合 Swift / Objective-C 代码
- 任务:50 个,都是功能新增(不是修 bug),每个任务配原始的 PRD + Figma 设计稿 + 手写测试
- 测试:449 条用例(平均每个任务约 9 条)
- 输入是多模态的:需求文档 + 设计图 + 参考图 + 代码快照,输出是一份 unified diff
- 任务分布里,UI 组件 18 个、数据管理 10 个、手势 8 个——正好是移动端前端同学每天在干的事
评测是 hosted-only 的,测试集不落到任何人的训练数据里,这点对公平性挺关键。
最刺眼的一行数字:12%
22 个「agent × 模型」组合跑下来,榜首是这样:
| Agent + 模型 | 任务通过率 | 测试通过率 |
|---|---|---|
| Cursor + Claude Opus 4.5 | 12.0% | 28.1% |
| Cursor + Claude Sonnet 4.5 | 12.0% | 26.7% |
| Codex + GLM 4.6 | 12.0% | 19.6% |
三个并列榜首,但测试通过率拉开 8.5 个百分点——这说明「任务级全过」这个粗粒度指标会把差异抹平,看细粒度的测试通过率才知道谁更接近能交付。
再往下看是全长的长尾:Codex + Sonnet 4.5 / GPT 5 是 10%,Claude Code + Sonnet 4.5 是 10%,Cursor + Gemini 3 Pro 掉到 6%,Codex + GPT 5.1 直接 0%。
同一个模型,换个 agent 差 6 倍
这份报告里最该被所有团队刻进流程的一条结论是:
同一个模型,换不同的 agent 框架,通过率最多能差 6 倍。
以 Claude Opus 4.5 为例,跑在四个 agent 上:
- Cursor:12%
- Claude Code:8%
- Codex:4%
- OpenCode:2%
12% 到 2%,同一颗「大脑」,成绩相差 6 倍。Sonnet 4.5 也是 12% → 4%,GLM 4.6 是 12% → 8%。
换句话说:以后你报「我们用了某某模型做 AI 编码」,等于没说。 真正决定成败的是 scaffold——也就是那个驱动模型去读代码、定位模块、编辑、跑测试的框架层。报告里用了句话很形象:同一个厨师,换一间厨房,菜就是不一样;灶台和流程的权重,不亚于手艺本身。
还有两个反直觉发现
第一,简单的 prompt 反而更好。 一个朴素的「Defensive Programming」提示词,比那些更复杂的精心设计策略,在测试通过率上高出 +7.4 个百分点。过度复杂的提示词甚至会拉低任务通过率。别急着堆 prompt 技巧,先把「防御性」这件事说清楚。
第二,跨模块才是真正的天花板。 任务如果触及 7 个以上文件,成功率直接掉到 2%;改动越局部,通过率越高。这不是模型「不会写代码」,而是它压不住真实工程的隐性约定:忘了加 feature flag、数据模型建了一半、有个文件没人记得、UI 组件风格和 App 其他地方对不上。
真正让补丁挂掉的,往往不是代码逻辑,是项目约定。
对你手上的移动端项目意味着什么
before / after 其实很直白:
- 旧认知:选个最强模型,让 agent 写移动端功能,剩下的交给它
- 新认知:模型只是下限,scaffold 决定上限;而且当前最强组合也只过 12%
所以落地的姿势要改。与其纠结换哪个模型,不如先看你用的 agent 怎么读代码、怎么定位模块、怎么验证——这才是那 6 倍差距的来源。
一个能立刻执行的动作:把你最近一个 AI 没做通过的移动端任务捞出来,别急着换模型,先拆一下它到底卡在哪里——是没读到相关文件,还是读到了但没遵守项目约定。如果是后者,你的突破点不在模型,而在给 agent 补一份「这个模块的约定清单」和几个必须对照的既有组件。
SWE-Bench Mobile 的公开榜单在 swebenchmobile.com,是 hosted 挑战,团队可以提交自己的 agent 去和全世界排一排——毕竟报模型名已经说明不了什么了。
评论区
登录后可评论。