• AI正在制造一种新型技术债务却无人提及
  • 发布于 2小时前
  • 5 热度
    0 评论

半年前,我们团队还在庆祝。Q3 我们上线的功能,比过去一整年都多。开发速度直接飙到了天花板。AI 工具彻底改变了我们的工作方式:过去要花一周的事,现在一天就搞定;过去要一天的事,现在一小时就能做完。我们的 CTO 在全公司的 Slack 频道发了条消息:“这就是工程开发的未来啊”。但上个月,我们不得不停掉所有新功能开发,整整三周。


不是因为安全漏洞,也不是因为服务器宕机。是因为我们的代码库已经被 AI 生成的代码缠成了一团乱麻,没人 —— 哪怕是那些 “写” 了这些代码的人 —— 都没法放心地修改它了。我们就这么一路庆祝着,冲进了危机里。最糟的是?我其实早就预感到不对劲了,只是当时没反应过来这到底是什么。


一.没人给它起过名的新型技术债
技术债早就不是什么新鲜事了,每个开发者都懂那种感觉:赶上线、偷工减料,跟自己说之后再重构。代码现在能跑就行,明天的问题明天再说。但 AI 技术债不一样。它不是偷工减料,而是你跑得太快,彻底把事情的来龙去脉给弄丢了。现在代码库里正在堆起来的 AI 技术债,其实分三种完全不同的类型,而且大多数团队已经同时踩中这三个坑了:
认知债:上线代码的速度,比你理解它的速度还快
验证债:你都没读完代码差异,就点了通过

架构债:AI 生成了能跑的方案,但它违反了系统的设计


大多数讲 AI 和技术债的文章,都在盯着代码质量。但这根本找错了层级。真正的危机,在更高一层:在那些本该理解自己搭建的系统的开发者的脑子里。

我终于搞明白怎么回事的那一刻我跟你说说,我突然想通一切的那一周。我们团队来了个新开发者,就叫他 Rahul 吧。人很聪明,上手快,明显是个好手。他从入职第一天起,就一直在猛用 Cursor 和 Claude Code。


三周后,我让他给我讲讲他做的那套认证流程。他打开文件,开始讲,讲到令牌刷新的逻辑的时候,突然停住了。“其实吧,” 他说,“我也不太清楚为啥要这么写,反正我测试的时候它能跑”。我没生气,我太懂这种感觉了。我自己调试自己写的 AI 生成代码的时候,也有过这种感觉:就像在读别人的代码,完全摸不着头脑。这场对话让我一头扎进了相关的研究里,彻底改变了我对 AI 工具的看法。


二.能说明这场危机的一组数据

有一组数据,本该在所有开发者社区上头条的,但不知道为啥没人提:开发者对 AI 编程工具的信任度,18 个月里从 43% 跌到了 29%,但使用率却涨到了 84%。你再读一遍:开发者越来越不信任 AI 工具,却用得越来越多。这个矛盾 —— 用着你越来越不信任的工具 —— 现在有名字了:认知债。更糟的还在后头。


预计到 2026 年,75% 的科技企业管理者,都会因为 AI 加速的开发模式,遇到中度甚至重度的技术债问题。而最让我震惊的是这组:一家 API 安全公司发现,2024 年 12 月到 2025 年 6 月这半年里,财富前 50 强企业的每月安全漏洞检出量,涨了 10 倍 —— 从每月 1000 个,涨到了超过 10000 个。就半年时间。10 倍的安全漏洞,半年,还是全球最大的那些公司。当开发速度成了唯一的考核指标,就会出这种事。


“我曾经是个手艺人”
有个开发者说过一句话,我一直忘不掉,说得太准了:
“我曾经是个手艺人…… 现在我感觉自己就是宜家的工厂经理。”
这个比喻我一直记着,不是因为它悲观,是因为它太精准了。宜家的工厂经理,不需要懂每件家具是怎么做出来的。他们管的是吞吐量,盯着有没有明显的缺陷,相信这套流程就行。这套逻辑做家具没问题,但做软件不行 —— 那些处理用户数据、支付流程,或是大家赖以生存的基础设施的软件,根本不能这么搞。软件需要有人能深度理解它,才能想清楚出问题的时候会发生什么。这种工厂经理模式 —— 高吞吐量、浅度审核 —— 做出来的系统,没人真的懂。而没人懂的系统,出问题的方式也是没人能预测、没人能快速修复的。


三种债,大白话给你讲明白
我给你好好说说,现在代码库里到底在堆些什么东西。
1. 认知债:看不见的危机

Margaret-Anne Storey 说得太对了:一个程序,不等于它的源代码。程序是一套 “理论”—— 是存在开发者脑子里的心智模型,它记录了软件做了什么、需求是怎么变成实现的、改东西的时候会发生什么。AI 工具默认就会把开发者从 “创造模式” 推去 “审核模式”。你不再是解决问题,而是开始评估别人给你的解决方案。


问题是,审核 AI 的输出会让你觉得自己很高效。你在读代码、找问题、改东西,但你根本没建起那套心智模型,那套能让你独立理解系统的心智模型。
有个学生团队的例子完美说明了这一点:他们用 AI 快速搭出了能跑的软件,结果到第七周要做个简单修改的时候,项目直接卡壳了。没人能说清设计的初衷,没人懂组件之间是怎么交互的,那套大家共享的、对程序的理解,直接蒸发了。
// 这段代码能跑。你能在30秒里说清它为什么能跑吗?
// 如果你是用AI生成的它,而且没停下来搞懂它——
// 那你已经堆上认知债了。

const processPayment = async (userId, amount, currency) => {
  const [user, rateLimit, fraud] = await Promise.all([
    db.users.findById(userId),
    redis.get(`rate:${userId}`),
    fraudService.check(userId, amount)
  ]);

  if (!user || rateLimit > 10 || fraud.score > 0.7) {
    throw new PaymentError(user ? 'RATE_LIMITED' : 'USER_NOT_FOUND');
  }
  // 堆代码 duidaima.com
  // 你能找出bug吗?如果fraud.score刚好是0.7会怎么样?
  // 如果rateLimit是null又会怎么样?
  // 这是AI生成的。你上线它之前,真的搞懂它了吗?
};
2. 验证债:虚假信心陷阱
每次你给一段你没完全搞懂的代码差异点了通过,你就是在预支未来。和传统技术债不一样 —— 传统的会通过越来越卡的开发、慢得要死的构建、缠成一团的依赖告诉你它来了 —— 验证债会养出虚假的信心。代码库看起来干干净净,测试全绿。半年后你才发现,你做的东西完全符合需求文档,却根本不是客户想要的。
plaintext
# 验证债就是这么堆起来的:
# ✅ 所有测试通过
# ✅ 没有 lint 错误  
# ✅ 代码审核通过
# ✅ 已经部署到生产环境

# 但没人问过:
# ❌ 这东西真的能解决用户的问题吗?
# ❌ AI没考虑到的边界情况会怎么样?
# ❌ 这符合我们的架构模式吗?

# ❌ 下一个开发者能看懂它吗?


3. 架构债:当模式失效的时候

AI 智能体生成能跑的代码很快,但它们倾向于重复写模式,而不是把模式抽象出来。最后你会发现,五个文件里,同一段逻辑写了五个略有不同的版本,每个都能跑,但没有一个共用公共工具函数。AI 生成的代码,往往只覆盖了顺利的路径。它能处理训练数据里覆盖得好的情况 —— 标准输入、预期状态、常见错误码。但边界情况、竞态条件、还有基础设施相关的故障,要么处理得很敷衍,要么根本没管。


AI 智能体需要某个功能的时候,直接就拉个包过来用。它根本不会考虑:现有的代码库是不是已经有这个功能了?这个依赖还在维护吗?为了一个函数引入这么大的包,值得吗?最后就会变成我所说的 “有序的混乱”:每一行代码单独看都合理,凑到一起就完全乱了。


生产力悖论:为什么更快,其实是更慢

有个矛盾,管理层没人愿意听:2026 年,AI 编程工具写了所有新商业代码的 41%,开发速度从来没这么高过。但根据 Stack Overflow 的分析,资深开发者用 AI 工具的时候,生产力反而降了 19%。而且大多数开发者都表示,他们要花更多时间调试 AI 生成的代码,还要花更多时间修复安全漏洞。为啥生成代码更快的工具,反而让开发者变慢了?因为写代码从来都不是瓶颈。


理解代码才是瓶颈,调试代码才是瓶颈,修改你没写过的代码 —— 或者你写了但不懂的代码 —— 才是瓶颈。AI 把快的部分变得更快了,却把慢的部分变得更慢了。那些盯着 AI 使用率、功能上线速度的团队,优化错了指标。他们完全忽略了技术债的堆积。那些没做任何管控,就一头扎进 AI 辅助开发的公司,到 2026、2027 年,都会遇到危机级别的技术债堆积。


当没人懂代码的时候,到底会发生什么
我跟你说点实际的,这种事落到实处到底是什么样的。
场景 1:三周的停摆
这就是我们。半年的 AI 辅助高速开发,换来三周的完全停摆 —— 因为我们得先搞懂自己到底做了什么,才能放心地改它。
算上停摆的时间,净开发速度:和传统开发比,几乎没涨。
场景 2:初级开发者陷阱
54% 的技术管理者,因为 AI 打算少招初级开发者。但 AI 生成的技术债,需要人的判断来修复 —— 而这种判断,恰恰是初级开发者通过好几年犯错、学习练出来的。
把初级岗位砍掉,企业就等于给自己的未来挖了坑:以后他们根本没有足够的人力,来修复现在堆出来的这些债。
2027 年我们需要的那些工程师 —— 那些有 2-4 年调试经验的人 —— 根本不会存在,因为当年他们根本没被招进来。
场景 3:安全定时炸弹

有个安全公司发现,AI 辅助开发写出来的代码,安全问题的概率比人写的高 2.74 倍。这种债不会主动告诉你它来了,它就安安静静待在生产环境里,等着爆雷。


到底怎么解决?说点实用的
经过三周痛苦的调试和重构,我们团队做了这些改变:
1. 搞个 “凌晨 2 点你能调试它吗?” 规则
任何 AI 生成的代码合并之前,作者必须能回答这个问题:
“如果这东西凌晨 2 点在生产环境炸了,告警找你,你不用再看一遍代码就能调试它吗?”
如果答案是不能 —— 那代码就不能合并,直到作者搞懂它为止。
就这一条规则,我们第一周抓出来的问题,比之前所有代码审核流程加起来都多。
2. 把 “生成环节” 和 “理解环节” 分开
周一:用 AI 生成功能(快)
周二:脱离 AI 辅助,逐行通读代码(慢)
周三:重构你没搞懂的部分(中等速度)
周四:测试 AI 没考虑到的边界情况(中等速度)
周五:合并
短期来看慢了,但半年的维度看,速度会快得多。
3. 跟踪认知债,而不只是代码质量
把这些问题加到你的 sprint 回顾里:
每个团队成员,都能解释我们这个 sprint 上线的核心系统吗?
有没有只有一个人懂的模块?
我们有没有上线什么东西,是我们下周都没法放心修改的?
这些不是什么感性的问题,是风险评估。
4. 把 AI 当成一个聪明的初级开发者
能力强、上手快,对很多不该自信的东西特别自信,复杂的东西需要人盯着。

初级开发者的规则:

✅ 用来写样板代码和脚手架

✅ 用来写已经很熟的模式

✅ 用来生成测试

⚠️ 所有东西都要仔细审核

❌ 别让他单独做架构

❌ 别合并你看不懂的代码

❌ 别因为测试过了就跳过审核

对 AI 用同样的规则就行,因为风险是一样的。


那个让人不舒服的真相

这是 AI 编程工具的营销人员,绝对不想让你知道的事:2026 年赢到最后的团队,不是生成代码最多的,而是生成对的代码,并且保持纪律,给 AI 的输出做审核、重构、架构调整的团队。干净、模块化、文档完善的系统,能让 AI 变成加速器。而一团乱麻、东拼西凑的系统,会把 AI 的价值闷死 —— 最后把用这个系统的业务也一起闷死。


AI 技术债最讽刺的地方就在这:你的代码库越好,AI 给你带来的价值就越多;你的代码库越烂,AI 对你的破坏就越大。AI 会放大你本来就有的东西。好的基础,被放大成更快的上线;烂的基础,被放大成更快的技术债堆积。和传统技术债不一样 —— 传统的会通过越来越卡的开发,慢慢告诉你它来了 ——AI 技术债会悄无声息地堆在全绿的测试、高速的开发指标后面,直到某一天,突然爆雷。


那个改变了我带团队方式的问题
我们三周停摆之后,CTO 在回顾会上问了个问题,我到现在都忘不掉:
“我们是从什么时候开始,不再构建软件,只是生成它了?”
这俩完全不一样。构建,意味着理解。生成,意味着吞吐量。未来属于能把这俩结合起来的开发者 —— 用 AI 的生成速度,同时不丢掉自己的理解。这不是让你别用 AI 工具,是让你有目的地用它。快速生成,彻底理解。你的团队有没有撞上 AI 技术债的墙?还是你已经看到预警信号了?我真的很想知道其他团队是怎么处理的,把你的经历写在评论里 —— 尤其是如果你找到了真的有用的方法的话。

用户评论