Files
ycode/docs/上下文预算与压缩阈值-2026-10-18.md

4.5 KiB
Raw Permalink Blame History

总上下文预算与压缩阈值(2026-10-18)

最新语义

用户订正:模型表单的“上下文”表示输入与输出共用的总窗口;“输出”配置最大输出,输入预算和压缩阈值动态计算。上一轮把500K作为输入、另加128K得出628K的实现已撤销。

  • C:总上下文,500K快捷项为500,000。
  • O:最大输出,128K快捷项为128,000。
  • I = min(C - O, 模型目录原始输入上限):输入预算;没有单独目录上限时取C - O。系统提示词、工具、历史、附件和本轮消息共用该预算。
  • 总上下文与输出各自校验目录上限,输出必须小于总上下文;总窗口不会被加上输出后扩大。

界面为“上下文 / 输出”,下方实时显示可用输入和自动压缩阈值。空值采用自动默认,目录默认输入也扣除输出预留。

原规则与本次调整

本机OMP CLI为18.6.3。只读查询原默认配置:固定/百分比阈值均为-1,reserveTokens未设置,自动压缩与回合内检查开启,keepRecentTokens=20000。

同版本压缩源码确认:默认预留为max(floor(C × 15%), 16384),阈值为C - 预留,已用上下文严格大于阈值时触发。默认绝对预留对小窗口不可用时,恢复为至少1 token的15%比例预留。

原规则没有自动预留用户配置的完整输出预算。500K总窗口原默认阈值为425K,而128K输出只允许372K输入。本次计算:

P = max(1, floor(C × 15%))
D = max(P, 16384)
如果 D >= C - P,则 D = P  // 小窗口恢复
R = max(D, O, C - I)
T = C - R

R是内核预留,T是压缩阈值。常规窗口可写为T = min(I, C - max(floor(C × 15%), 16384))。

总上下文 输出 可用输入 压缩阈值
500,000 128,000 372,000 372,000
500,000 64,000 436,000 425,000
1,050,000 128,000 922,000 892,500
8,192 1,234 6,958 6,958

第三行按GPT-6.1 Sol目录上限。keepRecentTokens是压缩时保留近期消息的预算,不从阈值中重复扣除。默认异步压缩可提前预计算,提前量为clamp(T × 0.125, 8192, 32000);500K/128K约从340K开始后台准备,正式阈值仍是372K,见同版本文档。

实施与验证

  • src/shared/model-token-limits.ts统一预算;src/shared/models.ts增加tokenBudgetVersion: 2,标识总窗口权威、输入派生。
  • src/main/models.ts保存/运行时共用计算。旧配置原第一项迁移为总窗口,丢弃隐藏相加值;列表读取不改文件或密钥,保存后带版本,重载不重复扣除输出。
  • src/shared/model-metadata.ts从默认总窗口扣除默认输出,保留原始上限与完整价格档。
  • src/main/omp-model.ts写入模型总窗口/输出及独立agent/config.yml,配置预留、固定阈值和百分比回退;src/main/omp.ts通过--config传入。预算参与指纹,进行中的回合保持原快照。
  • src/renderer/src/components/ModelSettingsPanel.tsx接两字段、实时预算说明、500K/128K选项及整数校验。

完整构建与类型检查通过(.tmp/context-total-build.log);元数据/预算13项、目录边界和小窗口通过(.tmp/context-total-metadata.log);注册/旧628K记录迁移/冷加载/无效写入保护通过(.tmp/context-total-registry.log)。OMP取消/错误、持久化、用量回归通过(.tmp/context-total-omp.log、.tmp/context-total-persistence.log、.tmp/context-total-usage.log)。原生多协议14项通过(.tmp/context-total-protocols.log)。

真实模型能力22项通过(.tmp/model-capabilities-M077wK/report.json)。真实隔离生产应用104项通过、0 renderer错误(.tmp/custom-model-settings-oHMHAB/report.json):安装OMP配置读取返回372,000阈值,profile总窗口500,000,实际请求输出128,000,用量分母500,000。实时切换输出、表单重开和越界保护均通过;已查看custom-editor-500k-128k-light.png。

验收使用短提示与本地受控上游,没有向收费服务发送500K正文,尚未完成真实长上下文跨阈值压缩产物验收。备用HTTP路径没有OMP完整自动压缩,本次只统一其预算与请求上限。未采集WorkBuddy或新增1:1结论,未重启用户窗口、未修改其模型数据;完整重启后加载本轮代码。