jonsmith
V2EX  ›  程序员

长对话模型上下文暴增,如何压缩上下文?

By jonsmith at 8 月 26 日 · 2191 次点击

基于单一长需求持续对话,模型上下文很容易跑到几十万 Token 。

背景:

  • 模型:DeepSeek V4 Pro ( 1M 上下文)
  • 不限额不考虑费用(公司报销),也不在乎延迟,只追求最高质量的回复与代码准确率。

疑问:

  1. 压缩时机: 按比例固定压缩,比如上下文到达 50%主动压缩?
  2. 压缩方式: OpenCode 的 /compact 指令是否靠谱?会丢失关键信息吗?
  3. 替代方案: 如果不压缩上下文,是自己拆分任务吗?有合适的工具或流程吗?
12 条回复  •  2026-08-27 10:56:40 +08:00
ttsh
   1
ttsh  
   8 月 26 日
我目前的做法是

先判断当前对话和上下文是否有关联,没关联丢弃历史对话,只要最新的 message
有关联保留,然后按照对话和 trace 次数来分割,保留前 200 字符
再长就让模型总结当前对话,然后给一个概览

我这个和写代码没关系,是内部平台,比较简单,压缩我感觉是对话里很难的一步
canyue7897
   2
canyue7897  
   8 月 26 日 via iPhone
直接拉满。这玩意儿公司都是自部署的,不用管,直接拉满。
Edisonzzz
   3
Edisonzzz  
   8 月 26 日
你看看 opencode 咋实现 session 无限续的
jonsmith
   5
jonsmith  
OP
   8 月 26 日
opencode 自动触发了 compact ,上下文从 70%降到 50%左右。我就不主动压缩了,先按目前工具默认的行为试试
ykone
   6
ykone  
   8 月 26 日
推荐你用用这个插件 https://github.com/ranxianglei/billion-context-pii ,之前作者也来介绍过,我也是实际用了发现它确实很能解决单个巨型对话的问题,又避免那种一次性压缩的信息丢失
ykone
   7
ykone  
   8 月 26 日
打错字了......https://github.com/ranxianglei/billion-context-pi ,也有其他插件适配
micean
   8
micean  
   8 月 26 日
这种上下文管理的插件多如牛毛了,我用的 https://github.com/cortexkit/magic-context ,压缩和记忆都有
ychost
   9
ychost  
   8 月 26 日
目前只有 codex 的服务端 compact 相对好点,其它都是 PE 压缩,损失很大
mandex
   10
mandex  
   8 月 26 日
让它把任务分给子 Agent
schemesAlot
   11
schemesAlot  
   8 月 26 日
pi 不错,压缩后也有索引,一直在用
mailke
   12
mailke  
   8 月 27 日
上下文基本有缓存,缓存只要 1/10 的价格, 基本不用管了吧
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
© 2026 V2EX · 40ms · 3.9.8.5