Anthropic 的研究者 Judy Hanwen Shen 和 Alex Tamkin 发表了一项随机对照实验结果,研究主题是:在需要掌握新知识的编程任务中,使用 AI 辅助,对技能习得究竟有什么影响?
结论相当直白,也相当值得认真看一遍。
实验设计
研究者选了 Python 异步库 Trio 作为载体——这个库知名度不如 asyncio,引入了”结构化并发”等新概念,足够陌生,也足够清晰,适合作为”学习新技能”的测试场景。
52 名有一年以上 Python 经验、每周用 Python 编码、从未用过 Trio 的开发者参与实验,随机分为两组:
- 对照组(无 AI):只能用网络搜索和任务说明完成两道 Trio 编程题
- 实验组(AI 辅助):在此基础上,还能使用基于 GPT-4o 的聊天 AI 助手
任务完成后,所有参与者立刻参加一场涵盖概念理解、代码阅读和调试三类题型的 27 分闭卷测验——这也是该实验的核心因变量。
主要结论
AI 辅助组的测验得分平均低了 17%(Cohen’s d = 0.738,p = 0.010),折算为 2 个等级分的差距。这一效应在所有经验层级的参与者中都成立——无论是编码经验 1-3 年的新手,还是 7 年以上的老手,对照组的平均分始终高于实验组。
从题型来看,差距最大的是调试题。逻辑不难理解:没有 AI 的参与者在完成任务时反复遭遇报错(中位数 3 次,AI 组为 1 次),被迫深入理解 Trio 的错误机制,恰好也是测验重点所在。
与此同时,研究没有发现 AI 辅助在完成时间上带来显著提速。AI 组平均任务时间与对照组接近,原因是部分参与者花了大量时间构思和输入查询——有人写了多达 15 条提问,单条查询耗时最长超过 6 分钟。
六种交互模式
研究团队逐一观看了 51 名参与者的录屏,对 AI 交互行为进行了手工标注和分类,整理出六种模式,分为两组:
低分模式(平均分低于 40%):
- AI 全托管(AI Delegation,n=4):把任务完全扔给 AI,完成最快,但几乎没学到什么
- 渐进式依赖(Progressive AI Reliance,n=4):一开始还自己想,后来慢慢全靠 AI 生成代码
- 迭代式 AI 调试(Iterative AI Debugging,n=4):反复把报错贴给 AI,让 AI 修,自己不理解哪里出了问题
高分模式(平均分超过 65%):
- 生成后理解(Generation-Then-Comprehension,n=2):先让 AI 生成代码,再追问 AI 解释,主动确认自己理解了
- 混合式(Hybrid Code-Explanation,n=3):要求 AI 生成代码的同时也给出解释,边看边理解
- 仅问概念(Conceptual Inquiry,n=7):只问概念性问题,靠自己理解去实现,遇错独立排查
值得注意的是:高分模式和低分模式的差异,不在于有没有使用 AI 生成代码,而在于参与者是否保持了主动的认知卷入。那些生成后追问、或坚持自己理解概念的人,哪怕借助了 AI,在测验中的表现也与对照组相近。
这份研究的意义
这项实验的核心贡献,是把一个通常停留在直觉层面的担忧,用受控实验量化了出来:AI 提升的生产力,不是技能成长的捷径,而可能恰恰相反。
研究者事先预设 AI 会带来显著提速,但这一假设没有在主实验中得到支持。在分析录屏后,他们的解释是:聊天式 AI 会带来大量查询时间成本,而这些时间开销抵消了代码生成本身的加速效果。如果换成 agentic 模式(全自动、无需人工输入提示词),代码生成更快,认知卷入更少,学习损耗大概率更大而非更小。
参与者的反馈也印证了这一点。AI 辅助组的人在任务结束后写道:“我感觉自己变懒了,没有认真读 Trio 的说明文档”;“我希望当时对 AI 生成的内容多问几个为什么,现在感觉有很多空白没补上”。对照组的人则普遍表示,这个任务帮助他们真正理解了 Trio 的运作逻辑。
值得记住的一句话
研究总结里有一段话,值得记住:
AI 带来的生产力提升,并不是通向能力的捷径。尤其在安全关键领域,AI 融入工作流程时,必须注意保留技能习得的空间。
把这话放在当下语境里——越来越多 junior 开发者在入职第一天就开始用 AI 写代码——这项实验提供的不是”不要用 AI”的论据,而是一个更有用的提醒:你用 AI 的方式,决定了你究竟在学习,还是只是在完成任务。
如果你在意自己五年后还能不能看懂、调试和设计代码,那现在的 AI 使用习惯,值得认真想一想。