对齐
AI 辅助如何影响编程技能的形成
How AI assistance impacts the formation of coding skills
2026年1月29日 | 阅读论文

研究表明,AI 能帮助人们更快地完成部分工作。在一项基于 Claude.ai 数据的观察性研究中,我们发现 AI 可以将某些任务的速度提升 80%。但这种效率提升是否伴随着代价?其他研究显示,当人们使用 AI 辅助时,他们对工作的投入程度会降低,付出的努力也会减少——换句话说,他们将思考过程外包给了 AI。
目前尚不清楚这种认知外包是否会阻碍人们在工作中提升技能,或者——就编程而言——是否会阻碍他们理解自己正在构建的系统。我们最新的研究是一项以软件开发人员为参与者的随机对照试验,旨在探究在工作中使用 AI 的这一潜在弊端。
这个问题具有广泛的影响——涉及如何设计促进学习的 AI 产品、工作场所应如何制定 AI 政策,以及更广泛的社会韧性等多个方面。我们将重点放在编程领域,这是一个 AI 工具已迅速成为标配的领域。在这里,AI 制造了一种潜在的张力:随着编程日益自动化并加速工作,人类仍然需要具备发现错误、引导输出,并最终在高风险环境中对 AI 进行监督的技能。AI 是否为技能发展和效率提升同时提供了捷径?还是说,AI 辅助带来的生产力提升反而会削弱技能发展?
在一项随机对照试验中,我们研究了:1)在有和没有 AI 辅助的情况下,软件开发人员掌握一项新技能(本例中是一个 Python 库)的速度有多快;2)使用 AI 是否会使他们更难以理解自己刚刚编写的代码。
我们发现,使用 AI 辅助导致掌握程度出现统计上显著的下降。在一项涵盖他们几分钟前刚使用过的概念的测验中,AI 组的参与者得分比手动编码组低 17%,相当于相差近两个字母等级。使用 AI 略微加快了任务完成速度,但这并未达到统计显著性阈值。
重要的是,使用 AI 辅助并不保证得分更低。如何使用 AI 会影响他们保留了多少信息。那些掌握程度更高的参与者使用 AI 辅助不仅是为了生成代码,更是为了在此过程中建立理解——无论是通过提出后续问题、请求解释,还是在独立编码时提出概念性问题。
研究设计
Study design
我们招募了 52 名(主要是初级)软件工程师,他们每个人都至少每周使用一次 Python,且使用时间超过一年。我们还确保他们对 AI 编程辅助至少有一定了解,并且不熟悉我们任务所基于的 Python 库 Trio。
我们将研究分为三个部分:热身练习;主要任务(使用 Trio 编写两个不同功能,这需要理解与异步编程相关的概念,该技能通常在工作环境中学习);以及一次测验。我们告知参与者任务之后会有测验,但鼓励他们尽可能快地完成工作。
我们将编程任务设计为模拟某人通过自学教程学习新工具的方式。每位参与者都获得了一个问题描述、起始代码,以及解决问题所需的 Trio 概念的简要说明。我们使用了一个在线编码平台,侧边栏有一个 AI 助手,它可以访问参与者的代码,并且可以在被要求时随时生成正确的代码。¹

评估设计
Evaluation design
在我们的评估设计中,我们借鉴了计算机科学教育领域的研究,确定了四种常用于评估编程技能掌握程度的问题类型:
- 调试(Debugging):识别和诊断代码中错误的能力。这项技能对于检测 AI 生成的代码何时不正确以及理解其失败原因至关重要。
- 代码阅读(Code reading):阅读和理解代码功能的能力。这项技能使人类能够在部署前理解和验证 AI 编写的代码。
- 代码编写(Code writing):编写或选择正确方法编写代码的能力。随着 AI 编程工具的进一步集成,低层次的代码编写(如记住函数的语法)将不如高层次系统设计重要。
- 概念理解(Conceptual):理解工具和库背后核心原理的能力。概念理解对于评估 AI 生成的代码是否使用了符合库设计意图的适当软件设计模式至关重要。
我们的评估最侧重于调试、代码阅读和概念性问题,因为我们认为这些对于监督越来越可能由 AI 生成的代码最为重要。
结果
Results
平均而言,AI 组的参与者完成速度大约快两分钟,尽管这种差异在统计上并不显著。然而,测试分数存在显著差异:AI 组的测验平均得分为 50%,而手动编码组为 67%——相当于相差近两个字母等级(Cohen's d=0.738, p=0.01)。两组之间分数差距最大的是调试问题,这表明如果 AI 阻碍了编程能力的发展,那么理解代码何时不正确以及为何失败的能力可能是一个特别值得关注的领域。

定性分析:AI 交互模式
Qualitative analysis: AI interaction modes
我们特别感兴趣的是理解参与者如何完成我们设计的任务。在我们的定性分析中,我们手动注释了屏幕录像,以确定参与者花费了多少时间编写查询、他们提出了什么类型的问题、他们犯了什么类型的错误,以及他们花费了多少时间主动编码。
一个令人惊讶的结果是参与者与 AI 助手互动所花费的时间。有几位参与者花费了长达 11 分钟(占总分配时间的 30%)来编写多达 15 个查询。这有助于解释为什么平均而言,使用 AI 的参与者完成得更快,尽管生产力提升在统计上并不显著。我们预计,当 AI 用于重复性或熟悉的任务时,它更有可能显著提高生产力。
不出所料,无 AI 组的参与者遇到了更多错误。这些错误包括语法错误和 Trio 概念错误,后者直接映射到评估中测试的主题。我们的假设是,遇到更多 Trio 错误的参与者(即对照组)可能通过独立解决这些错误提高了他们的调试技能。
然后,我们根据参与者与 AI 的交互方式对他们进行分组,识别出导致完成时间和学习结果不同的不同模式。
低分交互模式:低分模式通常涉及对 AI 的严重依赖,无论是通过代码生成还是调试。该组的平均测验分数低于 40%。他们表现出较少的独立思考能力和更多的认知外包。我们进一步将其分为:
- AI 委托(AI delegation)(n=4):该组参与者完全依赖 AI 编写代码并完成任务。他们完成任务最快,过程中遇到很少或没有错误。
- 渐进式 AI 依赖(Progressive AI reliance)(n=4):该组参与者开始时问一两个问题,但最终将所有代码编写委托给 AI 助手。他们在测验中得分很低,主要是因为没有掌握第二个任务中的任何概念。
- 迭代式 AI 调试(Iterative AI debugging)(n=4):该组参与者依赖 AI 来调试或验证他们的代码。他们问了更多问题,但依赖助手来解决问题,而不是澄清自己的理解。结果他们得分很低,完成两项任务的速度也较慢。
高分交互模式:我们将高分测验模式视为平均测验分数达到 65% 或更高的行为。这些集群中的参与者既使用 AI 进行代码生成,也用于概念查询。
- 生成后理解(Generation-then-comprehension)(n=2):该组参与者首先生成代码,然后手动将代码复制或粘贴到他们的工作中。代码生成后,他们向 AI 助手提出后续问题以提高理解。这些参与者使用 AI 时速度并不特别快,但在测验中表现出更高水平的理解。有趣的是,这种方法看起来与 AI 委托组几乎相同,只是他们使用 AI 来检查自己的理解。
- 混合代码解释(Hybrid code-explanation)(n=3):该组参与者编写混合查询,要求同时生成代码和解释生成的代码。阅读和理解他们要求的解释花费了更多时间,但有助于他们的理解。
- 概念探究(Conceptual inquiry)(n=7):该组参与者只提出概念性问题,并依靠他们提高的理解来完成任务。尽管该组遇到了许多错误,但他们也独立解决了这些错误。平均而言,这种模式是高分模式中最快的,总体速度仅次于 AI 委托模式。
我们的定性分析并未在交互模式和学习结果之间建立因果关系,但它确实指出了与不同学习结果相关的行为。
结论
Conclusion
我们的结果表明,将 AI 激进地融入工作场所,尤其是在软件工程领域,是伴随着代价的。研究结果强调,并非所有对 AI 的依赖都是一样的:我们在追求效率时与 AI 互动的方式会影响我们学到多少。考虑到时间限制和组织压力,初级开发人员或其他专业人士可能会依赖 AI 以尽可能快的速度完成任务,但这以牺牲技能发展为代价——尤其是当出现问题时调试问题的能力。
尽管是初步结果,但这些结果在公司向 AI 编写代码与人类编写代码比例更高的过渡过程中,提出了重要的考量。如果初级工程师的技能发展因首先使用 AI 而受到阻碍,那么生产力收益可能会以牺牲验证 AI 编写代码所需的技能为代价。管理者应该有意识地思考如何大规模部署 AI 工具,并考虑确保工程师在工作中继续学习——从而能够对他们构建的系统进行有意义的监督——的系统或有意为之的设计选择。
对于软件工程或任何其他行业的新手工作者来说,我们的研究可以看作是一小部分证据,证明了有意识地使用 AI 工具发展技能的价值。认知努力——甚至陷入痛苦的困境——对于培养精通很可能至关重要。这也是一个适用于个人选择如何与 AI 合作以及使用哪些工具的教训。主要的 LLM 服务也提供旨在促进理解的学习模式(例如,Claude Code 学习和解释模式或 ChatGPT 学习模式)。了解人们在使用 AI 时如何学习,也有助于指导我们如何设计 AI;AI 辅助应该使人类能够更高效地工作,同时发展新技能。
先前的研究对于 AI 是帮助还是阻碍编程生产力得出了不同的结果。我们自己的研究发现,AI 可以将完成某些工作任务的时间减少 80%——这个结果似乎与本文提出的发现存在矛盾。但这两项研究提出了不同的问题,并使用了不同的方法:我们早期的观察性研究测量的是参与者在已经具备相关技能的任务上的生产力,而本研究则考察了人们在学习新事物时会发生什么。AI 既可能加速已熟练掌握技能的生产力,也可能阻碍新技能的获取,尽管需要更多研究来理解这种关系。
这项研究只是揭示人机协作如何影响工作者体验的第一步。我们的样本量相对较小,并且我们的评估是在编程任务结束后不久测量理解程度。即时测验表现是否能预测长期技能发展,是本研究未能解决的一个重要问题。还有许多未解之谜,我们希望未来的研究能够探讨,例如 AI 对编程以外任务的影响、这种影响是否会随着工程师熟练度的提高而纵向减弱,以及在学习过程中 AI 辅助与人类辅助是否存在差异。
最终,为了在 AI 存在的情况下促进技能发展,我们需要对 AI 对工作者的影响有一个更广阔的视角。在一个由 AI 增强的工作场所中,生产力提升固然重要,但支撑这些提升的专业知识的长期发展也同样重要。
详情请阅读完整论文。
致谢
Acknowledgments
本项目由 Judy Hanwen Shen 和 Alex Tamkin 领导。本篇博文的编辑支持由 Jake Eaton、Stuart Ritchie 和 Sarah Pollack 提供。
我们要感谢 Ethan Perez、Miranda Zhang 和 Henry Sleight 通过 Anthropic 安全研究员计划使本项目成为可能。我们还要感谢 Matthew Jörke、Juliette Woodrow、Sarah Wu、Elizabeth Childs、Roshni Sahoo、Nate Rush、Julian Michael 和 Rose Wang 提供的实验设计反馈。
@misc{aiskillformation2026, author = {Shen, Judy Hanwen and Tamkin, Alex}, title = {How AI Impacts Skill Formation}, year = {2026}, eprint = {2601.20245}, archivePrefix = {arXiv}, primaryClass = {cs.LG}, eprinttype = {arxiv} }
脚注
Footnotes
- ¹ 重要的是,这种设置不同于像 Claude Code 这样的智能体编程产品;我们预计此类程序对技能发展的影响可能比这里的结果更为显著。
相关内容
Related content
AI 模型中双重用途知识的开关
了解更多
语言模型中的全局工作空间
新的可解释性研究揭示了 Claude 中一个涌现的心理工作空间,它持有不显示在模型输出中的内部想法。
了解更多
Anthropic 经济指数报告:节奏
在我们最新的经济指数报告中,我们首次按小时抽样,以询问:人们何时来找 Claude?他们用它来做什么?他们如何看待 AI 对其工作的影响?
了解更多