上下文压缩
wesgine 上下文管理:Assembler、Overlays、压缩管线与信息保全策略。
上下文组装器(Assembler)
Assembler 负责将各源信息组装成 LLM 的输入上下文。
信息来源
| 来源 | 注入方式 |
|---|---|
| System Prompt | 固定前缀 |
| SessionState | 上轮 Settlement 产出 |
| Memory(Eager) | 系统提示词索引(5 个 arm) |
| Memory(Lazy) | 当轮 overlay(3 个 arm) |
| Memory(Cold-start) | 跨会话摘要重放(1 个 arm) |
| 工具 Schema | 全量注入 |
| 对话历史 | 消息序列 |
压缩管线(CompressPipeline)
当上下文超过经济预算窗口时触发压缩。
压缩策略
| 策略 | 说明 |
|---|---|
| MidRunHandoff | Run 中认知交班——首选 |
| MechanicalFallback | 确定性 fallback——丢弃前提取 tool evidence |
信息保全原则(INV-CTX-44)
信息保全首选认知交班(MidRunHandoff / CognitiveSettlement)。
交班不可用或失败时,机械压缩提供确定性 fallback。
不是"纯容量、保全由 SessionState 独占"。
MidRunHandoff
Run 中途上下文快满时的认知交班。
上下文接近预算
↓
触发 MidRunHandoff
↓
主模型产出 SessionState 快照
↓
丢弃旧消息
↓
注入 SessionState + tool evidence
↓
继续 Run
与 CognitiveSettlement 的关系
- MidRunCompression 与 EndOfRunSettlement 使用相同 SessionState schema(INV-CTX-45)
- 两者互补:Mid-run 保中间态,End-of-run 保终态
机械压缩 Fallback
当认知交班不可用时:
ExtractToolEvidence:从即将丢弃的消息中提取工具调用证据- 注入 Pinned system message
- 丢弃旧消息
保证:即使认知判断失败,工具执行的事实性结果不丢。
Overlays
三种 Memory 自动注入面:
| 面 | 时机 | 门控 |
|---|---|---|
| Eager Index | 系统提示词构建时 | EagerCarriesRow + ActorVisible |
| Lazy Overlay | 当轮消息处理时 | LazyCarriesRow + EntryVisible |
| Cold-start Overlay | 新/短会话首轮 | ColdStartCarriesRow + ActorVisible |
质量门(RecallQualityOK)
所有自动注入面共用 RecallQualityOK 单点:
Conflicted=true→ 排除stale(30+ 天零召回) → 排除IsGCExempt()→ 惰性通过
经济预算窗口
引擎不含 LLM 模型 catalog(INV-DS-01)。
未配 ContextWindow 时使用 DefaultEconomicWindow 并 Warn。
模型市场数据由 weisyn.ProviderCatalog() 管理。
相关文档
- 认知结算 →
cognitive-settlement.md - Memory 层模型 →
memory-layer-model.md - Provider 系统 →
provider-system.md