上下文组装
wescode 的上下文组装:CKG 片段、编辑器状态与文件卡片。
信息源
上下文组装将多种信息源合入模型输入:
| 信息源 | 来源 | 注入方式 |
|---|---|---|
| System Prompt | 固定模板 + 技能指令 | 系统消息 |
| SessionState | CognitiveSettlement 产出 | 系统消息历史段 |
| Memory | 记忆多层召回 | 系统消息 / overlay |
| Tool Schema | 当前可用工具定义 | tools 参数 |
| CKG 片段 | 代码知识图谱检索 | ContextSnapshotBar |
| 编辑器状态 | 焦点文件 / 光标位置 | Host.Editor() 注入 |
| 对话历史 | 当前会话消息 | messages 参数 |
CKG 上下文注入
代码知识图谱(CKG)为 AI 提供项目结构信息:
注入内容
- 当前文件的调用图(callers / callees)
- 相关符号定义
- 项目约束(CSE 约束满足引擎产出)
注入时机
- 每次 Run 开始时组装
ContextSnapshotBar展示引擎召回的代码片段- 不回放用户
@引用(那留在用户气泡里)
文件卡片
file_card 是可重生资源——按需重读最新内容:
- 首次注入完整内容
- 上下文压缩时标记为"可重生"
- 需要时从磁盘重读最新版本
- 不计入历史消息的永久负载
编辑器状态注入
通过 CellSpec.HostEnvironment 透明注入:
| 状态 | 内容 |
|---|---|
| 焦点文件 | 当前编辑器打开的文件路径 |
| 光标位置 | 行号和列号 |
| 选中内容 | 用户选中的代码片段 |
| Dirty buffers | 未保存的编辑器内容 |
LLM 看到标准 read / exec 工具——编辑器状态通过 Host 透明增强。
压缩策略
当上下文超出模型窗口时的处理优先级:
- 认知交班(MidRunHandoff):首选
- 机械压缩(MechanicalFallback):确定性 fallback
- 丢弃前提取 tool evidence 注入 Pinned system message
相关文档
- CKG 代码知识图谱 →
ckg.md - Buffer Overlay →
edit-engine.md - Device Agent →
device-engine.md - engine 上下文压缩 → engine
context-compression.md