别怪模型不行!AI 编程的致命问题是工程问题

15 阅读3分钟

AI 编程已经很强了,但很多团队发现一个诡异的现象:

刚引入 AI 编程时,交付速度确实快了。
但三个月后,项目越来越难维护,改一个 bug 要排查一下午。
你忍不住骂一句:这他妈的谁写的烂代码?
旁边的同事默默告诉你:这是你三个月前让 AI 写的。

不是我泼冷水,是所有 AI 编程工具都有一个致命缺陷:

它搜不到真相,只能靠猜。

具体表现为 4 个通病,看看你中了几个:

1. 上下文召回不可靠

现实中的崩溃现场:

  • PRD 写的是 每天限额 10 次
  • 接口文档写的 是单次上限 10
  • 代码实现是 limit: 10
  • 测试用例写的是 支持 10/20/50 三档

四个地方四个说法,AI 看了也懵。

关键规则散落在:飞书文档、PRD、会议纪要、口口相传。AI 搜代码,只能搜到冰山一角。

2. 边界意识差

你让 AI 修一个 bug,它很开心地 顺便

  • 改了目录结构
  • 把接口语义也 优化
  • 把测试规则改成 更好测 的版本

它觉得自己在做好事,你觉得它在越级执法

3. 规则、契约、实现三者漂移

没有唯一真理时,系统里会出现三份互相背离的真相:

业务规则文档写的实际跑的
每天限额 10 次单次上限 10limit: 10

AI 加速了这个漂移——因为它能同时写三样,而且每样都写得像真的。


4. 正确性无法证明

没有明确验收口径时,你对 AI 输出的评估方式只剩一种:

看起来合理。

工程里最贵的成本,就藏在看起来三个字里。

根因:不是检索不够强,而是缺乏「真相」

很多人遇到上下文问题的第一反应是:上 RAG、上向量库、上更强模型。

这些解决的是搜的工具,不是被搜的对象

如果你的系统里:

  • 真相散落在仓库外
  • 同一个概念多套说法
  • 文档不版本化、不评审、不追踪

那再强的检索,也只能把碎片捞得更快一点。

我的解法:文档即代码

1. System Manifest:给项目一张地图

{
  "modules": ["backend", "frontend", "docs"],
  "contracts": "./openapi/",
  "generated": "./src/api/"
}

好处:AI 不再先搜再说,而是先定位再深入


2. L1-L4 分层:把真相分类型管理

层级职责
L1系统边界与上下文(去哪儿找)
L2模型与不变式(怎么理解)
L3业务规则(什么算对)
L4接口契约(前后端怎么对齐)

3. L3 唯一真理:把「正确性」做成可验证

场景: 每日限额检查
  假设 用户当天已调用 9 次
  当 用户发起第 10 次请求
  那么 返回 "每日限额已达上限"

AI 的工作从写看起来对的代码,变成把规则跑通

4. 结构化移交单:把协作从聊天升级为指令

每次变更必须输出:

  • 改动意图
  • 影响范围(哪些模块/接口)
  • 具体变化(字段级)

结尾

AI 能帮你写 10 倍代码,也能帮你制造 10 倍看起来合理的隐患

你需要的不是更强的补全,而是更强的顶层设计:

  • 真相可寻址(Manifest)
  • 变更可追踪(版本化)
  • 正确性可验证(L3 规则)
  • 协作可执行(移交单)

简单项目可以靠感觉,复杂系统永远靠规约。


你在 AI 编程中踩过什么坑?评论区聊聊 👇