Unveiling the Role of ChatGPT in Software Development: Insights from Developer-ChatGPT Interactions on GitHub
该研究通过构建并分析源自 GitHub 的 DevChat 数据集,揭示了开发者与 ChatGPT 的交互特征、分享意图及在软件实施与维护等场景中的具体应用,从而绘制了大语言模型在真实软件开发实践中的全面应用图谱。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
这篇论文就像是一次**“软件工程师的日记大揭秘”**。
想象一下,软件工程师(程序员)们以前写代码时,遇到难题会去翻书、问同事或者在论坛发帖。现在,他们多了一位**“超级智能助手”**(也就是 ChatGPT)。
这篇论文的研究者们做了一件非常酷的事情:他们并没有去问程序员“你平时怎么用 ChatGPT?”,而是像**“数字侦探”一样,偷偷(当然是在公开许可下)收集了 GitHub(全球最大的代码托管网站,就像程序员的“公共图书馆”)上,程序员们主动分享**出来的、他们和 ChatGPT 的对话记录。
他们收集了 2,547 条 这样的对话记录,建立了一个叫 DevChat 的数据库,然后像分析人类行为一样,仔细研究了这些记录。
以下是用大白话和比喻总结的论文核心发现:
1. 他们是怎么互动的?(短平快,直奔主题)
- 比喻: 就像你在厨房里切菜,突然刀钝了,你喊一声“帮我磨一下刀”,助手马上磨好,你说声“谢谢”,这就结束了。
- 发现: 程序员和 ChatGPT 的对话通常非常短。大多数对话只有 1 到 3 个来回(你问一句,它答一句,再问一句)。
- 含义: 大家不是把它当成聊天对象,而是当成一个**“随叫随到的工具”**。遇到具体问题,问完就走,不闲聊。
2. 他们为什么要用?(五大目的)
研究者把程序员找 ChatGPT 的原因分成了五类,其中**“派活”**是最主要的:
- 派活(Task Delegation): 这是最主流的用法。就像老板对秘书说:“帮我写个周报”、“帮我生成一段代码”。程序员把重复、枯燥的活儿直接丢给 ChatGPT 干。
- 解决问题(Problem Resolution): 代码报错了?运行出错了?赶紧问 ChatGPT“哪里坏了,怎么修”。
- 学知识(Knowledge Acquisition): 遇到不懂的技术名词或库,把它当“百科全书”查一下。
- 求建议(Solution Recommendation): “我想做个功能,有哪些方案?哪个更好?”把它当“军师”咨询。
- 解释概念(Concept Interpretation): “这个复杂的算法到底是个啥意思?”把它当“老师”求解释。
有趣的现象: 在写代码(Code)和提交代码(Commits)的时候,大家最喜欢让它**“派活”(直接生成代码);但在讨论问题(Issues)或闲聊(Discussions)时,大家更喜欢让它“查知识”或“出主意”**。
3. 他们主要在什么环节用?(重“干活”,轻“设计”)
研究者把软件开发分成了几个阶段,发现 ChatGPT 的分布很不均匀:
- 重灾区(用得最多):
- 软件实现(写代码): 就像盖房子时砌砖的环节。这是 ChatGPT 最忙的地方,大家让它生成代码、补全代码。
- 软件维护与进化(修修补补): 就像房子盖好后维修和装修。大家让它改错、优化旧代码。
- 冷区(用得很少):
- 需求分析(想做什么): 就像盖房子前画图纸、定需求。
- 系统设计(怎么盖): 就像设计房屋结构。
- 比喻: 目前 ChatGPT 更像是一个**“超级熟练的砖瓦工”,干活特别快,但让它去当“建筑师”设计大楼结构或者当“甲方”提需求**,大家还不太敢完全放心,或者觉得它帮不上大忙。
4. 具体在干什么?(39 种细活)
研究者把程序员让 ChatGPT 干的活细化成了 39 种。
- 最火的活: “代码生成与补全”(帮写代码)和“代码修改与优化”(帮改代码)。
- 最冷的活: “需求获取”(问客户想要啥)和“系统架构设计”(设计整体框架)。
5. 这对我们意味着什么?(给未来的启示)
- 对程序员: 别指望 ChatGPT 能完全替代你当“架构师”或“产品经理”,但它绝对是最强的“代码助手”。它能帮你把那些枯燥的、重复的写代码工作搞定,让你有更多时间思考大方向。
- 对工具开发者: 既然大家最喜欢在“写代码”和“修 Bug"时用,那未来的 AI 工具应该更聪明地嵌入到这些环节里,比如在你写代码时自动提示,或者在代码报错时自动给修复方案。
- 风险提示: 虽然 ChatGPT 很能干,但它也会“胡说八道”(幻觉)。就像那个超级熟练的砖瓦工,有时候可能会把砖砌歪了。所以,人类必须最后把关,不能当甩手掌柜。
总结
这篇论文告诉我们:ChatGPT 在软件开发界已经站稳脚跟了,但它目前主要是一个“高级执行者”,而不是“战略决策者”。 大家把它当作一个不知疲倦的实习生,让它去写代码、改 Bug、查资料,但核心的设计和决策,依然牢牢掌握在人类工程师手中。
未来的软件开发,将是**“人类指挥官 + AI 特种兵”**的协作模式。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。