SWE 其他相关工作
📅 发表于 2026/05/06
🔄 更新于 2026/08/05
👁️ — 次访问
📝 1462 字
⏳ 5 分钟
🌺 论文摘要
参考链接
核心方法
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。真实表现与失效模式,打破了仅依赖静态 Benchmark 评估的局限。❓问题背景
真实交互数据缺失
真实工作环境中表现的实证研究。静态的、定义明确的 Issue 和一次性代码补丁生成。Benchmark 与实际用法的脱节
迭代式的:用户会频繁修改需求、纠正 Agent 错误、甚至中途改变主意。📕核心方法
自动化捕获 (Entire.io CLI)
代码归属权追踪:利用影子分支(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)。✍️实验设置
分析对象
Claude Code,约占 85%)时的完整轨迹。量化指标
代码留存率 (Code Survival Rate):Agent 最终留在 Commit 中的代码行数 / Agent 生成的净代码行数。成本效率 (Cost Efficiency):每提交 100 行代码消耗的 Token 数量或 API 费用。代码安全性 (Semgrep):对比 Commit 前后的代码快照,计算每 1000 行代码引入的新漏洞数量。🍑关键结果
用户到底在用 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 的范式转移
人机交互 (HCI) 设计的改进
基于真实数据的用户模拟器
用户模拟器 (User Simulators),在离线状态下更真实地模拟人类开发者的挑剔反馈和打断行为,以评估新一代 Agent。