摘要
一句话总结
决定是否重开 AI 对话新会话的核心不在于具体的对话轮数,而在于累积的上下文总长度、新问题与历史消息的关联性,以及具体任务对幻觉的敏感度。
核心要点
- 核心判断标准:是否重开会话主要取决于所有消息内容加起来的总长度,因为输入内容的长度根本上影响着 AI 的输出质量。
- 模型差异:不同模型对上下文窗口长度的限制不同(例如 Claude 支持较长输入,而 GPT-4o 相对较小)。
- 话题关联性:如果新问题与历史记录无关(如做完文章摘要后问数学题),应直接新开会话。
- 幻觉敏感度:并非所有任务都排斥幻觉。例如绘画任务对幻觉不敏感,在同一会话中反而更容易保持风格一致。
- LLM 无记忆原理:大语言模型没有记忆功能,每次发送新消息都必须附带所有历史会话内容。
- 应用层摘要机制:为控制成本和长度,AI 聊天应用会在几轮会话后自动对历史记录进行摘要,只保留最近的几次会话。
- 错误纠正策略:当 AI 回答出错时,若上下文已经很长,建议调整问题后新开会话以避免触发长度限制或自动摘要;若消息较短且 AI 回复有价值,则可直接在当前会话中指出错误并继续。
风险/不足
- 会话轮数过多会导致上下文长度不断叠加,从而引发严重的 AI 幻觉。
- 历史消息的持续累加容易超出模型的最大上下文窗口长度。
- 随着上下文内容的增加,需要消耗的算力变大,会导致会话成本急剧上升。
- 由于聊天软件的自动摘要机制,对话轮数过多会导致 AI 忘记早期聊过的历史内容。
正文
我一直建议在使用 AI 聊天时,会话轮数不要太多,因为会话多轮后,消息越滚越多,每次发给 AI 的上下文长度会叠加越来越多,导致幻觉严重。
但新的问题是:
-
和 AI 对话多少轮之后重开新的会比较合适?
-
当 GPT 回答出现错误的时候,是应该直接放弃掉这次对话还是说指出他的错误,以后继续使用该对话?
这类问题的核心在于:你的会话中所有消息内容加起来多长?以及你是不是在乎幻觉?
会话总的消息长度是不是太长了?
如果每一轮内容不长其实无所谓,加一起也没多长,重点是看会话中所有消息内容加在一起的长度,因为影响质量的根本是输入的内容长度。
并且不同模型对于上下文窗口长度是不一样的,比如 Claude 就可以输入很长的内容,GPT-4o 就相对小一点。
新的问题和之前历史消息有关联吗?
如果后续问题和前面的问题已经没关系了,比如你一开始要 AI 摘要一篇文章,然后又要问一道数学题,那没必要继续同一会话,新开会话比较好。
任务对于幻觉是否敏感
不是所有任务都对幻觉敏感的,比如画画的任务,幻觉一点说不定效果更好,另外在一个会话中,更容易保持风格的一致
原理解释
上面都属于经验总结,但是如果你不清楚原理可能就会依赖于经验,而换一种情况就不知道怎么做比较好了。
这里简要总结一下原理:
对于大语言模型来说,它是没有记忆功能的,也就是每一次你必须发送给它所有的历史会话内容,也就是每次发新消息都会把历史消息一起发送过去。但是这样一直累加就会超出最大上下文窗口长度,并且会让会话的成本急剧上升,毕竟内容越多,需要消耗的算力越大。
所以对于 AI 聊天应用来说,在几轮会话后会自动对历史会话进行摘要,只保留最近的几次会话。这也是为什么你和 AI 聊的多了,它可能会忘记前面聊过的内容。
一图胜千言,我画了一张图,这样看的更直观。


如果你看明白了上面的图,知道了在和 AI 聊天时,多轮对话中上下文窗口的工作原理,那你就可以更好的把握该多少轮重新开始会话,或者是不是要重新开始会话。
比如说:“当 GPT 回答出现错误的时候,是应该直接放弃掉这次对话还是说指出他的错误,以后继续使用该对话?”
根据上面的原理图,如果你的消息很长,它的回复也很长,你要是再去纠正,那么再一轮会话下来,可能就要超过上下文长度限制或者接近限制了,可能聊天软件自动帮你摘要历史会话了,所以不如你新开一个会话,调整一下问题再问,这样就可以得到更好的答案。
如果你的消息不长,AI 回复也不长,并且 AI 的回复也是有价值的,那么就指正让它继续回复好了。
所以核心还是你所有消息加起来的长度是不是太长了?你是不是在乎长度对结果的影响?