AI 会话该什么时候重开?一份「上下文卫生」的判断清单
上周排查一个接口 502,我在同一个会话里来回问了三十多轮。到后面模型开始答非所问:我已经确认过的结论它反复问我,我贴过的日志它像没看见。最后我新开一个会话、把背景重新讲了一遍,三句话就定位到了。
那次之后我才把「什么时候该开新会话」当成一个真问题来对待。开早了浪费时间,背景得重讲一遍;开晚了,模型在噪音里越走越偏,你还以为是自己不会提问。
下面是我现在用的判断标准:三个该重开的信号、一套重开时的最小重建法,以及两种「其实不该重开」的情况。
为什么同一个会话会越聊越差
先厘清一件事:会话变长,不等于信息变多。
上下文里同时存在三类东西------已经解决的旧问题、被推翻的中间结论、以及一大堆和当前任务无关的调试痕迹。模型每一轮都要把这一整段重新读一遍,然后判断哪些是「现在的真相」。
问题就出在这:它没有可靠的「删除线」。你上一轮说「端口是 8080」、下一轮改成「其实是 8081」,两句话都在上下文里,谁权重更高全靠模型自己猜。猜错一次,后面就顺着错的走。
所以「越聊越傻」通常不是模型退化,而是有效信息被无效信息稀释了。同一个会话里,信噪比是单调下降的。
三个该开新会话的信号
这三个信号我基本是「命中任意一个就重开」,不再硬撑。
信号一:同一份信息你解释了第二遍。 第一次解释是正常的;需要第二次解释,说明它没被当成当前事实,而是和旧版本混在一起了。这时候再解释第三遍,基本是浪费。
信号二:出现「你说得对,不过......」式的兜圈子。 模型开始先肯定你、再给一个和之前矛盾的方案,说明它在两套结论之间摇摆。这是上下文冲突的典型表现,不是它在帮你权衡。
信号三:你开始往回翻记录找结论。 这一条最容易被忽略,也最准。如果连你自己都没法在脑子里维持「当前结论是什么」,指望模型维持是不现实的。
反过来说,如果这三条都没出现、任务还在稳定推进,那就别急着开新的。
重开时的最小重建法
重开的最大成本是「背景要重讲」。我现在的做法是把它压成固定的四行,存在备忘录里,需要时直接贴:
xml
目标:<这次要达成什么,一句话>
现状:<当前事实,含关键版本号/端口/路径>
我试过什么、没用:<排除掉的方向>
约束:<不能动的东西、必须遵守的规范>
第三行是这套模板里最值钱的一行。它明确告诉模型「别再建议这些」,能省掉一两轮无效往返。
四行加起来通常不到两百字,比翻旧会话快得多,也不会把旧噪音带进新会话。
两种其实不该重开的情况
一是在同一份文件上做连续修改。 这种任务依赖精确的改动历史,重开等于让模型从零理解文件,反而更容易改错地方。
二是关键结论还没落进产物里。 如果结论只存在于对话中、还没写进代码或文档,重开就等于把它丢了。正确顺序是先用它改完产物,再重开。
一份自查清单
- 同一份信息,我是不是要解释第二遍了?
- 模型是不是开始在两套结论之间摇摆?
- 我自己还能不能一句话说出当前结论?
- 要重开的话,四行背景我写好了吗?
- 这次的结论落进产物了吗,还是只在对话里?
上下文卫生这件事,本质是主动维护信噪比,而不是追求聊得久。会话长度不是资产,清晰的当前状态才是。
作者:用户570846257440。记录 AI 工具与开发落地的实际使用经验,只写能复现的做法。文中数据为本人使用记录。