4.5 KiB
总上下文预算与压缩阈值(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结论,未重启用户窗口、未修改其模型数据;完整重启后加载本轮代码。