Skip to content

SWE 其他相关工作

📅 发表于 2026/05/06
🔄 更新于 2026/08/05
👁️ — 次访问
📝 1462 字
5 分钟

(2604) SWE-chat (Stanford)

🌺 论文摘要

SWE-chat 摘要

参考链接

核心方法

  • SWE-chat 数据集收集框架
    • 借助开源工具 Entire.io CLI,在真实开发环境中静默捕获用户的完整交互日志。
    • 交互轨迹 + Git 差异版本控制 结合,实现代码级的 人类与 AI 归属权追踪 (line-level attribution)。
  • 数据规模:205 个公开 GitHub 仓库,6,000+ Agent 会话,6.3万+ 用户 Prompt,35.5万+ 工具调用。

关键发现

  • 使用模式呈现双峰分布:41% 的会话属于全自动的 “Vibe Coding”(AI 编写 >99% 的代码),而 23% 是纯人类编写(AI 仅辅助)。
  • 效率低下:Agent 生成的代码中,最终存活并被提交的比例仅为 44%
  • 安全性差:Vibe Coding 引入的安全漏洞是纯人类编码的 9倍
  • 摩擦频发:Agent 极少主动提问(<2%),但用户在 44% 的对话轮次中会打断或推翻 AI 的输出。

关键贡献

  • 构建了首个包含真实开发者与 AI 编码助手交互轨迹的大规模数据集 SWE-chat
  • 揭示了现有 AI 编码 Agent 在真实工作流中的真实表现与失效模式,打破了仅依赖静态 Benchmark 评估的局限。

问题背景

问题背景

现有 Benchmark 无法反映真实工作流

问题背景

真实交互数据缺失

  • 尽管 AI 编码 Agent 已被大规模采用,但学术界和工业界都缺乏对其在真实工作环境中表现的实证研究。
  • 现有评估(如 SWE-bench)通常局限于静态的、定义明确的 Issue 和一次性代码补丁生成。

Benchmark 与实际用法的脱节

  • 真实开发是迭代式的:用户会频繁修改需求、纠正 Agent 错误、甚至中途改变主意。
  • Agent 在真实开发中需要执行极其多样的任务(如阅读理解旧代码、跑 bash 脚本),而现有 Benchmark 过度侧重于“写代码解决 Bug”。
  • 仅在 Benchmark 上得分高,无法代表能成为一个好的、无摩擦的“真实人类助手”。

SWE-chat 数据集与分析框架

📕核心方法

数据收集与特征

SWE-chat 收集流水线

自动化捕获 (Entire.io CLI)

  • 开发者授权安装插件后,工具在后台自动记录会话日志(Prompt、思考过程、工具调用、Bash 输出等)。
  • 代码归属权追踪:利用影子分支(shadow branches)在每次工具调用后进行差异对比,精准标记提交代码中“哪些是人类写的”、“哪些是 AI 写的”。

数据集多维标注 (基于 LLM 裁判)

  • 会话成功率 (Session Success):0-100分,评估 Agent 是否最终满足了用户目标。
  • 用户画像 (User Persona):分为 专家挑刺型 (Expert Nitpicker)模糊请求型 (Vague Requester)朝令夕改型 (Mind Changer)
  • 意图分类 (Prompt Intent):创建、重构、调试、理解、Git 操作等。
  • 用户反馈 (User Pushback):纠正 (Correction)、拒绝 (Rejection)、报错 (Failure report)。

实验与分析设置

✍️实验设置

实验设置

分析对象

  • 真实开发者在使用五种主流编码 Agent(主要是 Claude Code,约占 85%)时的完整轨迹。

量化指标

  • 代码留存率 (Code Survival Rate):Agent 最终留在 Commit 中的代码行数 / Agent 生成的净代码行数。
  • 成本效率 (Cost Efficiency):每提交 100 行代码消耗的 Token 数量或 API 费用。
  • 代码安全性 (Semgrep):对比 Commit 前后的代码快照,计算每 1000 行代码引入的新漏洞数量。

关键结果 (真实场景下的 Agent 表现)

🍑关键结果

关键结果

用户到底在用 Agent 做什么? (RQ1)

  • 阅读理解是最大需求:最常见的意图是“理解现有代码”(19%),其次才是“写新代码”(13.4%)。
  • 工具调用的分布:高达 33% 的工具调用是执行 Bash 命令(如构建、Git 操作),说明 Agent 很大一部分时间在与系统环境交互,而非单纯改文件。
  • 用户大多是“挑刺专家”:在大多数会话(约 40%)中,人类保持目标不变,但会对 AI 的执行细节提出非常具体、苛刻的纠正。

Agent 的失败模式与低效表现 (RQ2)

  • 极度浪费算力:Vibe Coding 模式虽然在流行,但效率极低。每提交 100 行代码,Vibe Coding 的 Token 消耗和资金成本约是人机协同 (Collaborative) 模式的 3倍
  • 安全性显著下降:Vibe Coding 引入漏洞的速度是人类纯手工编码的 ~9倍,是人机协同模式的 ~5倍(包含路径遍历、SQL注入等)。
  • 盲目的自主性:Agent 的运行时间越来越长(长尾达到 100 分钟),但几乎从不主动停下来向用户提问求助(<2% 的轮次)。
  • 人类被迫进行高频干预:因为 Agent 不问问题,用户不得不在 44% 的轮次中进行“硬打断”或提交“报错/纠正”来强行纠偏。

未来方向

未来方向

未来方向

Benchmark 的范式转移

  • 开发基于“多轮交互”和“代码理解”的新型基准测试,而不仅仅是评估补丁生成能力。
  • 测试 Agent 在给定真实对话上下文时,预测下一步最合理操作的能力。

人机交互 (HCI) 设计的改进

  • AI Agent 获取自主权的速度过快,导致缺乏对不确定性的感知。
  • 未来需要设计更具适应性的界面与机制,教导 Agent “何时该主动停下来询问人类”

基于真实数据的用户模拟器

  • 依赖人类做活体测试太贵,静态 Benchmark 又不准。
  • 可利用 SWE-chat 数据集训练大规模的 用户模拟器 (User Simulators),在离线状态下更真实地模拟人类开发者的挑剔反馈和打断行为,以评估新一代 Agent。
总访客数:— · 总访问量:—
PLM's Blog @ 2016 - 2026