kimichat 中文文档 下载 App

上下文太长怎么办——Token 限制与压缩策略

先理解 Token

Token 是大模型处理文本的最小单位:

K3 的 1M token 上下文窗口 ≈ 75 万汉字。

上下文太长的表现

当 Session 接近 token 上限时,你会观察到这些现象:

表现原因
Kimi "忘记"早期说的细节早期内容被自动压缩成摘要
Kimi 回答里提到了不存在的细节压缩过程中信息丢失或扭曲
响应变慢Token 越多,模型推理越慢
界面提示"建议开始新对话"Session 接近上限

Kimi 的自动压缩机制

Kimi 在后台自动管理上下文窗口:

  1. 正常范围(< 80% 窗口):所有历史完整保留
  2. 接近上限(80%~95%):最早的 Turn 开始被摘要压缩
  3. 超过上限(> 95%):最早的 Turn 被截断移除

压缩过程:

原始 Turn 1: "本次对话讨论了 XX 项目的架构,选择了 React + Node.js + PostgreSQL,
              原因是:1. React 生态成熟 2. Node.js 前后端统一 3. PostgreSQL
              支持丰富的数据类型..."
              
压缩后: "Turn 1: 讨论 XX 项目架构 → React + Node.js + PostgreSQL,原因:生态 + 统一 + 数据类型"

压缩的好处:保留关键信息、节省 token 空间。压缩的代价:丢失细节(具体原因、备选方案的讨论、权衡过程)。

手动延长上下文的三种策略

策略一:主动让 Kimi 做阶段性总结

这是最简单、最推荐的方式。每隔 20~30 个 Turn,主动说:

总结一下本次对话里讨论过的所有关键决定和信息点

Kimi 会生成一份结构化总结。你可以:

策略二:拆分独立任务

如果你的 Session 已经膨胀到接近上限:

  1. 暂停当前 Session(不要继续往里加内容)
  2. 让 Kimi 生成一份"当前状态快照":

给我一份目前已完成了什么、还剩下什么的结构化清单

  1. 保存这份快照
  2. 开新 Session → 把快照粘进去 → 继续剩余任务

策略三:用文件代替上下文

不要把大段内容直接粘在对话里:

文件解析是独立通道,不占用对话上下文 token。

各模型的上下文窗口

模型上下文窗口适合什么
K2.6较小(可能 128K~200K)简单问答、短文本
K31M token长文档处理、复杂多步骤任务
K3 Swarm同 K3并行 + 长上下文

1M token 的 K3 能做什么?

什么时候真的需要 1M token

场景估算 token
普通问答(5 轮)~5K
代码审查(一个文件)~10K
3 万字 Word 文档处理~50K
万字研究报告生成~200K
500 页 PDF 解析~300K
完整代码库分析~500K
极长对话(50+ Turn)~500K~800K

继续阅读