和 AI 对话多少轮之后重开新的会比较合适?
我一直建议在使用 AI 聊天时,会话轮数不要太多,因为会话多轮后,消息越滚越多,每次发给 AI 的上下文长度会叠加越来越多,导致幻觉严重。
但新的问题是:
和 AI 对话多少轮之后重开新的会比较合适?
当 GPT 回答出现错误的时候,是应该直接放弃掉这次对话还是说指出他的错误,以后继续使用该对话?
这类问题的核心在于:你的会话中所有消息内容加起来多长?以及你是不是在乎幻觉?
会话总的消息长度是不是太长了?
如果每一轮内容不长其实无所谓,加一起也没多长,重点是看会话中所有消息内容加在一起的长度,因为影响质量的根本是输入的内容长度。
并且不同模型对于上下文窗口长度是不一样的,比如 Claude 就可以输入很长的内容,GPT-4o 就相对小一点。
新的问题和之前历史消息有关联吗?
如果后续问题和前面的问题已经没关系了,比如你一开始要 AI 摘要一篇文章,然后又要问一道数学题,那没必要继续同一会话,新开会话比较好。
任务对于幻觉是否敏感
不是所有任务都对幻觉敏感的,比如画画的任务,幻觉一点说不定效果更好,另外在一个会话中,更容易保持风格的一致
原理解释
上面都属于经验总结,但是如果你不清楚原理可能就会依赖于经验,而换一种情况就不知道怎么做比较好了。
这里简要总结一下原理:
对于大语言模型来说,它是没有记忆功能的,也就是每一次你必须发送给它所有的历史会话内容,也就是每次发新消息都会把历史消息一起发送过去。但是这样一直累加就会超出最大上下文窗口长度,并且会让会话的成本急剧上升,毕竟内容越多,需要消耗的算力越大。
所以对于 AI 聊天应用来说,在几轮会话后会自动对历史会话进行摘要,只保留最近的几次会话。这也是为什么你和 AI 聊的多了,它可能会忘记前面聊过的内容。
一图胜千言,我画了一张图,这样看的更直观。
如果你看明白了上面的图,知道了在和 AI 聊天时,多轮对话中上下文窗口的工作原理,那你就可以更好的把握该多少轮重新开始会话,或者是不是要重新开始会话。
比如说:“当 GPT 回答出现错误的时候,是应该直接放弃掉这次对话还是说指出他的错误,以后继续使用该对话?”
根据上面的原理图,如果你的消息很长,它的回复也很长,你要是再去纠正,那么再一轮会话下来,可能就要超过上下文长度限制或者接近限制了,可能聊天软件自动帮你摘要历史会话了,所以不如你新开一个会话,调整一下问题再问,这样就可以得到更好的答案。
如果你的消息不长,AI 回复也不长,并且 AI 的回复也是有价值的,那么就指正让它继续回复好了。
所以核心还是你所有消息加起来的长度是不是太长了?你是不是在乎长度对结果的影响?