头图

一、“越聊越笨”是真的吗?

最近在 大模型(01gpt.cn) 上跑长任务时,确实发现 GPT-5.5 在多轮对话后期输出质量有波动——偶尔忽略之前确认过的约束、回答变得笼统、甚至前后矛盾。但排查后发现,问题不在模型本身,而在上下文管理上踩了几个坑。256K 的超大窗口并不意味着可以无脑填鸭,恰恰相反,窗口越大,信息管理的精度要求越高。

二、为什么对话越长模型表现越差?

根因不是模型“记忆力”退化,而是注意力被稀释。当上下文累积到几十轮对话后,真正对当前任务有用的关键信息可能只占全部 Token 的一小部分,其余大量历史交互——闲聊、试探性提问、已废弃的思路——变成了噪音。

具体表现为三个数据:多轮对话到第十轮时,前九轮对话可能占了总 Token 的七成以上,其中大量是“嗯”“好的”“请继续”这类无信息量的交互。长上下文中,模型对首尾位置信息的遵循度最高,中间部分容易被稀释——关键约束如果埋在第十轮的位置,很可能被“位置偏见”削弱。更隐蔽的是,早期阶段已废弃的思路仍残留在上下文里,模型可能在后续对话中“旧事重提”,导致输出偏离当前方向。

三、三个核心策略

策略一:信息分层,首尾强调

把系统提示词和用户消息分成不同层级。全局约束放在系统提示词的最前面和最后面各强调一次,只放角色定义、输出格式、安全边界这些贯穿整个会话的内容。当前任务描述放在用户消息中,只写本次对话的具体需求和临时约束。历史对话定期压缩——每五到十轮触发一次摘要压缩,把历史对话浓缩成结构化的“背景记忆”。

背景记忆的提炼模板很简单:关键决策点、已确认的约束、待处理的问题、最近一轮的上下文线索。压缩后的上下文体积大幅缩小,但信息密度反而更高。

策略二:主动压缩,而非被动遗忘

不要等上下文窗口撑满才处理。每完成一个相对独立的子任务,就主动触发一次“记忆整理”。让模型自己用一段话总结当前状态——刚才做了什么、结论是什么、还有哪些未解决的问题。这份总结会自动替换掉冗长的原始对话历史,成为后续对话的“压缩上下文”。

如果人工判断更精准,也可以手动清理。当对话出现明显的思路切换时——比如从讨论方案A转向讨论方案B——先让模型总结方案A的结论,然后清理掉中间反复讨论的过程,只保留最终结论作为下一阶段的参考。

策略三:当前任务显式声明

每一轮提问时,在用户消息的开头用简短的一句话重申当前任务目标。格式可以很简单:“当前任务:为订单模块编写单元测试,覆盖正常路径、异常路径和边界条件。请基于上文确认的接口定义,生成测试用例。”这相当于给模型在庞杂的上下文中立了一个“当前锚点”,让它知道这一轮该关注什么。

四、对话轮次的配比建议

经过多次测试,一个比较稳定的上下文结构配比如下:

上下文组成部分建议占比说明
系统提示词(全局约束)10%-15%角色定义、输出格式、安全边界
背景记忆(压缩后的历史)15%-25%关键决策和已确认约束的摘要
本轮对话(当前任务)30%-40%当前具体需求和上下文细节
缓冲空间20%-30%留给模型推理和生成的空间

五、两个容易忽略的细节

多轮对话中,早期达成的共识可能随着任务推进而失效。比如前几轮确认“使用方案A”,但后续讨论发现方案A有性能瓶颈,实际已转向方案B。如果不主动更新记忆,模型可能还在基于方案A思考。每次任务方向发生调整时,显式更新背景记忆——“已放弃方案A,当前方向为方案B”。

另外,历史对话中有些信息具有强时效性。“刚才报的那个错”只在当前调试会话中有意义,“我们项目的技术栈”则具有长期参考价值。压缩历史时,为每一条信息标注时效性权重。长期有效的信息保留完整描述,临时性信息只保留结论,过程性交互直接丢弃。

六、总结

GPT-5.5 不会“越聊越笨”,它只是忠实地反映了上下文被污染的程度。超大上下文窗口不是垃圾桶,而是档案柜——需要分类、编号、定期清理。信息分层、主动压缩、显式锚定,三个策略组合使用,能让多轮对话始终保持高质量的连续性和一致性。

这不是 Prompt 技巧,而是上下文管理的工程纪律。管好上下文,模型的表现会一直在线。


没人理的油条_PDJGZ
1 声望0 粉丝