记忆命名空间寻址

wesgine 的记忆系统使用命名空间(Namespace)对条目进行逻辑分区,实现 Agent 级隔离和话题组织。


命名空间层次

Cell (物理隔离,表内无 cell_id)
 └── Scope (存储分区)
      └── Namespace (逻辑分区)
           └── Actor (归属)
                └── Key (去重键)

命名空间类型

函数格式用途
AgentNS(agentID)agent://{agentID}Agent 角色记忆(L4)
SessionNS(sessionID)session://{sessionID}会话临时记忆
UserNS(actor)u:{actor}个人记忆(L3 about_me)
CellNS()已删除曾用于迁移,已移除

命名空间寻址规则

Agent 命名空间

Session 命名空间

用户命名空间


行身份组成

记忆条目的唯一性由四元组决定:

(scope, namespace, actor, key)

同一四元组的写入触发 upsert(更新而非新增)。


反模式

禁止正确做法
把 actor 编进 namespace 前缀(u:alice/agent://X)actor 是独立列(INV-MEM-48)
AgentNS("") — 空字符串 agentID引擎拒绝(ErrLayerNamespaceRequired)
用 RawNS 绕过类型化函数使用 AgentNS / SessionNS / UserNS
在 namespace 里编码业务语义(如 agent://legal-2024Q3)namespace 只做路由,业务语义放 metadata

相关文档