最近 Anthropic 做了个 RCT 实验(随机对照试验),找了 52 个程序员学习一个新的 Python 异步库(Trio),一半用 AI 辅助,一半纯手写,两组做完之后还有一个小考试, 结果挺有意思的。
核心发现 : 用 AI 写代码的,测试分数低了 17%
不是写得更慢,是学得更少。相当于从 B+ 直接掉到 C 的水平。
这个差距最大的地方是「调试能力」(Debugging)——也就是当代码出错了,你能不能定位问题并理解为什么会出问题。 如果 AI 给你一段代码,你直接复制粘贴,出了问题又问 AI 修...那你对这个系统的理解深度在哪里?
但是也不是一刀切,关键在于工程师怎么和AI交互
研究里识别了六种 AI 交互模式,大致分两类:
低分模式 (认知降级)
1. AI 委托:完全让 AI 写代码,自己只做复制粘贴 - 完成最快,但测试平均分低于 40%
2. 递进式依赖 :开始还自己写点,后来全让 AI 干了 - 第二个任务完全没掌握概念
3. 迭代式调试:用 AI 来调试和验证代码 - 问了更多问题,但都是「帮我修这个」 - 既慢,又没学到东西
高分模式(主动学习)
1. 生成后理解:先让 AI 生成代码,然后读一遍,追问:「为什么这样写?」 - 用 AI 验证自己的理解
2. 混合代码解释:让 AI 生成代码 + 解释代码 -虽然花更多时间读解释,但理解更深
3.概念探究 : 只问概念性问题,不问具体代码,自己写,自己调试,自己解决错误 - 这是高分组里最快的方式
我の启发:
AI 不是问题,如何与 AI 协作才是问题。 如果你是初级工程师,或者正在学新东西:
1. 理解后再写代码:先搞清楚概念,再看代码
2. 追问原理:不止问「怎么写」,要问「为什么」
3. 手动验证:AI 生成的代码,自己先读一遍 4. 独立调试:出了问题,自己先查,再用 AI 辅助
目标不是让 AI 替你完成任务,而是让 AI 帮你更快地完成任务。
研究原文:https://www.anthropic.com/research/AI-assistance-coding-skills
论文:https://arxiv.org/abs/2601.20245