|

这项由Scale AI研究团队主导的揭巨突破性研究于2026年6月正式发表,论文编号为 arXiv:2606.30573。示编如需查阅完整数据与实验细节,程智读者可通过该编号检索全文。真实中 核心洞察:被基准测试掩盖的对话短板“模糊性”真相 在真实的软件开发场景中,从未有过“完美甲方”。揭巨程序员接到的示编指令往往如同老板随口一句:“把那个语音模块改改。”随后,程智开发者需根据反馈进行多轮迭代,真实中而非一次性接收详尽的对话短板需求文档。 然而,揭巨现有的示编AI编程评测基准大多基于“完美指令”假设——将需求、接口规范及实现细节打包成单一提示词。程智这种测试方式虽然能衡量模型在理想条件下的真实中代码生成能力,却完全忽视了现实中最普遍的对话短板挑战:需求的模糊性、动态变化性以及用户认知的局限性。 为填补这一空白,Scale AI推出了 SWE-INTERACT测试平台。其核心理念是将传统的“一次性交付”任务重构为“多轮对话交互”,让AI编程助手面对一个具备人类特征的、会逐步透露需求且挑剔的“虚拟用户”。 一、 构建“虚拟甲方”:从静态问答到动态博弈SWE-INTERACT 的独特性在于其“虚拟用户模拟器”的设计逻辑。 1. 基于真实数据的角色建模 团队分析了 SWE-chat 数据集中数千条真实对话,提炼出两种关键模式: * Vibecoding(直觉编码):用户不写代码,99%的代码由AI生成,用户仅负责提需与审核。 * Expert Nitpicker(资深挑剔者):这是最典型的用户画像。其特征为指令简短、随意、直接,极度关注API细节,通过多轮迭代批评实现,并随时插入新需求。 2. 具备感知能力的智能体 该模拟器并非简单的LLM接口,而是一个具备行动能力的智能体: * 主动检查:通过Shell命令查看工作区、比对Git提交记录、审查代码文件。 * 针对性反馈:基于实际看到的代码内容给出批评,而非预设脚本。 * 渐进式揭露:不一次性提供完整规格,而是像真实人类一样,每次只提一个问题,逐步完善需求。 3. 测试框架构成 * 数据来源:从 SWE-bench Pro、SWE Atlas 和 DeepSWE 各选取25道题,共75道。 * 改造方式:将单轮任务转化为多轮对话任务。 * 评分标准:保持不变,仍使用原有验证器检查代码正确性,但需求获取过程变得高度拟真。 二、 性能断崖:多轮对话导致通过率腰斩研究团队测试了五款顶尖模型:GPT 5.5、Opus 4.8、Kimi K2.6、Gemini 3.5 Flash 和 Sonnet 4.6,对比“单轮基准”与“多轮对话”两种模式下的表现。 1. 成绩对比 | 模型 | 单轮基准通过率 | 多轮对话通过率 | 跌幅 |
|---|
| Opus 4.8 | 50.7% | 26.7% | >23% | | GPT 5.5 | 48.0% | 24.7% | >23% | | Gemini 3.5 Flash | 29.3% | 17.3% | 12% | | Kimi K2.6 | 25.3% | 14.6% | 10.7% | | Sonnet 4.6 | 21.3% | 18.8% | 2.5% |
注:Sonnet 4.6跌幅最小并非因其适应多轮对话能力强,而是因其单轮基础分过低,下降空间有限。 2. 资源消耗激增 多轮对话模式显著增加了计算成本: * 步骤数:通常是单轮的3-4倍。 * Token消耗:增加1.6-4.5倍。 * 极端案例:某任务包含27条用户消息,用户发出332次工具调用检查代码,AI执行超1000步操作。 结论:原本能解决一半任务的最强模型,在模拟真实“挑剔甲方”后,仅能完成约四分之一的任务。这相当于在同等难度下,考试规则从“开卷”变成了“闭卷且需实时纠错”。 三、 进度追踪:AI如何“摸清”任务全貌团队开发了“目标发现曲线”来量化AI对需求的理解进度: 1. 拆解目标:将任务拆解为若干子目标(如文件位置、边界处理、API类型),总分100。 2. 动态评分:每次提交后,由独立评分模型评估当前实现覆盖的子目标比例。 关键发现: * 计划优于实现:所有模型在“计划阶段”(PLAN.md)的得分均高于“首次实现”得分。原因包括评分模型对计划宽容度高,以及AI在编码时丢失计划细节。 * 覆盖率与正确性的鸿沟: * 最终通过验证器的方案,目标覆盖率均 >90%。 * 但覆盖率 >90% 的方案,未必能通过验证器。 * 结论:AI可以“知道该做什么”,但“做对”是另一回事。 四、 失败归因:技术错误与需求遗忘对287个失败轨迹的分析揭示了主要痛点: - 技术实现错误(~33%):需求明确,但代码逻辑出错。例如KCP流复用中,字节计数器恒为0,流异常关闭。这是“按图施工”时的细节失误。
- 遗忘需求(~33%):早期确认的需求在后续修改中被覆盖或遗漏。例如在Kombu任务中,加入新功能时丢失了已约定的取消通知回调。
- 误解或错误假设(~14%):AI未确认即错误理解需求。例如将
Invalid对象的元组参数误判为单个错误而非集合。 - 用户未告知的需求(~12%):测试漏洞。虚拟用户未传达必要需求,导致AI无从得知。
- 回归错误(~7%):修改新需求时破坏了已有功能。例如Helm配置合并中,新逻辑覆盖了正确的旧逻辑。
五、 角色设计决定测试真实性对比实验显示,“资深挑剔者”角色与“中性用户”角色的差异巨大: - 中性用户:一次性给出完整说明,AI完成后直接批准。
- 资深挑剔者:
- 对话轮数增加 90%-97%。
- 执行步骤增加 30%-50%。
- 通过率进一步下降。
- 行为差异:挑剔者模拟了真实用户的“螺丝刀式”迭代——先提模糊请求,再挑API形状,再改SNMP计数器,最后修接口签名。这种渐进式压力测试更贴近现实。
六、 用户模拟器的模型选择实验中比较了以 GPT 5.5和 Claude Opus 4.7作为用户模拟器的效果: - GPT 5.5 模拟器:
- 更严格遵循“挑剔者”设定,需求揭露更分散。
- 工具调用次数是Opus版本的4-5倍,检查更彻底。
- 导致AI轨迹更长,但AI最终得分略高(因需求揭露更完整,减少了遗漏错误)。
- Opus 4.7 模拟器:
- 相对宽松,需求揭露较快。
七、 代码演化效率:修改量与返工率团队引入两个指标评估代码修改效率: - 冗余修改量 (Churn Overhead):
(总修改量 - 最终修改量) / 最终修改量。越低越好。 - 后期修改占比 (Late Change Share):首次提交后的修改量占比。越低越好。
表现排名: * Opus 4.8:表现最佳。冗余修改量仅 6.9%,后期修改占比 24.7%(超75%工作在首轮完成)。 * GPT 5.5:紧随其后,后期修改占比 28.6%。 * Gemini 3.5 Flash:表现较差,后期修改占比高达 54.5%,显示其缺乏规划,需大量推翻重写。 八、 结论:挑战在于“长期注意力”与“多线程协调”SWE-INTERACT 揭示了一个关键事实:当前AI编程助手的瓶颈不在于代码生成能力,而在于交互管理能力。 - 最强模型(Opus 4.8, GPT 5.5):在模糊指令下开局较好,能坚持到需求揭露完毕,代码相对整洁,但仍会犯技术错误和遗忘错误。
- 较弱模型:在需求未说完时急于提交,导致正确性差,代码混乱。
核心挑战: AI需要在需求逐步到来时保持清醒,具备长期记忆(记住早期需求)和多线程协调能力(融合新需求而不破坏旧代码)。这是当前模型最明显的短板。 对用户的启示: AI助手确实能辅助编码,但在“边做边改、随时加需求”的场景下,极易出现需求丢失或功能回退。用户不应盲目信任“已完成”提示,而应主动检查AI是否遗漏了早期指令或破坏了既有逻辑。
参考文献与资源 * 论文:arXiv:2606.30573 * 代码与数据:github.com/scaleapi/SWE-Interact Q&AQ1:SWE-INTERACT 与普通编程AI基准测试的本质区别是什么? A:普通基准测试是“开卷考试”,一次性提供所有需求;SWE-INTERACT 是“实战模拟”,虚拟用户先给模糊指令,随后通过查看AI代码,逐步揭露具体要求并进行多轮迭代批评。 Q2:为何在 SWE-INTERACT 测试中 AI 通过率大幅下降? A:主要源于三类错误: 1. 技术实现错误:懂需求但代码写错。 2. 需求遗忘:处理新需求时丢失早期确认的要求。 3. 回归错误:修改新需求时破坏了已正确的旧功能。 这些错误在单轮测试中极少出现。 Q3:SWE-INTERACT 测试中哪款 AI 模型表现最好? A:Opus 4.8以 26.7% 的通过率略胜 GPT 5.5 (24.7%)。两者在代码修改效率(低冗余、低后期返工)上也显著优于 Gemini 3.5 Flash 和 Kimi K2.6。 |