人工智能助手如何影响编程技能的形成

1
分类佳文共赏
作者Anthropic
来源跳转
发表时间

内容

研究表明,人工智能(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 辅助工具不仅仅是为了产生代码,还为了在此过程中建立理解——无论是通过提出后续问题、请求解释,还是在独立编码时提出概念性问题。

研究设计

我们招募了 52 名(大多是初级)软件工程师,每个人都至少每周使用 Python 一次,时间超过一年。我们还确保他们至少对 AI 编码辅助有一定的了解,并且不熟悉我们的任务所基于的 Python 库 Trio。

我们将研究分为三个部分:热身、主要任务和测验。主要任务包括使用 Trio 编写两个不同的功能(这需要理解与异步编程相关的概念,这是一种通常在专业环境中学习的技能)。我们告诉参与者,任务后会有测验,但鼓励他们尽快完成。

我们设计了编码任务,以模仿有人可能通过自学教程学习新工具的方式。每位参与者都会得到问题描述、起始代码和 Trio 概念的简要解释。我们使用了一个带有 AI 辅助工具的在线编码平台,AI 辅助工具可以访问参与者的代码,并且可以在任何时候生成正确的代码。

研究设计图

评估设计

在我们的评估设计中,我们借鉴了计算机科学教育领域的研究,确定了四种常用于评估编码技能掌握的题型:

  • 调试:识别和诊断代码错误的能力。这项技能对于检测 AI 生成的代码是否错误以及理解为什么会失败至关重要。
  • 代码阅读:阅读和理解代码的能力。这项技能使人类能够理解和验证 AI 编写的代码,然后部署。
  • 代码编写:编写或选择正确的代码编写方法的能力。随着 AI 编码工具的进一步集成,低级代码编写(如记住函数的语法)将变得不那么重要,高级系统设计将变得更加重要。
  • 概念性:理解工具和库背后的核心原理的能力。概念性理解对于评估 AI 生成的代码是否使用适当的软件设计模式(符合库的预期使用方式)至关重要。

我们的评估重点是调试、代码阅读和概念性问题,因为我们认为这些对于监督日益可能由 AI 生成的代码至关重要。

结果

平均而言,AI 组的参与者完成任务的时间约快两分钟,尽管这种差异并没有达到统计学显著性的阈值。然而,测验成绩之间存在显著差异:AI 组的平均成绩为 50%,而手动编码组的平均成绩为 67%——相当于两个字母等级的差异(Cohen's d=0.738, p=0.01)。两组之间的成绩差距最大的是调试问题,表明理解代码何时错误以及为什么会失败的能力可能是 AI 阻碍编码开发的一个特别令人担忧的领域。

结果图

定性分析:AI 交互模式

我们特别感兴趣的是了解参与者如何完成我们设计的任务。在我们的定性分析中,我们手动注释了屏幕录像,以确定参与者在组合查询上花费的时间、他们提出的问题类型、他们犯的错误类型以及他们积极编码的时间。

一个令人惊讶的结果是参与者与 AI 辅助工具交互的时间。一些参与者花了多达 11 分钟(占总时间的 30%)来组合多达 15 个查询。这有助于解释为什么平均而言,使用 AI 的参与者完成任务的速度更快,尽管这种生产力提高并没有达到统计学显著性的阈值。我们预计,AI 在重复或熟悉的任务中更有可能显著提高生产力。

不出所料,No AI 组的参与者遇到了更多错误。这些错误包括语法错误和 Trio 概念错误,后者直接映射到评估中测试的主题。我们的假设是,遇到更多 Trio 错误(即控制组)的参与者可能通过独立解决这些错误来提高了他们的调试技能。

然后,我们根据参与者与 AI 的交互方式对他们进行了分组,找到了不同的模式,这些模式导致了完成时间和学习成果的不同。

低分交互模式:低分模式通常涉及对 AI 的重度依赖,无论是代码生成还是调试。该组的平均测验成绩不到 40%。他们表现出较少的独立思考和更多的认知转移。我们进一步将他们分为:

  • AI 委托 (n=4):该组的参与者完全依赖 AI 编写代码和完成任务。他们完成任务的速度最快,过程中几乎没有遇到错误。
  • 渐进式 AI 依赖 (n=4):该组的参与者一开始提出一个或两个问题,但最终将所有代码编写委托给 AI 辅助工具。他们在测验中的成绩很差,主要是因为他们没有掌握第二个任务中的任何概念。
  • 迭代式 AI 调试 (n=4):该组的参与者依赖 AI 调试或验证他们的代码。他们提出更多问题,但依赖辅助工具来解决问题,而不是澄清自己的理解。他们的成绩很差,而且完成两个任务的速度也较慢。

高分交互模式:我们认为高分交互模式是行为,其中平均测验成绩为 65% 或更高。这些参与者使用 AI 既进行代码生成,也进行概念性查询。

  • 生成-理解 (n=2):该组的参与者首先生成代码,然后手动复制或粘贴代码到他们的工作中。在代码生成后,他们会向 AI 辅助工具提出后续问题,以提高理解。这些参与者在使用 AI 时速度并不特别快,但在测验中表现出更高的理解水平。有趣的是,这种方法看起来几乎与 AI 委托组相同,除了他们使用 AI 来检查自己的理解。
  • 混合代码-解释 (n=3):该组的参与者组合了代码生成和解释的查询。阅读和理解他们要求的解释需要更多时间,但有助于他们的理解。
  • 概念性查询 (n=7):该组的参与者只提出概念性问题,并依靠他们提高的理解来完成任务。虽然这个组遇到了很多错误,但他们也独立地解决了这些错误。平均而言,这种模式是高分模式中最快的,也是总体上第二快的,仅次于 AI 委托。

我们的定性分析并没有确定交互模式与学习成果之间的因果关系,但它指出了与不同的学习成果相关的行为。

结论

我们的结果表明,将 AI 激进地融入工作场所,特别是在软件工程方面,会带来权衡。这些发现强调了并非所有 AI 依赖都是相同的:我们与 AI 交互的方式会影响我们学习的程度。考虑到时间限制和组织压力,初级开发人员或其他专业人员可能会依赖 AI 来尽快完成任务,但这可能会以牺牲技能发展为代价——尤其是当出现问题时,需要调试技能来解决问题。

虽然这些结果是初步的,但它们表明了在公司向更高比例的 AI 代码转变时需要考虑的重要因素。生产力提高可能会以技能发展为代价,而技能发展对于验证 AI 代码至关重要。如果初级工程师的技能发展由于使用 AI 而受到阻碍,那么他们可能无法有效地监督他们构建的系统。

对于软件工程或其他行业的初学者来说,我们的研究可以被视为支持有意图的技能发展与 AI 工具的证据的一小部分。认知努力——甚至陷入困境——可能对于培养掌握至关重要。这也是一个适用于个人如何选择与 AI 合作以及使用哪些工具的教训。主要的 LLM 服务也提供了学习模式(例如 Claude Code 学习和解释模式ChatGPT 学习模式),旨在促进理解。了解人们在使用 AI 时如何学习,也可以指导我们如何设计 AI;AI 辅助工具应该使人类能够更高效地工作,并在此过程中发展新的技能。

以前的研究发现,AI 对编码生产力的影响结果不一——有些研究发现 AI 有帮助,而其他研究发现 AI 会阻碍生产力。我们的研究发现,AI 可以将某些任务的时间减少 80%——这似乎与这里的发现相矛盾。但是,这两项研究提出了不同的问题,并使用了不同的方法:我们的早期观察性研究衡量了参与者已经具备相关技能的任务的生产力,而这项研究则检查了人们学习新事物时会发生什么。有可能 AI 既能加快已经掌握的技能的生产力,又能阻碍新技能的获取,尽管需要更多的研究来理解这种关系。

这项研究只是揭示人类-AI 协作如何影响工人的体验的第一步。我们的样本相对较小,我们的评估是在编码任务后不久进行的。是否立即测验成绩能预测长期技能发展是一个重要问题,这项研究没有解决。还有很多未解答的问题,我们希望未来的研究能够探讨,例如 AI 对编码以外任务的影响,随着工程师发展出更大的流利度,这种影响是否会随时间推移而消失,以及 AI 辅助工具与人类辅助工具在学习过程中的区别。

最终,要在 AI 的存在下促进技能发展,我们需要对 AI 对工人的影响有更广泛的理解。在 AI 增强的工作场所中,生产力提高很重要,但长期的专业知识发展也同样重要。

阅读 完整论文 以获取详细信息。

致谢

该项目由 Judy Hanwen Shen 和 Alex Tamkin 领导。Jake Eaton、Stuart Ritchie 和 Sarah Pollack 为本博客文章提供了编辑支持。

我们感谢 Ethan Perez、Miranda Zhang 和 Henry Sleight 通过 Anthropic Safety Fellows Program 使该项目成为可能。我们还感谢 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 = {AI 如何影响技能形成},
  year = {2026},
  eprint = {2601.20245},
  archivePrefix = {arXiv},
  primaryClass = {cs.LG},
  eprinttype = {arxiv}
}

脚注

  1. 重要的是,这种设置与代理式编码产品(如 Claude Code)不同;我们预计此类程序对技能发展的影响可能比这里的结果更为显著。

评论

(0)
未配置登录方式
暂无评论