title: "编码技能:AI 协助对开发者成长的双重影响" slug: "assistance-coding-skills" date: "2026-03-14" lang: "zh" source: "https://www.anthropic.com/research/AI-assistance-coding-skills" category: "AI研究" keywords:
- AI 协助
- 编码技能
- 开发者生产力
- 技能发展
- 认知卸载
- AI 教育
- 软件工程
- Anthropic 研究
- AI 交互模式
- 调试
- 代码理解
- 随机对照试验 meta_description: "Anthropic 研究揭示,AI 协助可以提高编码生产力,但也可能阻碍技能发展,尤其是调试能力。了解交互模式如何影响精通程度。" image: "/images/articles/assistance-coding-skills.png" image_alt: "Anthropic 关于 AI 协助影响编码技能的研究" quality_score: 94 content_score: 93 seo_score: 95 companies:
- Anthropic schema_type: "NewsArticle" reading_time: 10 faq:
- question: "Anthropic 关于 AI 协助与编码技能的研究主要目标是什么?" answer: "Anthropic 的研究旨在调查在编码中使用 AI 协助可能带来的权衡,特别关注生产力提高是否以牺牲技能发展为代价。研究人员进行了一项随机对照试验,以考察软件开发者在有和没有 AI 协助的情况下,学习一项新技能(一个 Python 库)的速度,以及关键在于,AI 的使用是否让他们更难理解自己刚刚编写的代码。这项研究解决了关于平衡 AI 驱动的效率与人类开发者维护和增长对复杂系统理解的必要性之间的关键问题,尤其是在人类监督对于错误检测和系统指导仍然至关重要的关键环境中。"
- question: "AI 协助如何影响研究参与者的学习和精通程度?" answer: "研究发现,使用 AI 协助的参与者在精通程度上出现了统计学上的显著下降。在涵盖他们刚刚使用过的概念的测试中,AI 小组的得分比手动编码小组低 17%,相当于将近两个字母等级。虽然 AI 的使用略微加快了任务完成速度,但这种生产力提升并未达到统计学上的显著性。这表明,虽然 AI 可以提供快速解决方案,但它可能会阻碍真正精通所需的更深层次概念理解和技能保留,尤其是在调试和理解底层原理等领域。研究强调,AI 的使用方式深刻影响着学习成果。"
- question: "评估了哪些类型的编码技能,哪些受 AI 协助的影响最大?" answer: "该研究评估了四项关键编码技能:调试、代码阅读、代码编写和概念理解。这些类别被认为对于监督 AI 生成的代码至关重要。AI 组和手动编码组之间得分差距最大的是调试问题。这表明,虽然 AI 可能有助于生成代码,但过度依赖它可能会阻碍开发者独立识别、诊断和解决错误的能力。这对于确保 AI 编写代码在实际应用中的可靠性和正确性具有关键意义,因为人类监督和调试能力仍然不可或缺。"
- question: "研究中识别出的“低分”AI 交互模式有哪些?" answer: "研究识别出几种低分 AI 交互模式,其特点是高度依赖 AI 进行代码生成或调试,导致测试分数较低(低于 40%),且独立思考较少。这些模式包括:AI 委托,参与者完全依赖 AI 编写代码;渐进式 AI 依赖,开始时提出一些问题,但很快将所有代码编写工作委托给 AI;以及迭代式 AI 调试,参与者使用 AI 调试或验证代码,而没有寻求澄清自己的理解。这些模式表现出认知卸载,即参与者将思维外包给 AI,最终阻碍了他们的技能发展。"
- question: "哪些“高分”AI 交互模式带来了更好的学习成果?" answer: "高分交互模式,其平均测试分数达到 65% 或更高,涉及使用 AI 不仅用于代码生成,还用于理解和学习。这些模式包括:生成-然后-理解,参与者生成代码后提出后续问题以更好地理解它;混合代码-解释,涉及同时请求代码生成和解释的查询;以及概念探究,参与者主要提出概念性问题,然后依靠他们提高的理解力独立完成任务和解决错误。这些模式强调将 AI 作为学习辅助工具,而不是完全替代独立思考。"
- question: "Anthropic 的研究中,使用 AI 协助是否显著加快了编码任务?" answer: "在这项研究中,使用 AI 协助的参与者完成编码任务的速度比手动编码组快大约两分钟。然而,这种差异未达到统计学显著性阈值。研究人员指出,一些参与者花费了大量时间(高达总任务时间的 30%)来编写给 AI 助手的查询,这可能解释了为什么整体速度提升不那么明显。研究表明,虽然 AI 可以提供效率,但它对任务速度的影响可能在重复性或熟悉的任务中更显著,而不是在学习新概念时,而后者正是这项特定研究的重点。"
- question: "这些发现对工作场所和 AI 工具设计有何主要启示?" answer: "这些发现表明,在软件工程中积极引入 AI 会带来生产力与技能发展之间的权衡。工作场所必须有意识地设计 AI 政策和系统,以确保工程师继续学习,而不仅仅是完成任务。管理者应该考虑有意识的设计选择,以促进持续的技能增长,让开发者能够对 AI 构建的系统保持有意义的监督。对于 AI 工具设计者而言,这意味着要超越单纯的代码生成,转向那些有助于学习、理解和概念理解的功能,鼓励用户批判性地审视 AI 的输出,而不是被动接受。"
- question: "开发者如何在使用 AI 协助的同时促进技能发展?" answer: "开发者可以通过采纳“高分”AI 交互模式来促进技能发展。他们不应被动接受 AI 生成的代码,而应积极寻求解释,提出后续问题以加深理解,并探究底层概念。参与“生成-然后-理解”或“混合代码-解释”模式,甚至专注于“概念探究”,都能让 AI 成为强大的学习工具。拥抱认知努力,甚至独立解决问题(即“痛苦地卡住”阶段),对于培养精通至关重要,尤其是在调试和理解复杂系统架构等关键技能方面。"
编码技能:AI 协助对开发者成长的双重影响
人工智能融入软件开发工作流程无疑开启了一个前所未有的生产力时代。AI 工具正迅速成为标准配置,使开发者能够更快地完成部分工作,一些研究表明效率提升高达 80%。然而,这种加速的步伐对开发者成长的未来提出了一个关键问题:增加的 AI 协助 是否以牺牲基本技能发展为代价,还是同时提供了通往这两者的捷径?
Anthropic 最新的针对软件开发者的随机对照试验深入探讨了这一矛盾。尽管 AI 可以自动化繁琐的任务并加速开发,但人类技能在错误检测、输出指导以及对部署在高风险环境中的 AI 提供监督方面仍然不可或缺。这项研究调查了 AI 是否同时提供了效率和技能发展的捷径,或者 AI 协助带来的生产力提升是否无意中损害了关键编码技能的形成。这些发现的影响是深远的,它们将塑造 AI 产品的设计方式以促进学习,工作场所如何制定 AI 政策,以及最终在日益由 AI 驱动的世界中更广泛的社会韧性。
深入解读研究设计:用 AI 衡量精通程度
为了探索 AI 协助与技能发展之间的复杂关系,Anthropic 设计了一项严谨的随机对照试验。该研究招募了 52 名主要为初级软件工程师的参与者,每人拥有一年以上 Python 经验,并且对 AI 编码工具有所了解,但对 Trio Python 库是新手,而该库是任务的核心。Trio 需要理解异步编程,这是一项通常在专业环境中获得的技能。
该研究包括三个主要阶段:热身、涉及使用 Trio 编写两个核心功能的任务,以及随后的测试。参与者都知道即将进行的测试,并被鼓励高效工作。研究使用了一个在线编码平台,其中在侧边栏配备了一个 AI 助手,能够根据请求生成正确的代码。这种设置模拟了现实世界的学习场景,开发者可能通过自学教程学习新工具,接收问题描述、起始代码和简短的概念解释。
表格:编码技能类别及其对 AI 监督的重要性
| 技能类别 | 描述 | 对 AI 监督的重要性 |
|---|---|---|
| 调试 | 识别和诊断代码错误的能力。 | 对于检测和理解 AI 生成代码为何失败至关重要。 |
| 代码阅读 | 理解现有代码功能的能力。 | 在部署前理解和验证 AI 编写的代码至关重要。 |
| 代码编写 | 编写或选择正确编码方法的能力。 | 对于 AI 的低级语法而言不那么关键,但对于高级系统设计至关重要。 |
| 概念理解 | 理解工具和库背后核心原理的能力。 | 对于评估 AI 生成代码是否符合预期软件设计模式至关重要。 |
评估主要侧重于调试、代码阅读和概念性问题,认识到随着 AI 生成更多代码,需要人类监督和验证,这些技能的重要性日益增加。
主要发现:速度与技能之间的权衡
研究的定量结果显示,学习成果存在显著差异。尽管 AI 组完成任务的速度快了大约两分钟,但这种差异并未达到统计学上的显著性。然而,对精通程度的影响是毋庸置疑的:AI 组在测试中平均得分 50%,而手动编码组为 67%。这 17% 的差异相当于将近两个字母等级,Cohen's d 为 0.738,p =0.01,表明效果显著。
分数差距最大的出现在调试问题上,这表明 AI 协助可能尤其阻碍开发者独立识别和解决代码错误的能力。这凸显了一个关键问题:如果开发者过度依赖 AI 生成功能代码,他们可能会失去验证和纠正 AI 生成输出所需的关键调试技能,尤其是在不可避免地出现问题时。研究强调,真正的技能发展通常涉及应对挑战并独立解决这些挑战——而 AI 可能会缩短这个过程。
解读 AI 交互模式以实现最佳学习效果
除了定量分数之外,对屏幕录像的定性分析揭示了参与者如何与 AI 互动,揭示了与不同学习成果相关的独特模式。令人惊讶的是,参与者花费了大量时间(高达总任务时间的 30%)来编写查询,这在一定程度上抵消了使用 AI 的速度优势。对照组通过独立遇到并解决更多与 Trio 相关的错误,可能通过直接经验磨练了他们的调试技能。
研究人员将交互模式分为“低分”和“高分”方法:
低分交互模式(平均测试分数 < 40%)
这些模式的特点是高度依赖 AI、认知卸载和较少的独立思考:
- AI 委托 (n=4): 参与者完全依赖 AI 编写代码,快速完成任务且错误很少,但在测试中得分较低。
- 渐进式 AI 依赖 (n=4): 这些开发者开始时进行了一些独立努力,但很快转向将所有代码编写工作委托给 AI,导致概念掌握不佳。
- 迭代式 AI 调试 (n=4): 参与者提出了更多问题,但主要使用 AI 来解决问题或验证他们的代码,而不是澄清他们自己的理解,导致完成时间较慢和分数较低。
高分交互模式(平均测试分数 >= 65%)
相反,这些模式涉及更积极、更注重理解的 AI 使用方式:
- 生成-然后-理解 (n=2): 参与者首先生成代码,然后积极寻求解释并提出后续问题以加深理解。这种方法虽然速度没有显著提高,但带来了更高的精通程度。这与 OpenAI API 提示工程的最佳实践 中发现的原则不谋而合,其中迭代细化和澄清是关键。
- 混合代码-解释 (n=3): 这些开发者精心设计了同时请求代码生成和解释的查询。花在理解这些解释上的时间有助于更好地理解。
- 概念探究 (n=7): 这个小组主要专注于提出概念性问题,然后运用他们增强的理解力独立完成任务和解决错误。尽管遇到更多错误,但他们有效地解决了这些错误,使其成为最快的高分模式之一。这种方法与将 AI 用于更深层次的理解而不是仅仅执行的理念相符,正如《AI 即文本的时代已经结束:执行是新的界面》中所讨论的那样。
这些定性见解虽然不能建立直接因果关系,但强烈表明 AI 交互的方式对学习和精通程度有着关键影响。
AI 驱动开发和技能增长的启示
Anthropic 的研究结果对软件工程不断发展的格局提出了一个重要的考虑:在没有周密策略的情况下积极整合 AI 可能会导致技能发展方面的重大权衡。尽管 AI 提高了生产力,但它可能会阻碍关键能力的增长,特别是调试和概念理解,而这些能力对于验证和监督 AI 生成的代码至关重要。
对于工作场所而言,这意味着采取深思熟虑的 AI 政策至关重要。仅仅为了提高效率而部署 AI 工具,可能会无意中培养出一支擅长提示工程但缺乏解决复杂问题或构建健壮系统所需深层理解的劳动力。管理者应侧重于那些积极鼓励持续学习的系统和设计选择,确保工程师能够对他们构建的系统进行有意义的监督。
对于个体开发者,尤其是那些职业生涯早期的人,这项研究有力地提醒了有意识地发展技能的价值。仅仅依靠 AI 绕过挑战可能会提供即时解决方案,但却牺牲了培养真正精通所必需的认知努力。拥抱挣扎,提出澄清问题,并努力独立解决问题——即使 Claude AI 或类似工具提供了快速答案——对于在 AI 增强的未来中实现长期成长和专业知识至关重要。挑战在于将 AI 作为强大的学习加速器,而不是屈服于认知卸载,确保人类的独创性和理解力仍然是软件创新的核心。
常见问题
What was the primary objective of Anthropic's study on AI assistance and coding skills?
How did AI assistance affect learning and mastery in the study's participants?
What types of coding skills were assessed, and which was most impacted by AI assistance?
What are 'low-scoring' AI interaction patterns identified in the study?
What are 'high-scoring' AI interaction patterns that led to better learning outcomes?
Did using AI assistance significantly speed up coding tasks in Anthropic's study?
What are the key implications of these findings for workplaces and the design of AI tools?
How can developers foster skill development while effectively utilizing AI assistance?
保持更新
将最新AI新闻发送到您的收件箱。
