AI Native 手册
坑库

“之前是这样的”先查 git

人的记忆会把想过的设计当成做过的功能。防止 agent 把“以前有过”当约束,照着不存在的旧版去“恢复”

亲历产品阶段 · 设计更新于 2026-10-16
分享到 X
一句话规则

谁说“之前是 X”,都先查 git 历史,再决定要不要把它当约束

发生了什么

我跟 agent 说:“以前聊天和预览是并排显示的。”它立刻把任务理解成“恢复旧功能”,准备去翻旧代码,找是哪次改动把它弄丢的。

好在动手前查了一下 git 历史:这两个区域从来没有并排过。那是我脑子里的新设计,只是被我记成了“以前就有”。

为什么会这样

人的记忆是重建出来的。想象过很多遍的画面,会和真实用过的界面混在一起,越熟悉的产品越容易混。

agent 默认把用户的话当事实。一旦接受了“以前有过”,任务的性质就变了:“恢复”意味着去找旧实现、照旧样子做,跳过新功能本该有的设计讨论。旧实现根本不存在时,它还可能从不相干的历史代码里拼出一个“原版”。

查一次 git 只要一分钟;按错误的前提干活,要搭进去几个小时。

怎么做

先查历史,再当约束:

git log --oneline -- <文件路径>          # 这个文件的所有提交
git log --all --oneline -S '<关键词>'    # 哪些提交加过或删过这段代码,含其他分支
git show <commit> --stat                 # 某次提交改了哪些文件

查不到,就让人明确选:是“记错了”,还是“这是新设计”。agent 不替人选,也不默认按“恢复”处理。

选了新设计,就按新需求走:先写 spec 再动手,不要顶着“恢复”的名义直接改(见实质改动先留文档再动手)。

写进 CLAUDE.md:

- 任何人(包括我)说“之前是 X”,先用 git log 查证;查不到就按新需求处理,并向我确认

相关

本页目录