AI辅助对编程技能形成的影响
Anthropic的研究表明,在学习过程中使用AI辅助会导致技能掌握程度出现统计学意义上的显著下降,具体表现为与手工编码相比,测验成绩降低了17%。虽然AI可以加速完成熟悉任务,但它可能削弱新技能的获取能力以及调试代码的能力,从而带来风险:开发者缺乏足够的专业知识来监督AI生成的输出。
技能获取与掌握的影响
在学习新技能时使用AI辅助会导致理解力和记忆力下降。在一项涉及52名主要是初级软件工程师的随机对照试验中,这些工程师正在学习Python库"Trio",使用AI辅助的小组在任务后的测验中平均得分为50%,而手工编码小组的平均得分为67%。这一差异相当于接近两个字母等级(Cohen's d=0.738, p=0.01)。
关于表现的关键发现包括:
- 调试差距:得分差异最大的部分出现在调试问题上,表明对AI的依赖会特别削弱识别和诊断错误的能力。
- 生产率权衡:AI组平均任务完成时间快约两分钟,但这种生产率提升并不具有统计学显著性。
- 认知卸载:使用AI的参与者经常将思考过程完全交给工具,减少了任务投入的努力,也降低了对工作的参与度。
AI交互模式与学习成果
对屏幕录制的定性分析显示,与AI的交互方式决定了用户是否能保留信息。该研究识别出两种截然不同的交互模式类别:
低分交互模式(平均分 < 40%)
- AI委托:用户完全依赖AI编写代码。该组完成任务最快,遇到的错误最少,但掌握程度最低。
- 逐步依赖AI:用户起初独立努力,但最终将所有代码编写工作都交给AI。
- 迭代式AI调试:用户依赖AI解决问题和验证代码,而不是利用工具来澄清自身的理解。
高分交互模式(平均分 ≥ 65%)
- 生成后理解:用户先生成代码,然后提出后续问题以加深理解。
- 混合代码-解释:用户同时请求代码生成和详细解释。
- 概念性探究:用户仅提出概念性问题,并依靠自身理解完成任务。这是整体第二快的模式,且与高掌握度相关。
对软件工程与AI政策的启示
该研究指出,工作场所中激进地整合AI可能会对社会韧性与系统安全造成长期风险。如果初级工程师的技能发展受到抑制,他们可能缺乏在高风险环境中监督AI生成代码或发现错误的能力。
为缓解这些风险,研究建议:
- 有意识地发展技能:鼓励"认知努力",并将陷入困境的过程视为培养掌握能力的必要部分。
- 工具设计:采用学习模式(如Claude Code Learning和Explanatory模式或ChatGPT Study Mode),旨在促进理解而非仅仅输出。
- 管理策略:设计AI部署政策,确保工程师在工作的同时持续学习,而不是优先考虑即时速度而牺牲长期专业能力。
研究背景与局限性
本研究专门聚焦于新技能的获取,与之前Anthropic的观察数据形成对比,后者显示AI可使现有任务的执行速度提升80%。研究指出,AI可能同时加速已有技能的生产力,却阻碍新技能的获取。
研究的局限性包括样本量相对较小,以及在任务结束后立即测量理解程度,因此关于即时表现是否能预测长期技能发展的疑问仍需进一步研究。
Sources
相关
- Dispatch
- Dispatch
- Dispatch
- Dispatch
- Dispatch