[Paper] SWE-chat:真实用户在真实环境中的编码代理交互

发布: (2026年4月23日 GMT+8 01:08)
7 分钟阅读
原文: arXiv

Source: arXiv - 2604.20779v1

Overview

本文介绍了 SWE‑chat,这是首个大规模、持续更新的真实开发者与 AI 编码助手交互数据集。通过从公共代码库直接收集数千个开源会话,作者为社区提供了关于这些助手实际使用情况以及仍然存在的不足的具体证据。

关键贡献

  • 活跃数据集,约 6 K 个编码代理会话(≈ 63 K 条用户提示,355 K 次代理工具调用),会自动从公共代码库刷新。
  • 作者归属,对每行代码进行归属标记,使得能够精确衡量 AI 与人类各自生成的代码量。
  • 使用模式的实证描述,揭示出一种双峰的 “vibe‑coding” 行为,即在 41 % 的会话中,代理几乎写完所有提交的代码。
  • 失败模式分析,显示只有 44 % 的 AI 生成代码能够成功提交,且 AI 编写的代码包含更多安全漏洞。
  • 交互动态指标,量化开发者中断、纠正或拒绝代理输出的频率(占回合的 44 %)。

方法论

  1. 数据收集管道 – 作者构建了一个爬虫,持续监控公共 GitHub 仓库中符合 AI 助手日志典型结构的文件(例如 *.swechat.json)。
  2. 会话重建 – 将原始日志解析为逐轮对话,将每个用户提示与随后代理的工具调用(如 searcheditrun)关联起来。
  3. 作者标记 – 通过追踪每一轮生成的差异,系统将每一行新增代码标记为 human‑authored(人工编写)或 agent‑authored(代理生成)。
  4. 静态分析 – 将所有提交的代码通过安全扫描器(例如 CodeQL)进行检查,以比较人工编写和 AI 编写代码片段的漏洞率。
  5. 统计分析 – 团队计算会话长度、工具调用频率以及“存活”率(AI 生成代码最终进入最终提交的频率)的分布。

该管道是开源的,因此随着更多开发者采用 AI 助手,数据集可以持续增长。

结果与发现

指标观察
会话编码风格41 % 的会话是“vibe coding”(代理几乎编写了所有提交的代码);23 % 完全由人工编写。
代码存活率只有 44 % 的 AI 生成代码行能够存活到最终提交;其余的被编辑或丢弃。
安全性AI 编写的代码表现出 更高的漏洞密度(约为人工代码的 1.8 倍每行代码的问题数)。
开发者抵制44 % 的对话回合中,开发者会介入——通过纠正、报告错误或中止代理的建议。
工具调用量代理平均每个会话进行 ≈ 60 次工具调用,表明对外部操作(搜索、测试、重构)的高度依赖。

这些数字描绘出一个微妙的图景:虽然 AI 助手能够在许多项目中主导工作,但它们仍然远未实现自主,开发者需要投入大量精力来筛选输出。

实际意义

  • 工具设计者 应优先考虑 安全护栏——例如,对 AI 生成的补丁进行自动安全检查,以降低更高的漏洞风险。
  • IDE 集成 可以实时显示存活率指标,在助手的建议被频繁拒绝时提醒开发者。
  • 工作流自动化 可以调优以减少不必要的工具调用;高调用量表明存在大量“试错”循环,可进行精简。
  • 团队负责人 可以制定政策,要求对任何 AI 生成的提交进行人工审查,尤其是安全关键模块。
  • 基准测试 研究应超越合成任务,使用像 SWE‑chat 这样的数据集评估代理,以反映真实的开发者行为。

限制与未来工作

  • 数据集偏差:本次收集侧重于公开的开源仓库,这些仓库会暴露代理日志,可能导致对私有或企业使用模式的代表性不足。
  • 工具调用粒度:部分代理会将多个操作合并为一次调用,这使得难以归属细粒度的工作量。
  • 安全分析范围:静态扫描器能够捕获许多问题,但可能遗漏仅在运行时出现的漏洞;更深入的动态分析是下一步工作。
  • 长期演进:随着编码代理的改进,双峰使用模式可能会发生变化;需要持续监测以跟踪趋势。

作者计划将 SWE‑chat 扩展到更多语言,加入运行时性能数据,并开放排行榜用于真实场景下的代理评估。

作者

  • Joachim Baumann
  • Vishakh Padmakumar
  • Xiang Li
  • John Yang
  • Diyi Yang
  • Sanmi Koyejo

论文信息

  • arXiv ID: 2604.20779v1
  • 分类: cs.AI, cs.CY, cs.SE
  • 出版日期: 2026年4月22日
  • PDF: 下载 PDF
0 浏览
Back to Blog

相关文章

阅读更多 »

[Paper] 多校准的样本复杂度

我们研究批量设置中 multicalibration 的 minimax 样本复杂度。学习者观察到来自未知分布的 n 个 i.i.d. 样本,并且必须输出……