这篇论文就像是在观察一群正在学习修车的年轻学徒,当他们手里多了一把超级智能的“自动修车机器人”(GitHub Copilot)时,他们是如何使用它的,以及他们对这个机器人的信任程度如何。
研究人员来自美国佛罗里达大学,他们想搞清楚:当未来的工程师们(大学生)在做一个真实的、有点难度的开源项目(就像给一辆复杂的赛车改装零件)时,他们到底怎么使用这个 AI 助手?
以下是用通俗语言和比喻对这篇论文的解读:
1. 背景:当“副驾驶”坐进车里
想象一下,现在的编程就像开车。以前,学生必须自己记住所有的交通规则(语法)和怎么拧螺丝(写代码)。但现在,有了像 GitHub Copilot 这样的 AI 助手,它就像是一个坐在副驾驶的超级老司机。
- 它能帮你自动补全你想说的话(代码)。
- 它能根据你的聊天指令直接生成一段路(代码)。
- 它能解释为什么前面的路这么堵(解释代码)。
- 它还能帮你修车(修复错误)。
虽然这个“老司机”很厉害,但研究人员想知道:学生们真的会用它吗?他们信任它吗?不同性格的学生(比如男生和女生,或者新手和老手)使用它的方式一样吗?
2. 实验:一场“带 AI 的修车比赛”
研究人员让 179 名软件工程专业的学生参加了一个任务:
- 任务:给一个现有的开源软件(一个叫 JSON Crack 的工具)加一个新功能(就像给赛车加个新的导航系统)。
- 规则:学生们被允许随意使用 GitHub Copilot 的所有功能,想怎么用就怎么用。
- 调查:做完后,学生们填了一份问卷,告诉研究人员他们用了哪些功能,觉得哪些功能最有用,以及他们对这个 AI 的信任度。
3. 发现:学生们到底怎么玩?
A. 最受欢迎的功能:聊天和生成
学生们最喜欢用的两个功能是:
- Copilot 聊天(Copilot Chat):就像直接跟副驾驶聊天。学生们喜欢问:“帮我写个函数”或者“这段代码什么意思”。
- 代码生成(Code Generation):就像告诉机器人“我要个引擎”,它直接吐出一段代码。
为什么? 因为现在的学生都很习惯跟 AI 聊天(比如用 ChatGPT),而且这两个功能最直接、最省事。
B. 最不受欢迎的功能:写文档
最没人用的功能是 自动生成文档(/doc)。
- 比喻:这就像修完车后,让你写一份详细的“维修说明书”。学生们觉得:“我只要把车修好就行,写说明书太麻烦了,而且作业也没要求我写那么细。”
- 启示:这说明学生更关注“把代码跑通”,而忽略了软件工程里很重要的“写文档”环节。
C. 性别差异:男生和女生的“驾驶习惯”不同
这是论文里一个很有趣的发现:
- 男生:更倾向于使用代码生成功能(直接让 AI 写代码),并且觉得 AI 生成的代码更有用。他们更像是在“指挥”机器人干活。
- 女生:更倾向于使用代码自动补全(AI 猜你想写什么)和代码解释(问 AI 这段代码是干嘛的)。她们更像是在“学习”和“理解”过程。
- 原因推测:男生可能对 AI 更熟悉、更自信,所以更敢直接让 AI 写大段代码;而女生可能觉得先理解清楚再动手更稳妥。这也提示教育者需要关注这种差异,确保所有学生都能平等地掌握 AI 技能。
D. 经验差异:新手和老手的“信任度”
- 编程高手:他们更懂得怎么跟 AI 聊天,怎么通过多轮对话把代码改好。他们知道 AI 也会犯错,所以会检查后再用。
- 编程新手:他们要么太依赖 AI(AI 说什么就是什么,不管对不对),要么不敢用(因为看不懂 AI 生成的代码,所以不敢用)。
- 关键点:如果你不懂编程,AI 生成的代码对你来说可能就像天书,你很难判断它是“神来之笔”还是“乱写一通”。
4. 结论与启示:AI 是工具,不是替身
这篇论文告诉我们几件重要的事情:
- AI 已经普及:现在的学生都在用 AI 写代码,而且用得挺顺手。
- 用法有讲究:大家最喜欢“聊天”和“生成”,但往往忽略了“写文档”和“解释”。这可能会导致学生只学会了“怎么让代码跑起来”,却没学会“怎么维护代码”。
- 因材施教:男生和女生、新手和老手,使用 AI 的方式和心态完全不同。老师在设计课程时,不能“一刀切”,要考虑到这些差异,引导学生正确、负责任地使用 AI。
- 警惕“过度依赖”:如果学生太依赖 AI,可能会像“只会按导航开车”的司机,一旦导航失灵(AI 出错),他们可能就不知道该怎么自己修车了。
总结来说:
GitHub Copilot 就像是一个强大的副驾驶。对于未来的工程师来说,学会如何与这个副驾驶有效沟通(提问、判断、修改),比单纯让它代劳更重要。这篇论文就是提醒教育者:在教学生开车(编程)的同时,也要教他们如何信任并驾驭这个新来的“副驾驶”。
论文技术总结:工程学生在开源项目中使用 GitHub Copilot 的用法与感知
1. 研究背景与问题 (Problem)
随着大语言模型(LLM)的快速发展,AI 编程助手(如 GitHub Copilot)已广泛集成到集成开发环境(IDE)中。虽然现有研究多关注 AI 生成代码的性能指标(如效率、准确性),但计算机专业学生如何在真实学习场景中(特别是开源项目贡献)使用这些工具,以及他们的感知、信任度和人口统计学因素(如性别、编程水平)如何影响使用行为,仍缺乏深入探索。
本研究旨在解决以下核心问题:
- 学生在完成开源项目任务时,具体使用了 GitHub Copilot 的哪些功能?
- 学生认为哪些功能最有价值?
- 人口统计学因素(性别)和先验经验(编程熟练度、AI 熟悉度)是否显著影响工具的使用模式和信任度?
2. 研究方法 (Methodology)
本研究采用准实验调查法(Quasi-experimental survey-based study),结合软件工程课程中的实际编程作业进行。
- 研究对象:美国一所大型公立大学软件工程课程中的 179 名有效参与者(主要是计算机科学与计算机工程专业的本科生)。
- 实验任务:学生需为一个名为"JSON Crack"的开源项目(交互式 JSON 可视化工具)添加“节点编辑”功能。任务具有中等难度,涉及不熟悉代码库的导航和修改。
- 工具设置:
- 环境:Visual Studio Code (VS Code) 集成 GitHub Copilot。
- 功能介绍:实验前向学生演示了 Copilot 的六大核心功能:
- 代码自动补全 (Code autofill)
- 代码生成 (Code generation):基于自然语言或注释生成代码。
- Copilot 聊天 (Copilot chat):基于代码上下文的自然语言对话。
- 代码解释 (/explain)
- 错误修复 (/fix)
- 文档生成 (/doc)
- 数据收集:
- 任务完成后,学生填写问卷。
- 问卷内容:人口统计学信息、对编程/AI 的熟悉度、各功能的使用频率(1-5 分 Likert 量表)、感知有用性(1-5 分)、以及基于 Madsen & Gregor 模型的信任度量表(可靠性、可理解性、技术能力、信念、个人依恋)。
- 分析方法:
- 描述性统计。
- 独立样本 T 检验(或 Mann-Whitney U 检验,针对非正态分布数据)分析性别差异。
- 卡方检验 (Chi-square test) 分析编程熟练度、C++ 熟悉度、AI 熟悉度与使用行为及信任度之间的关系。
3. 主要发现与结果 (Key Results)
3.1 功能使用频率与感知有用性
- 使用频率最高:Copilot 聊天 (Chat) (均值 4.02) 和 代码生成 (Code generation) (均值 3.92)。
- 使用频率最低:文档生成 (/doc) (均值 1.77) 和 代码自动补全 (均值 2.26)。
- 感知有用性:聊天功能和代码生成功能被认为最有用(均值 > 3.8),而文档生成功能被认为最无用(均值 2.05)。
- 趋势:学生倾向于使用交互性强的功能(聊天、生成)来解决核心逻辑问题,而忽视辅助性功能(如文档)。
3.2 性别差异 (Gender Differences)
- AI 熟悉度:男性学生对 LLM 的熟悉度显著高于女性学生(p=0.059)。
- 感知有用性:男性认为 AI 编程助手的整体有用性显著高于女性(p=0.002)。
- 功能使用差异:
- 代码自动补全:女性使用频率显著高于男性。
- 代码生成:男性使用频率显著高于女性。
- 代码解释 (/explain):女性使用频率略高于男性(接近显著)。
- 文档生成 (/doc):女性使用频率略高于男性(接近显著)。
- 结论:性别显著影响了对 AI 工具的信任度、感知有用性及具体功能的选择。
3.3 编程熟练度与经验的影响
- 编程熟练度:
- 编程水平中等和较高的学生显著更多地使用 Copilot 聊天 功能。
- 编程水平较低的学生使用聊天功能较少。
- 高熟练度学生对 Copilot 的“信念 (Faith)"处于中等水平,而中等熟练度学生表现出更高的信任度(可能存在过度依赖风险)。
- C++ 熟悉度:显著影响对 Copilot 的可靠性和信念感知。
- AI 助手熟悉度:
- 显著影响整体信任度、可理解性 (Understandability) 和 个人依恋 (Personal Attachment)。
- 熟悉度高的学生更倾向于使用 /fix 功能。
4. 关键贡献 (Key Contributions)
- 真实场景下的行为分析:不同于受控的简单编程任务,本研究在真实的开源项目贡献(Open-Source Contribution)背景下,分析了学生如何使用 AI 工具,填补了从“课堂练习”到“工业级任务”的空白。
- 细粒度的功能分析:不仅关注整体使用,还区分了 Copilot 的六大具体功能,发现聊天和生成功能是核心,而文档功能被边缘化。
- 人口统计学与经验因素的量化:首次详细量化了性别、编程熟练度和AI 熟悉度对工具使用模式和信任构建的具体影响,揭示了潜在的性别数字鸿沟。
- 教育启示:指出当前学生倾向于利用 AI 完成“代码编写”任务,而忽视“文档”和“代码质量”等软件工程全生命周期要素。
5. 研究意义与启示 (Significance)
- 对教育者的启示:
- 教师应意识到不同背景(性别、水平)的学生对 AI 的依赖程度和信任度存在差异。
- 课程设计需平衡 AI 辅助与基础技能培养,防止学生过度依赖 AI 而丧失调试和理解代码的能力。
- 针对女性学生,可能需要额外的 AI 培训以提升其熟悉度和自信心,缩小性别差距。
- 对工具设计的启示:
- 未来的教育工具设计应强化学生最需要的功能(如聊天和生成),同时引导学生关注被忽视的功能(如文档生成和代码解释),以培养全面的软件工程素养。
- 对未来的展望:
- 需要进一步研究学生如何评估和接受 AI 生成的代码,以及如何防止过度依赖。
- 在 AI 丰富的未来工作环境中,理解人机协作模式对于培养合格的软件工程师至关重要。
6. 局限性 (Limitations)
- 自报告数据:由于是家庭作业(Take-home assignment),无法通过日志数据验证实际使用情况,依赖学生的自我报告可能存在偏差。
- 样本不平衡:参与研究的男女比例不均,且不同编程水平组的人数不等,可能影响统计检验的效力。
- 缺乏代码质量评估:研究未收集或分析学生最终提交的代码质量,仅关注了使用行为和感知。
每周获取最佳 computer science 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。