随风
发布于 2026-02-01 / 25 阅读
0
0

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

摘要与背景

研究表明,人工智能能帮助人们更快完成工作中的部分任务。通过对 Claude.ai 数据的观察性研究,我们发现人工智能可将某些任务效率提升 80%

但这种生产力增长是否存在代价?

其他研究表明,当人们使用人工智能辅助工具时,他们会降低工作投入度并减少工作付出的努力——换言之,他们将思考任务转嫁给了人工智能。

核心问题: 这种认知卸载是否会阻碍人们在职场中提升技能,或者——以编程为例——妨碍他们理解所构建的系统?

我们最新的研究通过一项以软件开发人员为参与者的随机对照试验,探讨了工作中使用人工智能的这一潜在弊端。

问题的广泛意义

这个问题具有广泛影响,涉及:

  • 如何设计促进学习的人工智能产品

  • - 职场应如何制定人工智能政策

  • - 更广泛的社会韧性等诸多方面

编程领域的矛盾

我们聚焦于编程领域,该领域中人工智能工具已迅速成为标配。在此领域,人工智能引发了潜在矛盾:

随着编程日益自动化并加速工作进程,人类仍需掌握:

  • 捕捉错误的能力

  • - 引导输出结果的能力

  • - 对部署于高风险环境的人工智能进行监督的能力

核心悖论: 人工智能究竟是通向技能发展与效率提升的捷径?还是说人工智能辅助带来的生产力增长反而阻碍了技能发展?


研究问题

在一项随机对照试验中,我们考察了以下两个关键问题:

  1. 技能习得速度 - 软件开发人员在有无人工智能辅助的情况下,掌握新技能(本研究中为 Python 库)的速度差异

  2. 代码理解能力 - 使用人工智能是否会降低他们理解刚编写代码的能力

主要发现

使用人工智能组的得分比手动编码组低 17%

我们发现使用人工智能辅助工具会导致掌握程度出现统计学意义上的显著下降。在一项测试中,当涉及参与者几分钟前刚刚学习的概念时,使用人工智能组的得分比手动编码组低 17%,相当于近两个字母等级的差距。

虽然人工智能能略微加快任务完成速度,但这种提升未达到统计学意义的阈值。

使用方式很关键

重要的是,**使用人工智能辅助工具并不必然导致得分降低**。关键在于使用者如何运用人工智能——这种方式直接影响了他们对知识的掌握程度。

那些掌握能力更强的参与者不仅将人工智能辅助工具用于代码生成,更在编码过程中将其转化为理解工具:

  • 通过提出后续问题深化理解

  • - 要求解释说明

  • - 在独立编码时探讨概念性问题


研究设计

参与者

我们招募了 52 名(多为初级)软件工程师,每位受试者均具备:

  • 一年以上每周至少使用一次 Python 的经验

  • - 对 AI 编程辅助工具至少略有了解

  • - 不熟悉 Trio(我们任务所基于的 Python 库)

研究流程

研究分为三个部分:

  1. 热身环节 - 熟悉系统

  2. 核心任务 - 使用 Trio 实现两个不同功能的编码,这需要理解异步编程相关概念(该技能通常在专业环境中习得)

  3. 测验环节 - 测验参与者掌握的知识深度

我们告知参与者任务结束后将进行测验,但鼓励他们尽快完成编码工作。

任务设计

我们设计的编程任务旨在模拟用户通过自学教程学习新工具的过程。

每位参与者都获得:

  • 问题描述

  • - 初始代码

  • - 解决问题所需的 Trio 核心概念简要说明

我们采用的在线编程平台配备侧边栏 AI 助手,该助手可访问参与者代码,并在被询问时随时生成正确代码。


评估设计

在我们的评估设计中,我们确定了四类常用于评估编程技能掌握程度的题目:

四类编程技能

1. 调试(Debugging)

  • 识别和诊断代码错误的能力

  • - 对于检测人工智能生成的代码是否存在错误以及理解其失败原因至关重要

2. 代码解读(Code Comprehension)

  • 指解读并理解代码功能的能力

  • - 使人能够在部署前理解并验证人工智能编写的代码

3. 代码编写(Code Writing)

  • 指编写代码或选择正确编码方法的能力

  • - 随着人工智能编程工具的深度融合,低级代码编写(如记忆函数语法)的重要性将低于高级系统设计

4. 概念性理解(Conceptual Understanding)

  • 理解工具和库背后核心原理的能力

  • - 对于评估 AI 生成的代码是否采用了符合库设计初衷的适当软件设计模式至关重要

评估重点

我们的评估重点主要放在调试、代码阅读和概念性问题上,因为我们认为这些方面对于监督日益可能由人工智能生成的代码至关重要。


结果

完成时间

人工智能组的参与者平均完成时间快了约两分钟,尽管这一差异在统计学上并不显著。

测试成绩 - 显著差异

然而,**测试成绩存在显著差异**:

| 指标 | AI 组 | 手动编码组 | 差距 |

|------|-------|---------|------|

| 平均得分 | 50% | 67% | -17% |

| 等级差距 | - | - | 近两个字母等级 |

| 统计显著性 | Cohen's d=0.738 | - | p=0.01 |

关键发现: 两组间分差最大的是调试类问题,这表明当 AI 阻碍编程发展时,**理解代码错误及其原因的能力**可能成为特别值得关注的领域。


定性分析:人工智能交互模式

我们特别关注参与者完成我们设计的任务的具体过程。在定性分析中,我们通过人工标注屏幕录像,识别参与者花费在编写查询的时间、提问类型、错误类型以及实际编码所耗时间。

参与者与 AI 的互动时间

一个令人惊讶的结果是参与者与人工智能助手互动所花费的时间之长:

  • 部分参与者耗时长达 11 分钟(占总时长的 30%)

  • - 共提出多达 15 个问题

这有助于解释为何使用人工智能的参与者平均完成速度更快——尽管生产力提升在统计学上并不显著。我们预计,当人工智能应用于重复性或熟悉的任务时,更可能显著提升生产力。

错误分析

不出所料,未接受 AI 辅助的组别参与者遭遇了更多错误。这些错误包括:

  • 语法错误

  • - Trio 概念错误(直接对应了评估环节测试的主题)

我们的假设是:遭遇更多 Trio 错误的参与者(即对照组)很可能通过自主解决这些错误提升了调试能力。

互动模式分类

随后,我们根据参与者与人工智能的互动方式将其分组,并识别出不同的模式,这些模式导致了完成时间和学习效果的差异。


低分互动模式 (平均得分 < 40%)

这类模式通常高度依赖人工智能,无论是通过代码生成还是调试。他们表现出较少的独立思考,更多地依赖认知卸载。

1. AI 代表团 (n=4)

  • 完全依赖人工智能编写代码并完成任务

  • - 以最快速度完成任务

  • - 过程中几乎未出现错误

  • - 但学习效果最差

2. 渐进式人工智能依赖 (n=4)

  • 最初仅提出一两个问题

  • - 最终却将所有代码编写工作全权委托给人工智能助手

  • - 在测验中表现欠佳

  • - 主要原因在于未能掌握第二项任务中的任何概念

3. 迭代式 AI 调试 (n=4)

  • 依赖 AI 进行代码调试或验证

  • - 提出更多问题,但依赖助手解决问题而非澄清自身理解

  • - 表现不佳

  • - 完成两项任务的速度更慢


高分交互模式 (平均得分 ≥ 65%)

我们将平均测验得分达到 65% 或以上的行为视为高分测验模式。这些聚类中的参与者既将 AI 用于代码生成,也用于概念查询。

1. 生成后理解 (n=2)

  • 先生成代码,再手动将代码复制或粘贴到作业中

  • - 代码生成后,通过向 AI 助手提出后续问题来深化理解

  • - 使用 AI 的速度并不突出

  • - 在测验中展现出 更高的理解水平

  • - 这种方法与 AI 委托组几乎相同,区别仅在于他们利用 AI 来验证自身理解

2. 混合代码解释 (n=3)

  • 构建了混合查询,既要求生成代码,又要求对生成的代码进行解释

  • - 阅读并理解他们所要求的解释耗时较长

  • - 但 有助于加深理解

3. 概念探究 (n=7)

  • 仅提出概念性问题,并依靠其深化理解完成任务

  • - 尽管该组出现诸多错误,但均能 自主解决

  • - 平均而言,此模式在高分模式中速度最快

  • - 整体排名仅次于 AI 委托模式

重要结论

我们的定性分析并未在互动模式与学习成果之间建立因果关系,但确实指出了 与不同学习成果相关的行为特征。


结论与讨论

研究的核心发现

我们的研究表明,在工作场所(尤其是软件工程领域)大力引入人工智能存在取舍权衡。

研究结果强调,对人工智能的依赖并非千篇一律: 我们在追求效率时与人工智能的交互方式,直接影响着我们的学习成效。

实践中的风险

在时间紧迫和组织压力的双重作用下,初级开发人员或其他专业人士可能:

  • 依赖人工智能以最快速度完成任务

  • - 却牺牲了技能发展

  • - 尤其是在出现问题时进行调试的能力

对企业的建议

尽管尚处于初步阶段,这些结果为企业在向更高比例的人工智能编写代码过渡时提供了重要参考。

关键问题: 若初级工程师因使用人工智能而阻碍了技能发展,那么生产力提升可能要以牺牲验证人工智能编写代码所需的技能为代价。

管理者应:

  • 有意识地规划 AI 工具的大规模部署策略

  • - 设计保障工程师在工作中持续学习的机制

  • - 唯有如此,他们才能对所构建的系统实施有效监督

对从业者的启示

对于软件工程或其他行业的初级从业者而言,我们的研究可视为有意识地运用 AI 工具培养技能价值的微小佐证。

关键洞察: 认知努力——甚至痛苦的卡关经历——对培养精通能力至关重要。这一启示同样适用于个人选择与 AI 协作的方式及工具选用。

主流大型语言模型服务也提供了学习模式(例如 Claude 代码学习与解释模式或 ChatGPT 学习模式),旨在促进理解。

设计启示: 了解人们使用 AI 时的学习方式,也能指导我们如何设计 AI;AI 辅助工具应让人类在提升工作效率的同时,并能同步培养新技能。

与先前研究的对比

先前研究对人工智能究竟是提升还是阻碍编程效率存在分歧。我们自身的研究发现,人工智能能将某些工作任务的完成时间缩短 80%——这一结果看似与本文呈现的发现存在矛盾。

但关键差异在于:

| 研究类型 | 测量内容 | 结果 |

|---------|--------|------|

| 早期观察性研究 | 参与者已掌握相关技能时的任务效率 | 效率提升 80% |

| 本研究(随机对照试验) | 人们学习新技能时的表现 | 掌握程度下降 |

可能的解释: 人工智能可能既能加速熟练技能的效率提升,又会阻碍新技能的习得,不过需要更多研究来厘清这种关系。

研究限制与未来方向

当前研究的限制:

这项研究只是揭示人机协作如何影响员工体验的第一步。我们的样本规模相对较小,且评估仅在编码任务完成后短期内测量理解程度。

未解答的关键问题:

  • 即时测验表现能否预测长期技能发展?

  • - 人工智能对编码以外任务的影响如何?

  • - 这种影响是否会随着工程师技能提升而逐渐消退?

  • - 在学习过程中人工智能辅助与人类辅助是否存在差异?

最终思考

归根结底,**要在人工智能环境中促进技能发展,我们需要更全面地审视人工智能对劳动者的影响。**

在人工智能增强的工作场所中:

  • ✓ 生产力提升固然重要

  • - ✓ 支撑这种提升的专业技能的长期发展同样不可或缺


致谢

本项目由沈汉雯和亚历克斯·塔姆金牵头负责。本博文的编辑工作由杰克·伊顿、斯图尔特·里奇和莎拉·波拉克提供支持。


引用信息

@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}
}
```

**发布日期:** 2026 年 1 月 30 日  
**原文链接:** https://www.anthropic.com/research/AI-assistance-coding-skills  
**论文链接:** https://arxiv.org/abs/2601.20245

---

## 脚注

> 重要的是,这种设置与 Claude Code 等智能编程产品不同;我们预计此类程序对技能发展的影响可能比本研究结果更为显著。


评论