现在,用 AI 写代码太容易了,而你可能会跳过学习的过程。bug 被修复了,但你的思维模型并没有提升。长期来看,这可能会更糟。我们在不知不觉中用现在的速度换取未来的能力,而这些工具不会迫使你改变。这一部分必须靠你自己。
大多数人已经习惯了一个默认循环。你粘贴一个需求或错误信息,模型给你一个修复,症状消失。你就发布了。在这个循环中,问题与解决方案之间的混乱挣扎几乎不再发生。
我之前写过“认知投降”,指的是 AI 审查者的裁决悄悄取代你自己的判断。这里是单人版本的同样循环:只有你和模型。模型更快,所以你停止尝试在理解上竞争。在成千上万次这样的交互中,你真正能独立完成的能力会一点一点变弱。发生的每一次事件在当天都不会显得有什么问题。
我并不反对 AI。我每天都在使用这些工具,过去一年通过它们交付的成果比以前几年都多。但默认的使用方式只优化了一件事:完成任务。
而完成任务,是完全不同于保持足够敏锐来驾驭 AI 工具的目标。
过去一年中有几项研究都得出了类似的结果。
- Anthropic
在 2026 年初进行了一项随机试验,让工程师学习一个新的 Python 库,一半使用 AI 辅助,一半不使用。两组完成任务的速度相同,但 AI 组的后续理解测验成绩更低:50% 对 67%,在调试题上差距更大。有趣的是,在 AI 组内部,使用 AI 提问概念性问题的工程师得分超过 65%,直接复制粘贴生成代码的得分不到 40%。结果不是由工具决定的,而是由使用方式决定的。 - MIT 的《Your Brain on ChatGPT》研究
比较了 LLM、搜索引擎和纯脑力三组写作。EEG 测量显示,每次依赖外部辅助,脑部连接度都会下降。LLM 组的脑部耦合最弱。写完文章后,83% 的 LLM 用户无法复述自己写过的一行内容。研究者称之为“认知债”:今天节省了脑力,明天在批判性思维上付出代价。 - CHI 2026
的一项研究也有类似发现。当任务开始就使用 LLM 时,LLM 会框定整个问题。即便人类完成了剩余的工作,初始锚定也导致决策显著变差。操作顺序比 AI 使用总量更重要。
不同方法得出同样结论:如果使用 AI 时没有主动学习的意图,你在被支付的技能上会悄悄退化。
如果你打开一个编码助手并遵循默认流程,一切都是为了一个指标:完成任务。模型写代码,你接受,循环重复。在任何时候,工具都不会问你:“你觉得问题出在哪?”或者“先自己写前五行试试。”
这是目前 UX 的惯性所在。产品团队获得的是合并变更和更短周期的奖励,而不是让你成为更厉害的工程师。我们都想少敲几行代码,所以工具把摩擦去掉了。而问题是,学习恰恰存在于这些摩擦里。
少数公司尝试抵制这种循环,鼓励真正的学习:
- Anthropic 给 Claude 推出了“学习模式”,用苏格拉底式提问,让你先写代码再继续。
OpenAI 和 Google 推出了类似功能。但如果实话实说,几乎没有人会在生产环境中用。我们悄悄地把它归为“学生用”,这是个错误。对于初学 React 的学生和学习 Rust 的资深工程师来说,原理是一样的。你只需要愿意重新感受初学者的状态。
这是合理的问题。对于一些工作,也许……你确实不需要?如果是模板代码、胶水代码或者一次性的 CI 脚本,记住语法的机会成本太高。
但对于真正的软件项目,纯粹的委托会在几个地方失败:
- 出现故障时
:AI 生成的代码也会崩溃,“代理写的”并不能帮你调试。团队必须有人理解架构。 - AI 自信地出错时
:LLM 仍然会幻觉输出。唯一防御方法是有足够专业能力去发现问题。 - 基础改变时
:代码是暂时的,系统是永久的。当框架更新或安全审查发现结构性问题时,你不能靠再次提问解决。需要理解系统的人去迁移。 - 脱离常规情况时
:AI 擅长处理已经被 GitHub 上百万次解决的问题。越偏离常规,AI 越不可靠。那些高难度、未文档化的问题仍然需要深度理解,也正是高级工程师的价值所在。 - 市场调整时
:只会靠 AI 来交付的人,进入的劳动力市场已经在重新定价技能。如果用 AI 跳过学习,你在为更轻松的周二交换未来的相关性。
解决方法:改变你的提问方式
好消息是,同样的工具可以让你变得更厉害。关键在于你如何使用它们:
- 先提出假设再提问:在请求修复前,先写下两三句话你认为问题是什么。用模型的答案来检验假设,而不是替代它。
- 先要求解释再要代码:不熟悉的领域,先让模型解释“原理、备选方案和权衡”,理解后再请求代码。
- 使用学习模式:当你不熟悉时,慢一点没关系,正是这个目的。
- 把 AI 输出当作初级工程师的 PR:阅读、批评、反驳。测试通过不代表可以直接合并。
- 偶尔手动推导:把模型写的代码尝试自己从头写一次,这是校准你失去多少能力的检查。
- 请模型教你:写完巧妙函数后,问它用了哪些概念,需要读哪些资料才能理解设计选择。一个额外提示就能改变你从这次学习中吸收的东西。
这些都不是什么戏剧性改变,只是在你已经使用的工具里调整姿态。
两个指标,而不是一个
我开始在每次编码结束时问自己一个简单问题:今天学到东西了吗,还是只是关闭了 issue?有时候,答案是“只是关闭了 issue”,没关系。但如果连续几个月都是这个答案,认知债就在积累。
交付和学习是两个独立指标。经理和客户只会关注前者,后者完全靠你自己。
我宁可交付 80% 的能力,同时学到 100% 所需知识,也不愿交付 100% 却什么都没学。多年下来,这两种策略造就的工程师完全不同。
你不必在使用 AI 和学习之间做选择,但必须选择一个兼顾两者的工作流程,因为默认设置不会帮你做这个选择。工具随时准备好,就看你是否准备好了。
夜雨聆风