一件反常的事正在变得常见:AI 编程工具让代码来得更快,开发者却更容易在项目里迷路。

Margaret Storey 在一篇关于“认知债务”的文章后,汇总了开发者社区的反馈。Simon Willison、Martin Fowler,以及 Hacker News 上一些工程师提到的感受很接近:功能能更快堆出来,但人对系统的把握变薄了。

这篇文章真正该看的,不是 AI 会不会写代码。那个问题已经被问烂了。更要紧的是:当代码产出变便宜,团队共同理解会不会变成软件交付的新瓶颈。

认知债务欠在人和组织记忆里

认知债务指的是:系统结构持续演化,团队对系统如何工作、为什么这样设计、以后该怎么改的共享理解没跟上,中间累积出的缺口。

它不是技术债的换皮。

技术债更多在代码里。坏抽象、重复逻辑、临时方案、难维护的结构,最后会让改代码变贵。

认知债更多在人和组织记忆里。谁知道这个设计为什么存在?谁记得某个约束从哪来?谁能判断一个改动会牵动哪些模块?这些答案一旦散掉,代码还在,系统的“说明书”却开始碎。

对比项技术债认知债
主要位置代码结构人、文档、测试、讨论、工具记录
典型症状改起来费劲不敢改、不确定、不知道为什么
主要代价维护成本上升判断成本、沟通成本、接手成本上升
偿还方式重构、清理架构重建共享心智模型和设计意图

AI 放大认知债,不是因为 AI 天生写烂代码。更准确地说,它改了速度曲线。

过去写代码有摩擦。摩擦当然讨厌,但它也逼人停下来想一想。现在,一个可运行版本可能很快生成出来。结构变了,依赖变了,边界变了,团队理解却没有自动扩容。

车更快了,地图没更新。

受影响的不只是一线开发者。产品 / 工程团队、高速采用 AI 编程工具的创业公司、大公司内部平台团队,都会碰到同一个问题:系统还能跑,但团队对系统的共同理论开始松动。

真正变重的是 review、调试和接手

Storey 汇总的反馈里,最具体的后果不在“代码多了”。而在几件日常工作变沉了。

评审更难。reviewer 不只要看代码对不对,还要补读 AI 生成物背后的意图。代码看起来合理,不等于它符合原来的设计边界。

调试更慢。问题不一定出在某一行,而可能出在一个没人认真消化过的隐含假设里。AI 生成的改动越多,排查路径越容易绕远。

新人 onboarding 更吃力。以前新人问“为什么这样写”,团队里总有人能讲出一段来龙去脉。认知债高了以后,答案会变成“先别动这块”“大概是历史原因”。这类话听起来熟,杀伤力很大。

开发者信心也会受伤。不是不会写,而是不敢改。不知道改动会撞到哪里,就会把每次提交都变成猜谜。

对软件开发者来说,动作应该更具体:不要只接受 AI 生成的代码,还要要求它解释设计意图、边界条件和可能影响的调用链。提交 PR 时,最好把“为什么这样改”写清楚,而不是只贴一段能跑的 diff。

对技术负责人来说,采购和推广 AI 编程工具时,不能只看代码产出速度。更该看 review 队列有没有变长、缺陷定位有没有变慢、新人接手核心模块是不是更难。这些指标不亮红灯,工具才算真的帮了忙。

这里有个现实约束:很多团队不是不知道该写文档、补测试、严 review。问题在激励。

以前一天写出来的东西,现在半小时能生成一个初版。组织自然会奖励更快交付、更快演示、更快迭代。天下熙熙,皆为利来。今天的“利”,就是看起来有产出。

所以认知债会变隐蔽。不是没人做 review,而是 review 变成给 AI 产物补课。不是没人写测试,而是测试覆盖了行为,却没留下意图。不是没人维护文档,而是文档永远慢半拍。

有人会说,这仍然是工程纪律问题。这个说法有一半对。

纪律当然重要。但把问题全归咎于纪律,就低估了 AI 带来的变化。AI 不是只把原来的流程加速一点,它会让“先生成、后理解”变得太容易。团队一旦默认这条路径,债就开始滚。

稀缺的不是代码速度,是可持续理解

我更在意的分水岭在这里:高绩效团队的瓶颈,可能从技术摩擦转向理解摩擦。

过去厉害的团队,是能更快写出可靠代码。接下来厉害的团队,是能在 AI 加速下仍然保住系统理解。

缓解路径并不新,但在 AI 时代会变硬。

场景容易欠债的做法更稳的做法
代码评审只看能不能跑要求说明设计意图、影响范围、回滚方式
测试只测当前行为增加能表达意图和约束的测试
文档等大版本后再补随关键变更更新设计记录
原型直接沉进主系统明确一次性原型,必要时重写进入主干
使用 AI当代码打印机让 AI 辅助解释依赖、追踪决策、整理变更脉络

这点很关键。认知债务不是反 AI 宣言。

AI 既可能制造债务,也可能帮团队还债。差别在于团队把它当“代码打印机”,还是当“理解放大器”。前者只会让系统更快变厚,后者至少有机会把上下文补回来。

但也别把 AI 辅助理解想得太顺。它能整理、解释、追踪,不等于它能替团队承担判断。系统里的取舍,很多来自业务约束、历史妥协和组织边界。AI 可以帮你找线索,不能替你拥有共同记忆。

接下来最该观察的,不是某个模型又把编码榜单刷高了多少。

更该看三件事:AI 生成代码进入主干前,团队是否增加了意图审查;设计文档和测试是否跟着变更同步更新;新人和跨团队接手核心模块时,理解成本有没有下降。如果这些没变,代码越快,债也越快。

铁路、电力、互联网都曾让生产速度上去,但它们真正改变的是组织方式。AI 编程也类似,不完全一样,但重复的是同一种结构:工具先提高产出,管理和理解再被迫补课。

回到开头那个反常点:开发更快,为什么更容易迷路?答案不复杂。我们升级了油门,还没升级导航。

系统不是写出来就完了。有人能持续理解它,它才真正属于这个团队。