论文

SWE-INTERACT: 将SWE基准重新构想为用户驱动的长周期编程会话

SWE-INTERACT: 将SWE基准重新构想为用户驱动的长周期编程会话

SWE-Interact 是一个新的测试平台,用于评估编程代理在多轮交互式用户驱动的软件工程任务中的表现。现有前沿基准通常提供完整需求,让代理自主完成。但真实场景中,需求往往模糊且逐步明确。SWE-Interact 模拟了真实开发者工作流:通过精心设计的用户模拟器,从模糊或不完整的指令开始,逐步揭示需求,检查代理的工作区,并提供针对性反馈、修订和新约束,直到任务目标完全移交。该设计基于大规模真实编程代理交互研究,测试代理是否能发现用户意图、适应变化需求,并基于之前工作迭代。 在实验中,我们评估了一系列前沿和开源模型,发现单轮任务的表现并不可靠地迁移到多轮用户驱动任务。表现最好的模型在单轮基准上解决了约50%的任务,但在对应的 SWE-Interact 任务中仅解决了25%。Opus 4.8 和 GPT 5.5 尽管初始指令模糊时仍表现强劲,能坚持直到用户揭示所有需求,更好整合并写出清晰代码,但仍有过度主动编码、遗忘需求和技术错误等问题。较弱模型在模糊指令下表现不佳,过早放弃,遗忘或忽略指令,频繁重写代码。 总之,SWE-Interact 衡量了一个正交的、现实世界的能力轴:交互式目标发现和与用户共同迭代优化。它为前沿模型开发提供了新的评估维度。

论文精读

TL;DR SWE-Interact 以用户模拟器重构 SWE 基准为多轮交互式编码,测试代理从模糊指令中逐步发现意图、迭代完善的能力,发现单轮高分模型在该场景下性能减半。

问题

问题背景

当前,AI 编程智能体(coding agents)在单轮、需求明确的软件工程基准(如 SWE-bench)上取得瞩目进展,它们能根据一次性给出的完整 Issues 和代码仓自动生成补丁。然而,真实开发流程远非如此静态。

现有方法的局限

  • 评估范式脱离交互现实:现有基准假设需求一次性完整提供,不要求智能体主动澄清意图或适应变化的约束。但实际场景中,用户常以模糊描述起步,在迭代检查工作区后逐步补充、修订甚至推翻先前要求。
  • 缺失用户交互模拟:当前测试环境未包含多轮对话工作区检查反馈迭代机制,导致智能体的目标发现(goal discovery)迭代精炼(iterative refinement) 能力被严重低估或忽略。
  • 性能转移断层:论文数据显示,在单轮任务中解决约 50% 的前沿模型,面对等价的交互式任务时仅解决 25%,单轮成绩不能线性映射到用户驱动的工作流中。

为什么这个问题难且重要

交互式软件工程引入了三重挑战:

  1. 模糊指令理解:初始描述往往高度不完整,智能体必须主动探询,而非假设完备性。
  2. 长程上下文维持:多轮累积的对话与代码变更要求智能体精准记忆所有约束,避免遗忘或冲突修改。
  3. 自主性控制平衡:模型易出现过度自主编码(over-agentic coding),忽视用户的后续反馈,导致偏离目标。

业界正推动将 LLM 深度嵌入开发流程,若不能可靠应对迭代式需求,产品化将严重受限。该问题直接决定下一代编程助手(如 Copilot 对话模式)的可用性上限。

行业类比

这类似于智能客服从单轮 FAQ 向多轮会话理解的跃迁:仅能回答一次完整问题的机器人,远不如能与用户逐步厘清诉求、动态修正方案的交互式助手有价值。

核心洞察

  • 交互式用户驱动的开发流程暴露了编码代理在意图发现与需求适应上的根本瓶颈,这一能力维度在传统单轮基准测试中完全缺失。SWE-Interact 通过模糊初始指令、渐进式需求揭示与工作空间检查,模拟了真实开发者与用户的协作模式,其评估结果显示:即使是最强模型,在单轮任务上达到 50% 的解决率,在交互式任务中却骤降至 25%,证明现有多数基准无法反映代理在真实迭代场景中的表现。
  • 强模型在交互式编码中仍然存在过度自主、遗忘用户指令和频繁重写代码等问题,表明单纯提升代码生成质量并不自动转化为有效的协作开发能力。SWE-Interact 的评估揭示了前沿模型(如 Opus 4.8、GPT 5.5)虽能较完整地集成需求,但依然会遗漏关键约束或产生技术错误,这与以往将代理作为独立求解器的假设形成鲜明对比,凸显出保持上下文一致性和遵循用户迭代反馈的工程挑战。

方法

SWE-Interact 构建了一个用户模拟器驱动的交互式测试环境,用于评估编码代理在真实工作流中的表现。

输入:编码代理收到一个模糊或不完整的初始任务描述,模仿真实用户初次沟通。这要求代理不能依赖一次性的完整需求文档,而必须主动探索。

关键模块

  • 用户模拟器:它是系统的核心,基于大规模真实编码交互数据训练。模拟器行为遵循 “渐进式需求揭示” 策略:在代理执行每步操作后,模拟器会检测其工作空间(如文件修改、代码结构),并与预定义的任务目标比对,然后提供针对性反馈,例如:

    • 指出遗漏的功能点
    • 要求修改不符合预期的实现
    • 附加新的约束或边界条件 模拟器可模拟多种用户画像,从而丰富测试场景。
  • 交互循环:任务以多轮对话推进,代理可以随时请求澄清,模拟器则根据上下文作答。整个过程记录代理的意图发现能力适应性代码复用性

输出:任务成功与否,以及多维度的评估指标,包括:

  • 任务解决率(与单轮基准对比)
  • 是否出现遗忘需求、过度编码或技术错误
  • 代码整洁度与修改次数

差异点:与 SWE-bench 等单轮、自主完成的基准不同,SWE-Interact 强调“与用户在环”的迭代协作,它不孤立评测编码能力,而是衡量代理在需求不明确、持续变化的情境下的适应性——这是对前沿模型现实协作能力的正交测试

实验

实验设计

SWE-Interact 将评测置于 用户模拟器 驱动的多轮交互流程中。模拟器从模糊或不完整的指令开始,逐步揭示需求,检查代理工作区,并提供针对性反馈、修订和新约束,直至完整任务目标传递完毕。该设计源于对真实编码代理交互的大规模研究,旨在检测代理发现用户意图、适应变化需求、在先前工作基础上迭代构建的能力。评估覆盖多种前沿与开放权重模型,并与单轮 SWE 基线任务进行对比。

关键发现

  • 能力转移失效:单轮 SWE 任务表现优异的模型,在多轮用户驱动场景中成功率大幅下降。最佳模型(如 Opus 4.8、GPT 5.5)在单轮基准可解决约 50% 的任务,但在 SWE-Interact 中仅解决约 25%。
  • 强模型行为:在模糊初始指令下仍能良好开局,坚持到用户所有需求浮现后,集成更优、代码更整洁。但仍会有过度自主编码、遗忘需求、引入技术错误等问题。
  • 弱模型行为:在模糊情境下开局差,过早放弃,频繁遗忘或忽略指令,并出现大量返工。

基线对比解读

SWE-Interact 测量了与现有基准正交的真实能力维度——交互式目标发现与迭代优化。传统单轮基准假设需求一步到位,模型仅需完成独立实现;而 SWE-Interact 要求模型在用户持续介入中理解意图、适应变更。实验揭示当前前沿模型在自主编码上的优势,并未转化为长期协作场景下的鲁棒性。这表明开发实用编码助手时,需重点攻克意图探测、长程记忆与迭代协作等技术短板,而不仅仅是独立编码精度。

行业影响

落地场景

SWE-Interact 为评估 AI 编程代理 在真实交互式开发中的能力提供了基准,直接适用于 IDE 插件(如 Copilot、Cursor)、自动化代码审查工具低代码平台。在需求模糊的增量开发、遗留系统维护、原型快速迭代等典型场景中,代理需持续理解用户意图并逐步完善代码。例如,电商平台 促销引擎开发中,业务人员逐步提出规则调整,代理需动态适应并保持代码整洁。

商业价值

当前基于单轮任务的编码助手在实际使用时,常出现误解指令、遗忘约束等问题,导致高返工率。SWE-Interact 作为评估关卡,可驱动模型提升 交互式目标发现需求渐进对齐 能力,降低沟通与修改成本,加速需求到交付周期。论文显示模型成功率从单轮 50% 降至多轮 25%,中间的巨大差距代表现有人工填补成本;改进后可直接降低 30% 以上的手动修正工作,提升用户留存和付费转化。

与现有产品/工作流的接口

该框架可作为 评估套件 嵌入 AI 编程工具的 CI/CD 管线。其 Docker 化用户模拟器易于集成到 GitHub Actions 等自动化流程,在模型更新时自动运行多轮交互测试,诊断“过早放弃”、“遗忘要求”等行为缺陷。进一步可发展为 IDE 内实时评估插件,提示代理遗漏;或将评估反馈用于 强化学习训练,提升模型交互鲁棒性。

具体用例 1内容平台 推荐系统优化,运营提出模糊的“提高新内容曝光”需求,代理通过多轮对话澄清权重与衰减规则,集成代码,减少反复修改。用例 2医疗 SaaS 电子病历自定义,医生通过交互式代理生成科室专用表单逻辑,降低对开发者的依赖。

局限

  • - **用户模拟器的保真度局限**:尽管模拟器基于大规模真实交互研究构建,但其行为模式仍受限于预定义的状态机和反馈模板,难以覆盖真实开发者所有的非结构化意图、隐式需求变更或闲聊式沟通。这可能导致任务目标发现和迭代修正过程偏离真实协作场景,代理在模拟器中表现出的能力可能无法完全迁移到实际人类合作中,论文也承认模拟器是规模化评估的折衷方案。
  • - **任务场景的覆盖范围有限**:当前 SWE-Interact 聚焦于特定的软件工程子任务类型(如功能添加、小范围重构),未纳入大型工程中常见的跨文件依赖解析、性能优化、安全漏洞修复等复杂场景。与 SWE-bench 等已有基准相比,其任务多样性可能不足以全面反映代理在真实长周期项目中的表现,且交互轮次上限固定,无法体现真实工作中需求无限演化的特征。
  • - **评估指标单一且偏向过程**:主要依赖最终代码正确性与需求满足度,但未量化交互过程中用户与代理的协同效率(如沟通轮次、无效返工频率),对“过度代理”行为缺少惩罚机制。这使结果可能高估代理实用性,因为在真实应用中,频繁的错误修改或忽略用户反馈会严重降低开发者采纳意愿,而现有指标未捕捉这类隐形成本。
论文Mohit Raghavendra2026-06-29原文

相关内容