为什么最危险的不是AI写错代码,而是没人记得当初为什么这么写
正在加载视频...
视频章节
Michal Cichra 给AI工程师泼了一盆冷水:真正让AI项目崩溃的,不是模型不聪明,而是“决策失忆”。当人类会离职、LLM会压缩上下文,产品为什么存在、架构为什么这么设计,正在悄悄消失。
为什么最危险的不是AI写错代码,而是没人记得当初为什么这么写
Michal Cichra 给AI工程师泼了一盆冷水:真正让AI项目崩溃的,不是模型不聪明,而是“决策失忆”。当人类会离职、LLM会压缩上下文,产品为什么存在、架构为什么这么设计,正在悄悄消失。
猴子、香蕉和AI:决策失忆正在吞噬你的系统
演讲一开始,Michal 丢出一个老掉牙却极其致命的故事:五只猴子、梯子和香蕉。冷水惩罚早已不存在,但“不能爬梯子”这条规则却被一代代传承下来,没人知道为什么。
他的结论很扎心:人类团队和大语言模型,正在同时重演这场悲剧。
人类的问题是“会走人、会忘记”;LLM的问题是“上下文有限、没有长期记忆”。结果就是:系统运行半年后,团队开始频繁发问——为什么这个流程这么怪?这个架构到底在防什么?这个限制还能不能删?而那个知道答案的人,可能早就不在公司了。
更糟的是,AI 加速了这一切。过去这些问题可能两三年后才爆雷,现在几个月就出现。因为 AI 能写代码,但它不知道哪些决定是“血泪换来的”,哪些只是偶然留下的历史包袱。
ADR 和 PRD:不是写给文档库,是写给未来的你和AI
Michal 给出的第一个解法,并不新,但在 AI 时代突然变得极其重要:把“为什么”写下来。
ADR(Architecture Decision Record)不是在描述你做了什么,而是明确三件事:为什么要这么做、规则是什么、如何被强制执行。比如,为了防止 N+1 查询,你不仅写下“代码要分层”,还要配套 lint 规则,禁止跨层导入,让“犯错”在技术上变得不可能。
PRD 则更轻量,只回答三个问题:这个功能为什么存在?解决什么问题?用户是怎么走到这里的?它不是写给老板看的,也不是写给 AI 的 KPI 文档,而是写给六周后已经忘记自己动机的你。
关键点在于:这些文档本身不会神奇地生效。它们必须能被工具、CI、Agent 找到、引用,并在违规时被“指路回原文”。否则它们只是另一种形式的知识坟场。
BDD 回来了:让规格说明真正“可执行、可审查”
如果你做过 spec-driven development,大概率踩过同一个坑:规格写得很美,但没人知道代码到底有没有遵守。
Michal 的评价一针见血:“读 AI 写的代码已经够难了,读 AI 写的测试更难。”
他的解法是把 BDD(行为驱动开发)从“过气方法论”拉回舞台中央。用接近自然语言的方式描述系统行为,然后让这些描述既能被人读懂,又能被机器执行。Cucumber 这种老工具,在这里突然变得极其合适。
BDD 的价值不在于语法,而在于它闭合了一个长期断裂的回路:PRD 里的用户旅程 → 可读的行为描述 → 可执行的测试 → CI 的强制反馈。规格不再只是“愿望清单”,而是可以失败、可以阻止合并的硬约束。
更重要的是,这些描述可以被 AI Agent 理解、引用、回溯——当它被 CI 拒绝时,能准确知道自己违背了哪条“人类语言写下的规则”。
真正的杀招不是文档,而是“闭环”:让规则自动反击
如果说前面都是“记忆”,那最后一步就是“肌肉记忆”。
Michal 强调:你找不到的东西,就不可能被强制执行。所以他们的系统把所有规则塞进一个极其严密的循环里:git hooks、本地检查、CI、lint、架构校验、文档校验。
Agent 的唯一目标是交付 PR,而 PR 的唯一通道就是 git。于是,每一次提交,都是一次规则考试。跳过检查?CI 会抓住你。架构越界?lint 直接报错,并把你链接回对应的 ADR。
这让代码评审彻底变了味:不再讨论空格、风格、格式,这些都已经自动化了。人类只讨论真正重要的东西——高层决策是否合理,产品目标是否跑偏。
UI 也是同一套逻辑。设计系统、组件、模式库,不只是为了好看,而是为了让 AI 也没法“自由发挥”。没有 inline style、只有组合组件,像写代码一样构建界面,否则就是混乱。
总结
这场演讲的核心并不在某个新工具,而在一个残酷的现实判断:在 AI 时代,最大的技术债不是代码,而是没被记录、没被约束的决策。如果你希望 Agent 能连续工作数小时、数天,而不是每次都“从零开始胡猜”,你就必须把“为什么”和“不允许什么”写清楚,并用工具强制执行。
对从业者来说,最直接的行动建议只有一个:回头看看你的项目里,有哪些关键决定只存在于某个人的脑子里。如果那个人明天离职,你的 AI 还能不能做出同样正确的选择?如果答案是否定的,那你现在就知道该从哪里补起了。
关键词: AI Agent, ADR, BDD, PRD, 上下文窗口
事实核查备注: 需要核查:演讲者 Michal Cichra 的背景(Safe Intelligence、Microsoft、Red Hat);Spec 27 的发布时间;BDD/Cucumber 在演讲中的具体用法是否有省略细节