🔧 我的开发组合
- 模型:Reasonix + DeepSeek V4-Pro
- 项目:公司内部 ERP 系统
- 上下文窗口:1M(实际可用约 65%)
📉 翻车经过
前两天用得贼爽,AI 状态在线,需求秒懂、代码能跑、bug 能修,简直人均高级工程师。
直到第三天,上下文堆到 647K(约占 1M 窗口的 65%)……
模型开始出现明显的"老年痴呆"症状:
- 🤡 反复忘记早期约定的技术栈和命名规范
- 🤡 给出的代码风格前后割裂,像换了个人
- 🤡 同一个 bug 修了又坏、坏了又修
- 🤡 需要我反复重申同一个约束
- 🤡 回答变短变泛,开始说"客套话"
- 🤡 推理深度肉眼可见地下降
结论:长上下文衰减是真实存在的,不是错觉。

🧠 为什么会变笨?(原理)
这是所有大模型的通病:
- 注意力稀释:Transformer 的注意力权重在超长序列中被分散
- Lost in the Middle:模型对开头结尾记忆最好,中间内容容易被"淹没"
- KV Cache 噪声累积:早期的废话和试错过程会持续污染后续推理
经验法则:超过 300K 就该考虑重开了,别硬撑到 500K+。
✅ 解决方案:优雅地重开会话
问了一下opus 4.7,他给出以下答案:
你遇到的是长上下文衰减问题——这是所有大模型的通病,不是你的错觉。当上下文超过 200K-500K 后,模型的注意力会被稀释,关键信息容易被"淹没",表现为:指令遵循下降、前后矛盾、遗忘早期约定、推理变浅。
为什么会变笨(先理解原理)
- 注意力稀释:Transformer 的注意力机制在超长序列中权重分散
- 中间遗忘(Lost in the Middle):模型对开头和结尾的信息记忆最好,中间部分容易被忽略
- KV Cache 噪声累积:早期错误或冗余信息会持续干扰后续推理
结论:超过 300K 后基本必须重开。 硬撑只会越来越糟。
看来只有重开新对话了,新开对话前先让现有对话准备交接文档。在现有对话中发送以下内容:
请帮我生成一份"会话交接文档",用于在新会话中无缝接续我们的工作。请按以下结构输出:# 项目/任务交接文档## 1. 核心目标(一句话说清楚我们最终要做什么)## 2. 关键背景与约束- 技术栈/工具/版本:- 已确定的设计决策(含原因):- 明确否决的方案(含原因):- 我的偏好和风格要求:## 3. 已完成的工作(按时间或模块列出,附关键产出)## 4. 当前进度与卡点- 正在做什么:- 卡在哪里:- 下一步计划:## 5. 关键代码/数据/结论(必须保留的核心产物,原文粘贴)## 6. 待办清单- [ ]- [ ]## 7. 给"下一个我"的提示(容易踩的坑、需要特别注意的地方)请尽可能详尽,宁可冗长不要遗漏。
然后再新建会话,在新会话里发送以下内容:
我们正在接续一个之前的项目,旧会话因上下文过长已退化。以下是交接文档,请你:1. 先完整阅读,不要急于回应2. 用你自己的话向我复述:- 项目目标- 当前进度- 下一步要做的事- 你认为最容易出错的点3. 如果有任何模糊或矛盾的地方,先问我,不要假设4. 确认无误后,我们再继续==== 交接文档开始 ====[粘贴方法1生成的文档]==== 交接文档结束 ====
至此,新会话又重新恢复活力。
断"该重开了"的信号
出现以下任一情况立即重开:
- ✅ 模型开始重复你刚说过的话
- ✅ 忘记早期明确的约定(比如又用了你否决过的方案)
- ✅ 代码风格突然变化
- ✅ 回答变短、变泛、变"客套"
- ✅ 你需要反复纠正同一个点
浙公网安备 33010602011771号