Skip to content

🚫 反模式图鉴:AI 工程的失败名人堂

这里记录了 AI-Human 协作中最常见的失败模式。 每种模式都有命名、根因分析,以及协议中对应的反制规则。


反模式 #1:「雪崩式」

典型场景:

你说:"把 user service 重构为 repository 模式。"

AI 回应:一个 600 行的 diff,涉及 12 个文件,包括数据库 schema、3 条 API 路由、鉴权中间件、2 个单测——全部在一次响应里。

为什么会发生:

AI 没有"变更爆炸半径"的概念。它优化的是任务完成率,而不是人类的可理解性或安全回滚能力。

协议反制:

法则一:原子审计/e 指令强制每次提交逻辑改动不超过 20 行。当 AI 试图超出这个范围,你用一句话叫停:"停。按计划拆成原子步骤。"

自测: 问自己:"如果这个提交炸了生产,我能单独回滚它而不影响其他东西吗?" 不能 → 就是雪崩。


反模式 #2:「幻觉架构师」

典型场景:

AI 自信地设计了一套用 redis-cache-pro 的缓存层——这个库根本不存在,或者 4 年没更新,或者不兼容你的运行时。

架构看起来合理。代码能编译。但运行时炸了。

为什么会发生:

AI 的训练数据有截止日期。它不会去看你的 package.json。它不检查 peer dependency 兼容性。面对知识盲区,它用自信的臆造来填补。

协议反制:

闸门 200:研究阶段/r 指令明确要求:依赖审计(检查现有 package.json)、兼容性核查(运行时环境)、三路对比(A/B/C 方案)。研究阶段物理只读——在人类确认技术栈前,任何代码都不能动。


反模式 #3:「失忆架构师」

典型场景:

你们在构建一个多租户 SaaS,聊了 2 小时。AI 一直正确地在每个查询中加 organizationId。40 条消息之后,你让它加一个新接口——它写的 handler 完全没有租户隔离。AI 忘记了最初的核心约束。

为什么会发生:

AI 的上下文窗口是有限的。漫长的聊天历史会让早期决策"滚出"上下文窗口。AI 没有坏掉——它只是想不起来 2 小时前说了什么。

协议反制:

法则四:Context GC + 文档优先/r/p 阶段产出的是物理文档research_summary.mdimplementation_plan.md)。这些文档不会随着聊天滚动消失。AI 在每个闸门前通过 view_file 重新读取它们。文档才是真正的记忆。


反模式 #4:「隐形债务贩子」

典型场景:

AI 交付了能跑的代码,但里面藏着:

// TODO: 加错误处理
// FIXME: 空数组时会崩
// HACK: 临时方案,后面再改

你上线了。"后面再改"永远不来。18 个月后,这些注释还在,另一个工程师(或者你自己)踩上了地雷。

为什么会发生:

AI 优化的是即时测试(能跑吗?),而不是长期可维护性。TODO 是它在说:"我知道这里不完整,但我不打算告诉你有多烂。"

协议反制:

执行规则:零占位符400-execution-iron-lock.mdc 规则中有一条硬性禁令:"零占位符:禁止任何形式的 TODO。" 如果 AI 生成了 TODO,这段代码未通过原子审计,该步骤强制回滚。


反模式 #5:「阶段跳跃者」

典型场景:

你输入 /r 给应用加 OAuth — 还没等你看完研究摘要,AI 就开始写代码了。它从昨天的对话记忆里找到了 passport.js,决定"直接开干"。

为什么会发生:

AI 急于表现有用。它把"我有足够的上下文"等同于"我有权限继续"。这是两件完全不同的事。

协议反制:

闸门系统:物理交互锁 — MDC 架构让这种情况在结构上不可能发生。200-research-gate.mdcglobs: research_summary.md 让 AI 物理上只看研究文档。400-execution-iron-lock.mdc 在人类通过闸门一发送 1 之前不会激活。权限是物理的,不是对话性的。


反模式 #6:「沉默重构者」

典型场景:

你说:"修复 getUser() 里的空指针异常。"

AI 修了空检查——然后顺手重命名了 3 个变量、提取了一个 helper 函数、重新格式化了整个文件、还把 Promise 链迁移成了 async/await。你要审查 150 行改动才能找到藏在中间的那 2 行真正的修复。

为什么会发生:

AI 有一种强迫性冲动要"顺手优化"它触碰到的代码。它真心觉得每一处改动都是改进。它不理解:未经审计的改动就是未经审计的风险。

协议反制:

法则一:原子审计 + 法则三:关注点分离 — 范围蔓延在计划阶段就被扼杀。/p 指令产出编号任务清单。/e 1.1 指令意味着只执行第 1.1 步 — 不多不少。任何偏离计划的行为都需要停止,返回 /p 重新计划。


汇总表

反模式根因协议反制
🌊 雪崩式无变更半径意识法则一:20 行原子限制
🤡 幻觉架构师不做依赖核查闸门 200:研究 + 依赖审计
🧠 失忆架构师聊天上下文溢出法则四:文档优先的物理记忆
💣 隐形债务贩子只优化即时运行闸门 400 零占位符规则
⚡ 阶段跳跃者将上下文混同权限MDC 物理闸门隔离
🔇 沉默重构者强迫性优化行为编号任务清单 + /e 1.1 范围锁定

Released under the MIT License.