[Paper] 开发者采纳 LLM 生成的代码重构建议的模式

发布: (2026年5月6日 GMT+8 20:31)
7 分钟阅读
原文: arXiv

Source: arXiv - 2605.04835v1

概述

本文调查了软件工程师如何实际 使用 由大型语言模型(LLMs)如 ChatGPT 生成的重构建议。通过挖掘 169 条引用 ChatGPT 对话的真实 GitHub 提交,作者揭示了开发者在接受、修改或拒绝 AI 驱动的重构时出现的模式。该研究弥合了学术界对 LLM 输出的评估与开发者日常工作流之间的差距。

关键贡献

  • Empirical dataset 包含 169 条 GitHub 提交,将 ChatGPT 生成的重构建议与具体代码更改关联起来。
  • Adoption taxonomy 将开发者的响应划分为五种不同模式(例如,直接接受、重大重写、基于提示的细化)。
  • Insightful correlation 揭示原始提示的性质、LLM 回答的有效性与开发者所做修改类型之间的关联。
  • Evidence that most suggestions are used as‑is,表明当前 LLM 在重构任务中的信任度很高。
  • Guidelines for tool builders 提供了在 IDE 和 CI 流水线中展示、验证和集成 LLM 重构建议的指南。

方法论

  1. 数据收集 – 作者在公共 GitHub 仓库中搜索提交信息,寻找包含指向 ChatGPT 对话的 URL 的提交。每个匹配项都经过人工验证,以确保该提交确实应用了模型建议的重构。
  2. 提交分析 – 对每个提交,比较原始代码、语言模型的建议以及提交后的最终代码。
  3. 模式识别 – 研究人员使用定性编码,将观察到的开发者行为归类为五种高级模式,考虑以下因素:
    • 重构活动(例如,重命名、提取方法、简化条件)。
    • 开发者给 ChatGPT 的 提示(清晰度、具体性)。
    • 模型答案的 有效性(正确、部分正确或错误)。
  4. 定量总结 – 计算每种模式的出现频率,并进行统计检验,以查看提示质量或答案正确性是否显著影响所选模式。

结果与发现

  • 直接接受占主导 – ≈ 68 % 的提交在没有任何更改的情况下采用了 LLM 的建议。
  • 当开发者介入时,修改通常是 重大 的(例如,重构建议的代码,添加缺失的错误处理),而不是小幅度的微调。
  • 出现了五种采纳模式

1. 直接采纳

复制粘贴建议。

2. 基于提示的细化

开发者提出后续问题,收到修订后的建议,然后采纳。

3. 部分集成

只有建议的一部分适用于代码库。

4. 错误纠正

开发者在提交前修复 LLM 输出中的语法或逻辑错误。

5. 拒绝并重写

建议被丢弃,进行完全不同的重构。

  • 提示质量很重要 – 更清晰、更受约束的提示会导致更高的直接采纳率。
  • 模型有效性至关重要 – 当 ChatGPT 的答案包含错误时,开发者往往会进入“错误纠正”或“拒绝并重写”模式。

Source:

实际意义

  • IDE 插件 可以在 LLM 建议旁边显示置信度分数或验证检查(例如静态分析),以减少“错误纠正”的工作量。
  • 提示工程工具(模板、提示自动补全)可以提升直接采纳的比例,从而节省开发者时间。
  • CI/CD 集成——在合并 LLM 生成的补丁之前运行自动化测试,捕获模型出现幻觉的少数情况。
  • 团队工作流——记录提示‑重构模式可以帮助团队标准化审查 AI 生成的更改,确保一致性和可追溯性。
  • 生产力提升——鉴于大多数开发者会不加修改地接受建议,LLM 驱动的重构可以成为一种低摩擦的方式,在规模上提升代码可读性和可维护性。

限制与未来工作

  • 样本偏差 – 数据集仅包含明确链接到 ChatGPT 对话的提交,可能导致对已经对 AI 辅助抱有热情的开发者的代表性过高。
  • 语言与领域范围 – 本研究聚焦于少数流行语言(例如 Python、JavaScript);系统语言或特定领域代码的结果可能有所不同。
  • 时间快照 – 分析反映的是特定版本的 ChatGPT;模型的快速更新可能会改变采纳模式。
  • 未来方向 作者提出的包括将数据集扩展到其他大型语言模型(LLM),探索自动检测低质量建议的方法,以及进行受控用户研究,以更精确地衡量生产力提升。

作者

  • David Schön
  • Faiza Amjad
  • Tehreem Asif
  • Ranim Khojah
  • Mazen Mohamad
  • Francisco Gomes de Oliveira Neto
  • Philipp Leitner

论文信息

  • arXiv ID: 2605.04835v1
  • 分类: cs.SE, cs.HC
  • 发表时间: 2026年5月6日
  • PDF: Download PDF
0 浏览
Back to Blog

相关文章

阅读更多 »