🔧 我的开发组合

  • 模型:Reasonix + DeepSeek V4-Pro
  • 项目:公司内部 ERP 系统
  • 上下文窗口:1M(实际可用约 65%)

📉 翻车经过

前两天用得贼爽,AI 状态在线,需求秒懂、代码能跑、bug 能修,简直人均高级工程师。

直到第三天,上下文堆到 647K(约占 1M 窗口的 65%)……

模型开始出现明显的"老年痴呆"症状:

  • 🤡 反复忘记早期约定的技术栈和命名规范
  • 🤡 给出的代码风格前后割裂,像换了个人
  • 🤡 同一个 bug 修了又坏、坏了又修
  • 🤡 需要我反复重申同一个约束
  • 🤡 回答变短变泛,开始说"客套话"
  • 🤡 推理深度肉眼可见地下降

结论:长上下文衰减是真实存在的,不是错觉。

企业微信截图_20260612162302

 

🧠 为什么会变笨?(原理)

这是所有大模型的通病:

  1. 注意力稀释:Transformer 的注意力权重在超长序列中被分散
  2. Lost in the Middle:模型对开头结尾记忆最好,中间内容容易被"淹没"
  3. 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生成的文档]
==== 交接文档结束 ====

 

至此,新会话又重新恢复活力。

断"该重开了"的信号

出现以下任一情况立即重开:

  • ✅ 模型开始重复你刚说过的话
  • ✅ 忘记早期明确的约定(比如又用了你否决过的方案)
  • ✅ 代码风格突然变化
  • ✅ 回答变短、变泛、变"客套"
  • ✅ 你需要反复纠正同一个点

 

posted on 2026-06-12 16:30  fxyc87  阅读(115)  评论(0)    收藏  举报