Skip to content
Go back

AI 帮你写完代码,但你没学到东西——一项随机实验的结论

Anthropic 的研究者 Judy Hanwen Shen 和 Alex Tamkin 发表了一项随机对照实验结果,研究主题是:在需要掌握新知识的编程任务中,使用 AI 辅助,对技能习得究竟有什么影响?

结论相当直白,也相当值得认真看一遍。

实验设计

研究者选了 Python 异步库 Trio 作为载体——这个库知名度不如 asyncio,引入了”结构化并发”等新概念,足够陌生,也足够清晰,适合作为”学习新技能”的测试场景。

52 名有一年以上 Python 经验、每周用 Python 编码、从未用过 Trio 的开发者参与实验,随机分为两组:

任务完成后,所有参与者立刻参加一场涵盖概念理解、代码阅读和调试三类题型的 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%):

高分模式(平均分超过 65%):

值得注意的是:高分模式和低分模式的差异,不在于有没有使用 AI 生成代码,而在于参与者是否保持了主动的认知卷入。那些生成后追问、或坚持自己理解概念的人,哪怕借助了 AI,在测验中的表现也与对照组相近。

这份研究的意义

这项实验的核心贡献,是把一个通常停留在直觉层面的担忧,用受控实验量化了出来:AI 提升的生产力,不是技能成长的捷径,而可能恰恰相反。

研究者事先预设 AI 会带来显著提速,但这一假设没有在主实验中得到支持。在分析录屏后,他们的解释是:聊天式 AI 会带来大量查询时间成本,而这些时间开销抵消了代码生成本身的加速效果。如果换成 agentic 模式(全自动、无需人工输入提示词),代码生成更快,认知卷入更少,学习损耗大概率更大而非更小。

参与者的反馈也印证了这一点。AI 辅助组的人在任务结束后写道:“我感觉自己变懒了,没有认真读 Trio 的说明文档”;“我希望当时对 AI 生成的内容多问几个为什么,现在感觉有很多空白没补上”。对照组的人则普遍表示,这个任务帮助他们真正理解了 Trio 的运作逻辑。

值得记住的一句话

研究总结里有一段话,值得记住:

AI 带来的生产力提升,并不是通向能力的捷径。尤其在安全关键领域,AI 融入工作流程时,必须注意保留技能习得的空间。

把这话放在当下语境里——越来越多 junior 开发者在入职第一天就开始用 AI 写代码——这项实验提供的不是”不要用 AI”的论据,而是一个更有用的提醒:你用 AI 的方式,决定了你究竟在学习,还是只是在完成任务。

如果你在意自己五年后还能不能看懂、调试和设计代码,那现在的 AI 使用习惯,值得认真想一想。


Tags


Next

用后台响应处理 AI Agent 的长时间运行操作