Skip to content

fix(core): improve context compaction robustness - #385

Merged
qorzj merged 2 commits into
mainfrom
improve-compact-robustness
Oct 26, 2026
Merged

qorzj merged 2 commits into
mainfrom
improve-compact-robustness

Conversation

@qorzj

@qorzj qorzj commented Oct 26, 2026 •

Copy link
Copy Markdown
Collaborator

长会话中的图片、reasoning 和工具结果会使原有 JSONL 摘要请求膨胀;旧摘要还会累积,导致压缩失败或反复触发。本次采用 DSH 极简模式的原文 prompt 和原生消息摘要,并为请求与压缩过程增加预算检查和有限恢复。

  • 按当前请求估算上下文、按 token 预算选取历史,并保持工具调用与结果配对。历史中断调用在对话恢复后可以参与压缩。
  • 合并旧摘要;只提交完整且确实缩小上下文的摘要,保留原始会话记录。
  • 保留多模态图片;明确触及图片限制时省略最旧图片并持久化引用。正常请求和摘要请求共用 Files API 及失效引用恢复逻辑。
  • 默认自动压缩阈值调整为窗口的 80%,同时预留输出空间;显式配置继续生效。无法安全压缩时保留历史并报错,暂不实现单条巨大输入的分块摘要。

验证:

  • 压缩与消息转换测试:47 项通过。
  • 会话压缩测试:3 项通过。
  • Core 类型检查、修改代码的 ESLint / Prettier 检查及 git diff --check 通过。
  • 未进行真实模型端到端验证。

关联:#378、#382、#383、#344、#269。

@qorzj
qorzj merged commit 204dd20 into main Oct 26, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant