新智元报道
编辑:peter东
【新智元导读】在AI编程时代,效率飙升却隐藏危机:Anthropic最新研究揭示,使用AI助手虽能快速生成代码,但开发者在概念理解、代码阅读和调试能力上显著落后。独立解决问题才是技能之钥,AI若不当用,将成「懒惰陷阱」。
2026年初,Anthropic研究揭开了AI辅助编程对技能学习的潜在风险,使用AI助手完成编程任务的开发者,在概念理解、代码阅读和调试能力上显著落后于独立解决问题的同行。
技能退化
AI编程让人难以锻炼调试能力
在AI编程助手日益普及的今天,软件工程领域生产力显著提升。然而,代价是什么?
假设你是一个程序员,现在要用一个新的库来进行开发。
之前你遇到问题,只能接入网络搜索引擎和文档;现在能访问基于GPT-4o的AI编程助手。你会觉得哪一种更有利于你掌握这个库?
在这项研究中,被试者需要学会一个小众的Python异步编程库Trio,每个受试者都是初次使用该库进行编程。
被试者被随机分为两组。一组只用搜索学习,一组只通过大模型问答学习。
图1:实验设计方案
任务完成后,被试者接受了一项精心设计的技能评估测验,涵盖概念理解、代码阅读和调试能力三个方面,以衡量他们对Trio库的掌握程度。
与普遍认知相反,AI辅助并未显著缩短任务完成时间(图2左边)。尽管AI助手能够直接生成完整正确的代码解决方案,但实验组的平均完成时间并未显著优于对照组。
图2:人们使用AI与否与编程速度和技能评估得分
为何会这样?细分后发现,这源于参与者使用AI方式的巨大差异:
一部分参与者完全委托AI生成代码,确实大幅提高了效率;
另一部分参与者花费大量时间与AI交互,甚至有人单次查询就耗时6分钟,抵消了效率优势。
更值得关注的是技能评估结果:AI使用组在测验中的表现明显较差,得分平均低4.15分,而满分为27分。
AI使用组的调试能力与不使用AI组的差距最为明显,代码阅读能力的差距相对较小。这表明,独立解决问题的过程中遇到的错误和调试经历,对技能形成至关重要。
为何调试能力差距最大?那是因为没有使用AI的参与者平均遇到3个错误,而使用AI的平均仅遇到1个错误。
这些错误,尤其是与Trio库直接相关的错误,迫使开发者深入理解库的工作原理,从而促进了学习。
三种学习路径:
用了AI仍保有高技能
通过对使用AI组的行为进行细致分析,从中识别出六种不同的AI交互模式,宛如六条截然不同的学习路径。
其中三条路径通向技能退化,而另外三条则成功保持了技能形成水平。
四名参与者将任务一股脑地委托给AI,他们完成任务最快,但技能得分最低。就像把整个学习过程外包给了机器,自己成了旁观者。
另外四名参与者开始时还算谨慎,只问一两个问题,但很快陷入了渐进式依赖的陷阱。随着任务难度增加,他们最终完全放弃了独立思考,将所有代码生成交给AI。
最令人惋惜的是那些迭代式调试者。他们频繁向AI求助,每次遇到问题就粘贴错误信息,依赖AI提供解决方案。表面上看起来很努力,实际上却错过了最重要的学习机会——独立解决问题的过程。
图3:不同类型的AI使用方式
然而,故事还有另一面。研究人员发现了三种成功的交互模式,这些参与者在AI辅助下不仅完成了任务,还真正掌握了新技能。
两名称为「生成后理解型」的参与者先让AI生成代码,但不会简单复制粘贴。相反,他们会停下来,通过AI询问代码的工作原理,就像有个私人导师在旁解释。
三名「混合代码解释型」参与者更加聪明。他们在请求代码生成的同时,主动要求AI提供解释。「请生成代码,并解释为什么这样实现」,这样的提问方式让他们在获得解决方案的同时,也理解了背后的逻辑。
最成功的是七名「概念查询型」参与者。他们只向AI询问概念性问题,然后依靠自己的理解编写代码。这种方法虽然会遇到更多错误,但正是这些错误成为了最好的老师。
图4:6种不同类型使用AI的方式的完成时间和技能得分
高技能形成模式的共同特点是参与者保持了认知参与度,而不是将思维过程完全外包给AI。概念查询型参与者尤其成功,他们平均成绩达到86%,同时完成任务的速度也较快。
而对照组参与者由于没有AI辅助,在任务过程中遇到了更多错误,包括与Trio库核心概念直接相关的错误。解决这些错误的过程迫使开发者深入理解库的工作原理。而学习中遇到的困难尤其是错误,对技能形成具有不可替代的价值。
相比之下,AI组参与者往往一键修复错误,错过了从错误中学习的机会。一位参与者在反馈中坦言:「使用AI助手让我变得懒惰,没有像平时那样仔细阅读Trio库的介绍和代码示例。」
用好AI
AI是解释工具而非代码生成器
随着企业和开发者越来越多地采用AI代码生成与人工监督相结合的工作流程,确保人类监督者具备必要的技能来验证和调试AI编写的代码至关重要。开发者必须寻找维持深度学习与技能精进的平衡点,避免陷入“快而不精”的职业陷阱。
使用AI后,编程技能下降最大的是调试能力,这意味着如果开发者最初使用AI时技能形成受到抑制,他们可能缺乏验证和调试AI编写代码的必要技能。这里是只测试了一个库的学习,如果是对于那些从学编程开始,就只是依赖AI而不自我锻炼能力的,不当使用AI带来的影响只会更加深远。
在时间约束和组织压力下,初级开发者可能会过度依赖AI以最快速度完成任务,牺牲真实的技能发展。这种趋势从长期来看可能削弱行业的技术能力。
然而,研究也指出了解决方案。有三种与AI的交互模式能促进技能形成,这意味着AI可以成为学习的有力辅助工具,关键在于如何使用。保持认知参与度,将AI视为解释工具而非代码生成器,可以兼顾效率和学习效果。
而这不仅需要个人主动更改自己的习惯,还需要专门设计用于教育的AI进行系统提示词,让使用者不只是复制AI生成的代码。
而除了编程能力,像写作、数值分析、估算等实用技能,是不是也会因为使用了AI,导致缺少从犯错中学习的经历,而难以培养起对应能力了,这是一个更值得研究与关注的问题。
参考资料:
https://arxiv.org/abs/2601.20245
https://www.anthropic.com/research/AI-assistance-coding-skills

