编者按:本文由 Google Cloud AI 总监、前 Chrome Eng. 主管 Addy Osmani 在 X 上发表。
现如今,让 AI 写代码而自己跳过学习过程,实在太容易了。Bug 确实被修复了,但你的心智模型(mental model)却毫无长进。假以时日,情况可能会变得更糟。我们在悄无声息地用未来的能力换取眼前的速度,而工具本身绝不会强迫我们改变这种现状。改变,只能源于你自己。
我们大多数人都已陷入一种默认的循环:粘贴需求说明或报错信息,模型给出一个修复方案,表面症状随之消失,然后你直接发布上线。在这个循环的某个环节中,原本存在于“问题”与“解决方案”之间那种乱麻般的挣扎与思考,彻底消失了。
我以前写过关于“认知让渡”(cognitive surrender)的文章——即 AI 审查员的判断悄然取代你自我判断的那一刻。而上述过程,仅仅是那个循环的“单机版”:只有你和模型。因为模型速度更快,所以你不再试图在理解力上与它较劲。在成千上万次这样的小型交互中,一旦没有 AI 在背后盯着,你实际手写代码的能力每周都在悄悄退化。而在这些情况发生的那一天,你丝毫不会觉得这是个问题。
我并不反 AI。我每天都在使用这些工具,并且在过去一年里借助它们交付的成果,比以往数年都要多。但是,我们使用它们的默认方式只为了一件事而优化:那就是“完结任务”。
然而,这与“保持敏锐度,从而在漫长的职业生涯中驾驭这些工具”的目标,截然不同。
过去一年里的多项研究,都得出了大致相同的结论。
Anthropic 在 2026 年初进行了一项随机对照试验,让工程师们学习一个新的 Python 库,一半人使用 AI 辅助,另一半人则纯手工。两组完成任务的速度相同。但 AI 组在随后的理解测试中惨败:得分率仅为 50%,而纯手工组为 67%,并且在调试(debugging)环节的差距更大。有趣的是 AI 组内部的差异:使用 AI 询问概念性问题的工程师得分超过 65%;而直接复制粘贴生成代码的工程师得分则低于 40%。决定结果的不是工具,而是使用者的姿态。
麻省理工学院(MIT)的一项名为“ChatGPT 状态下的大脑”(Your Brain on ChatGPT)的研究,对比了使用大语言模型(LLM)、使用搜索引擎以及纯靠大脑写作的三组人群。脑电图(EEG)测量显示,随着外部支持层级的增加,大脑连通性呈下降趋势。LLM 组的大脑耦合度最弱。写完文章后,83% 的 LLM 用户甚至无法背诵出自己刚写出的一行字。研究人员将此称为“认知债务”:今天省下了脑力,明天就要用批判性思维的衰退来偿还。
CHI 2026 的一项研究补充了一个相关的发现。当人们在任务开始时就使用 LLM 时,LLM 会直接框定整个问题的解决思路。即使后续剩下的工作全由人类自己完成,这种最初的“锚定效应”也会导致决策质量显著下降。操作的先后顺序,比 AI 的总使用量影响更大。
不同的研究方法得出了相同的结论:如果没有主动学习的意图,过度使用 AI 会在不知不觉中削弱你安身立命的专业技能。
如果你启动一个代码智能体(coding agent)并坚持使用默认设置,你会发现一切只为一个指标服务:把活干完。
模型写代码,你点击接受,如此循环往复。工具绝对不会在任何时候停下来问你:“你认为问题出在哪里?”或者“要不你自己试着写前五行?”
这就是当前用户体验的“地心引力”所在。产品团队的考核指标是代码合并量和周期缩短率,而不是把你培养成一个更敏锐的工程师。大家都想少敲几次键盘,所以工具已经把所有的“摩擦力”都打磨平滑了。但问题在于,学习的过程往往就隐藏在这些“摩擦力”之中。
少数几家公司已经开始尝试打破这种不鼓励真正学习的死循环。
Anthropic 为 Claude 推出了“学习模式”(Learning Mode),它采用苏格拉底式的提问,并在继续往下走之前停下来让你自己写代码。OpenAI 和 Google 也推出了类似的功能。但坦白讲,几乎没有人会在真正的生产工作中使用它们。我们潜意识里把这些功能归类为“学生专属”,这是个大错特错的想法。能帮助大二学生学习 React 的功能,同样能帮助资深工程师学习 Rust。你只需要放下身段,愿意再次体验做初学者的感觉。
问得好。对于某些工作,答案是:也许……你真的不需要。如果是样板代码(boilerplate)、胶水代码(glue code),或者是你再也不会看第二眼的、用完即弃的 CI 脚本,那就把它外包给 AI 吧。死记硬背某些语法的机会成本太高了。
但对于真正的软件工程而言,在以下几个特定场景中,纯粹的“外包”是行不通的:
好消息是,产生“认知债务”的工具同样能塑造出更敏锐的工程师。区别仅仅在于,你是如何向它们发问的。
这些改变并不算惊天动地。它们只是在你每天都在使用的工具中,做出的微小姿态调整。
我现在结束一天的编程工作时,都会问自己一个简单的问题:今天我是学到了新东西,还是仅仅关闭了几个 issue?
有时候诚实的回答是“我只是关闭了几个 issue”,这没关系。但如果连续几个月答案都是如此,那么“认知债务”就已经在后台默默堆积了。
“交付”和“学习”是两个完全独立的指标。你的经理和客户永远只会关心第一个。而第二个,只能靠你自己。
我宁愿只交付我本能完成的 80%,去百分百学习我需要掌握的知识,也不愿反其道而行之。日积月累,这两种策略塑造出的工程师将有天壤之别。
你大可不必在“使用 AI”和“学习”之间二选一。但你必须主动选择一个兼顾两者的工作流,因为默认设置绝不会替你做这个选择。只要你准备好了,工具随时待命。
你准备“外包”出去的下一个无聊任务,或许就是一个不错的起点。

扫码关注w3ctech微信公众号
共收到0条回复