找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

3104

积分

0

好友

402

主题
发表于 14 小时前 | 查看: 0| 回复: 0

指向抽象代码符号的手绘风格插画

研究表明,AI确实能帮助我们更快地完成某些工作。比如,一项对 Claude.ai 的观察性研究就发现,AI 能将特定任务的完成速度提升 80%。但这种效率的提升,会不会让我们付出其他代价呢?

另一方面的研究给出了警示:当人们使用 AI 辅助时,他们对工作的投入往往会减少,付出的认知努力也随之降低——换句话说,他们把“思考”这项核心活动外包给了机器。

一个悬而未决的问题是:这种认知外包是否会阻碍我们,尤其是开发者在职场中提升技能?或者更具体地说,是否会妨碍我们真正理解自己正在构建的系统?为了探究这个问题,一项最新的随机对照试验以软件开发人员为研究对象,专门调查了在工作中使用 AI 可能存在的这一弊端。

为什么这个问题至关重要?

其影响范围很广:它关乎如何设计能促进学习的 AI 产品,工作场所应如何制定合理的 AI 使用政策,乃至整个社会在面对技术变革时的韧性。我们选择聚焦于编程领域,因为在这里,AI 工具正迅速成为标配。

与此同时,AI 也制造了一种潜在的紧张关系:随着编程工作变得越来越自动化、速度越来越快,人类开发者仍然需要具备发现错误、引导 AI 输出,并最终对部署在关键环境中的代码进行监督的能力。那么,AI 究竟是技能发展和效率提升的“捷径”,还是说,它带来的生产力假象会反过来损害我们的技能根基?

研究设计与方法

为了找到答案,这项随机对照试验主要考察了两点:

  1. 软件开发人员在有 AI 辅助和没有 AI 辅助的情况下,掌握一项新技能(本试验中是一个 Python 库)的速度有何不同。
  2. 使用 AI 是否会降低开发者对自己刚编写代码的理解程度。

参与者:我们招募了 52 名(主要是初级)软件工程师,他们均满足每周至少使用 Python 一次且使用经验超过一年的条件。同时,确保他们对 AI 编程助手有一定熟悉度,但对本试验将用到的 Trio 库(一个 Python 异步编程库)并不了解。

流程:研究分为三部分:热身环节;主要任务(即使用 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 组平均完成速度的领先优势并不明显。我们推测,AI 在用于重复性或开发者已熟练掌握的任务时,其提升生产力的效果才会更显著。

低技能发展互动模式(平均测验分数 < 40%):
这类模式通常表现为对 AI 的重度依赖,无论是生成代码还是调试。参与者表现出更少的独立思考和更多的认知外包。

  • AI 委派:完全依赖 AI 编写代码,自己完成任务最快,过程中几乎不遇错误。
  • 渐进式 AI 依赖:开始时尝试自己编码,但最终将全部编码工作委托给 AI,导致在后续任务的概念理解上得分很低。
  • 迭代式 AI 调试:依赖 AI 来调试或验证代码,虽提问较多,但目的是让 AI 解决问题而非增进自身理解,结果得分低且完成速度慢。

高技能发展互动模式(平均测验分数 ≥ 65%):
这些参与者同样使用 AI,但他们会混合进行概念性探究。

  • 生成-然后-理解:先让 AI 生成代码,然后通过后续提问(如“这段代码是如何工作的?”)来加深理解。这种方法看似与“AI 委派”相似,但关键区别在于他们主动利用 AI 来检验和巩固知识。
  • 混合代码-解释:在请求生成代码时,同时要求 AI 提供解释。阅读和理解这些解释花费了额外时间,但显著助力了他们的学习。
  • 概念性探究:仅向 AI 提出概念性问题(如“这个函数的核心原理是什么?”),依靠提升后的自身理解来独立完成任务。该组遇到的错误较多,但也独立解决了它们,平均速度在高分组中最快。

结论与启示

这项研究的结果表明,在职场(尤其是软件工程领域)积极整合 AI 是需要付出代价的。研究结果突出强调:并非所有对 AI 的依赖都是一样的——我们为了追求效率而与 AI 交互的方式,深刻影响着我们能学到多少东西。

在时间压力和绩效要求下,初级开发者或其他专业人士很可能倾向于依赖 AI 来快速完成任务,而这可能会以牺牲技能发展为代价,尤其是牺牲那些在出问题时至关重要的调试能力。

尽管这些发现是初步的,但它们为业界向“更高比例的 AI 生成代码”过渡时提出了重要考量。如果初级工程师的技能发展因过早或不当使用 AI 而受阻,那么短期的生产力增益,可能会以牺牲未来监督和验证 AI 所写代码所需的长期能力为代价。

对于所有行业的初级工作者而言,这项研究可以看作是一份关于“有意识使用 AI 工具以促进技能发展”的初步证据。认知上的努力——甚至包括陷入困境、解决问题的过程——对于培养真正的掌握能力可能至关重要。

这也给个人如何选择与 AI 协作提供了启示。现在,许多主流的 AI 编程助手都提供了“学习模式”或“解释模式”,旨在促进理解而非仅仅生成代码。了解人们在使用 AI 时如何学习,也将反过来指导我们如何设计更利于人类成长的 AI 系统。最终的目标是:AI 辅助应当让人类既能更高效地工作,又能持续发展新技能。

说明:先前有研究发现 AI 能将某些工作任务耗时减少 80%,这与本文结论看似矛盾。但两项研究关注点不同:前者衡量的是参与者在已掌握技能的任务上的生产力,而本研究关注的是学习新技能时的过程。AI 可能同时具备“加速熟练任务”和“阻碍新技能获取”的两种潜力,这其中的复杂关系仍需更多研究来厘清。

这项研究只是揭示人机协作如何影响工作者长期发展的第一步。样本量、即时测验是否能预测长期技能发展等问题仍有待探索。未来研究可以关注 AI 对编码之外任务的影响、这种影响是否会随着工程师经验增长而变化,以及 AI 辅助与人类辅导在学习效果上有何异同。

最终,为了在 AI 时代适应并促进技能发展,我们需要对其影响建立更全面的认知。在 AI 增强的工作场所中,生产力的即时提升固然重要,但这些提升所依赖的人类专业知识的长期积淀与发展,同样不可忽视。


致谢:本项目由 Judy Hanwen Shen 和 Alex Tamkin 领导。博客文章的编辑支持由 Jake Eaton、Stuart Ritchie 和 Sarah Pollack 提供。感谢所有通过 Anthropic 安全研究员计划及对实验设计提供反馈的研究人员。


本文由云栈社区进行技术内容优化与编排,旨在为开发者提供深度的技术解析与思考。欢迎在社区中继续探讨 AI 与编程教育的未来。




上一篇:Anthropic扎心研究:AI编程正在引发两极分化,你的调试能力还好吗?
下一篇:H5 APP数据包前端逆向:加密传输如何分析AES算法并解密
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-2-2 21:49 , Processed in 0.283970 second(s), 43 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表