摘要:对话聊久了 AI 开始忘事、自相矛盾,很多人以为是模型不行。其实是上下文被堆乱了。三个动作,对应三种情况。
你大概遇到过这个:一个对话聊久了,AI 突然变蠢——开始忘事、自相矛盾、把你早就说过的当没说过,反复纠正还是绕回老错误。
举个具体的。你跟 AI 改一份方案,改了一下午。中途你已经明确否掉了思路 A,定下思路 B,还基于 B 往下推进了好几轮。聊到后面,你让它把方案整理成终稿——
你:把咱们定下来的方案整理成终稿。
AI:好的。方案 A 的整体思路是……
你:我们不是早就否掉 A、改用 B 了吗?
AI:抱歉,这就改回 B——(聊了两轮,它又绕回了 A)
你越说越上火:这 AI 怎么记性这么差,是不是该换个更聪明的了?
错了。不是模型退化,是上下文这张“桌面”被你堆乱了。
说人话讲原理
AI 每次回答你,都要把整个对话历史从头读一遍,再接着往下说。这带来两个后果:
- 对话越长,它要背的越多,注意力越分散——你真正的重点,被淹没在一大堆历史里。
- 历史里如果混着早期的错误尝试、废弃的方案、跑偏的争论,这些“噪音”也会一起被读进去,持续把它往沟里带。开头那个思路 A 就是这样——你上午否掉了,它却一直躺在对话历史里,时不时被当成有效信息捞出来。
这就是“越聊越蠢”的真相。它不是累了,是它的工作记忆被塞满、被污染了。
三个动作,对应三种情况
清场(开新对话)——换了个不相关的新任务时用。别在讨论 A 的对话里直接拐去问 B,开个干净的。脏桌子上干不出细活。
压缩——同一个任务、聊太长又得接着聊时用。
Claude Code 里敲一条/compact,它会把前面的对话真换成一份摘要、把旧内容清出上下文,这是真瘦身。
其他工具大多没这命令。这时在原对话里让它“再总结一下结论”只能算半招——注意力能往新摘要上靠,但旧历史一个字没删(开头那个方案 A,就是没删才阴魂不散)。想真清干净,就把这份总结复制进一个新对话接着干——这其实已经是下面的“弃局重开”了,区别只在于你是主动整理,还是被带沟里后止损。
弃局重开——对话已经被彻底带沟里了(怎么纠正都绕回错误)时用。别死磕。把里面有用的结论复制出来,开个新对话,把这些结论当作干净的起点重新派活。
沉没成本不值得你陪葬一下午。
三个动作背后,是同一句口诀:
一个对话只干一件事;这件事跑偏了或干完了,就换地方。
进阶:主动喂干净的料
与其让 AI 在一长串对话里“大海捞针”找它需要的信息,不如每次派活时,直接把相关的关键信息贴上来——相关的那段代码、上一步的结论、那份文档的关键部分。
其实这就是“派活五件套”里“背景”那一件,落到日常对话里的样子:别让它猜、别让它翻,手边就给够。
让它不依赖“翻历史”,而是手边就有干净、聚焦的料。这一招能极大减少它跑偏的概率。
顺带的好处:上下文干净了,token 也省了。这是少数“质量和成本一起赚”的事。
抄走就能用
对话管理三动作,按情况套:
| 情况 | 动作 |
|---|---|
| 换了个不相关的新任务 | 开新对话 |
| 同一任务,聊太长还得继续 | 压缩:有/compact就用;没有就把结论总结进新对话 |
| 已经带沟里,纠正不回来 | 弃局:捞出有用结论,新对话重新派活 |
一句口诀:
一个对话只干一件事;跑偏了或干完了,就换地方。
谢谢你读到这里。我们下一篇见。
孤松AI记—— 把重复交给 AI,把判断留给自己。