← 返回目录
p.14方法⏱ 约 4 分钟

陷阱 #14:上下文丢失导致前后矛盾

这边这么写,那边又那么写,互相打架

🔎 最后验证 2026-05📚 来源:《AI编程实战三卷书》卷一、《AI编程实战三卷书》卷二 §8–12🧰 Claude Code✅ 79 人学过👁 126 次阅读
为什么学这个

m.2 你懂了 AI 为什么会"变笨"。这一节看它的一个具体恶果:前后矛盾——在一个地方用 A 方案,另一个地方又用了不兼容的 B 方案;数据这里叫 userId,那里又叫 user_id,接起来就崩。

💡 打个比方

就像写一本书写到后面,忘了前面的设定:前文主角叫"小明",后文突然变"小强";前面说时间是夏天,后面又下起了雪。读者(代码)一对照,处处穿帮。

这个坑长什么样

  • 数据字段名前后不一:存的时候叫 userName,读的时候写成 username → 读到 undefined
  • 两种不兼容的方案混用:一半用回调、一半用 async,接起来逻辑乱套
  • 早先约定"日期用时间戳",后面某段又改用了字符串日期 → 比较出错

为什么会犯 & 怎么识别

  • 为什么:长对话里早先的设定被挤出上下文(m.2 的机制),它"忘了"自己/你之前定的规矩
  • 识别信号:同一个东西有两种叫法/两种处理方式;数据在两段代码之间"对不上口"

怎么防

  • 保持上下文聚焦(m.2):长了就总结重开,别在一个乱对话里硬撑
  • 把关键约定写进 CLAUDE.md(m.3):字段命名、数据格式等固定下来,它每次都看得到
  • 审查接口处:两段代码"交接"的地方(谁存谁读、谁传谁收)最容易矛盾,重点看
❓ 测验
AI 写的代码'一处叫 userId,另一处叫 user_id'导致对不上,根因通常是?
⚠️ 避坑矛盾常藏在'两段代码的交接处'

单看每一段都没错,错在它们对不上——A 存的格式,B 不认。这种 bug 单独读哪一段都发现不了,只有在"数据从 A 流到 B"时才暴露。审查时,特别盯住数据在不同部分之间传递的接口:字段名、格式、单位是否一致。

🤖 让 AI 自查一致性(收藏)
请检查这个项目里的一致性问题:1) 同一个数据/字段有没有出现两种不同的命名;2) 有没有混用了不兼容的实现方式;3) 数据在存/读、传/收的接口处格式是否一致。列出所有不一致的地方并统一它们。
🔎 来源与核验· 1 条,点开核对
本节每个关键论断都对应一个可追溯的来源 —— 这是本课程"靠谱、不过时"的底线。
「上下文丢失会导致命名/格式/方案前后不一致,需固化约定并审查接口」

🔧 试一试:在长对话里改多处(5 分钟)

同一个长对话里,让 AI 分几次改动相关的多个地方。

你会看到:改到后面,命名/数据结构/风格可能和前面对不上——它忘了前面怎么定的。

怎么防:关键约定写进 CLAUDE.md(接 m.3);长任务乱了就总结重开(接 m.2)。

✅ 小结

前后矛盾常源于"忘事"。下一节看更直接的一种:它把你明确交代过的要求给忘了。

下一节 → 陷阱 #15:长对话里忘了早先的约定
智图软件的赞赏码
都看到这了,打个赏呗!
接下来 · p.15
陷阱 #15:长对话里忘了早先的约定
继续读下一节 →