记忆 Eager 注入(系统提示词索引)

Eager 注入是 wesgine 三层记忆自动注入中的第一层——在系统提示词构建阶段就将高优先级记忆条目嵌入到 Agent 的指令中。


定位

Eager 注入面向必须在每轮都出现的核心记忆,无论用户这轮问了什么。

典型内容:


注入位置

系统提示词
├── Agent Prompt(固定文本)
├── ★ Eager Memory Overlay(高优先级记忆)
├── Skill 指令
├── 工具列表
└── 治理声明

Eager 内容嵌入在系统提示词的特定位置,对模型来说是"基础设定"的一部分。


EagerCarriesRow 白名单

Eager 层携带的条目由 EagerCarriesRow 判定:

ScopeKind是否携带
ScopeSystemenvironment✅
ScopeGlobal(无 actor)constraint / instruction✅(部门级约束)
ScopeGlobal(有 actor)constraint / instruction✅(个人约束)
ScopeAgent + agentNSconstraint / instruction✅(角色级约束)
ScopeAgent + sharedconstraint❌(停在 shared 里的 Constraint 不被注入)
其他*❌

5 个 arm

Eager 层内部有 5 个注入臂(arm),每个 arm 对应一个 (scope, namespace) 组合:

  1. ScopeSystem 全局环境
  2. ScopeGlobal 无 actor(部门共识的约束/指令)
  3. ScopeGlobal 有 actor(个人约束/指令)
  4. ScopeAgent + agent 命名空间(角色级约束/指令)
  5. ScopeAgent + shared 子命名空间(仅特定 Kind)

可见性与质量

每个 arm 都经过两道过滤:

  1. ActorVisible:确保带 actor 标签的条目属于当前 actor
  2. RecallQualityOK:排除 Conflicted=true 或 stale=true 的条目

对 GC 豁免的 Kind(constraint、instruction、environment),RecallQualityOK 门控是惰性的——这些 Kind 不会被标记 stale,所以实际上总是通过。


与 Prompt Cache 的关系

Eager 内容在会话生命周期内尽量保持稳定,以维护 prompt cache 命中率。当 Eager 内容发生变化(如新增约束)时,缓存失效。


不变量

INV-MEM-50:Eager 的 5 个 arm 都必须经过 RecallQualityOK 质量门控。


相关文档