记忆数据模型
核心对象
MemoryItem(稳定记忆条目)
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
id | string | 自动 | mem_ 前缀唯一标识 |
content | string | ✓ | 记忆内容,建议 ≤ 2000 字 |
memoryType | string | ✓ | 分类标签(project_rule, user_preference, domain_fact…) |
semantic_key | string | 推荐 | 语义唯一键,用于去重 |
importance | float | 推荐 | 重要性 0–1,影响召回权重 |
scope | object | ✓ | 访问范围控制 |
status | enum | 自动 | active / archived / invalid / deleted |
hasConflict | boolean | 自动 | Judge 检测到语义冲突时置 true |
version | int | 自动 | 每次更新递增 |
agentId | string | — | 写入来源的 Agent 标识 |
HistoryRecord(历史记录条目)
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
id | string | 自动 | rec_ 前缀唯一标识 |
content | string | ✓ | 记录内容 |
recordKind | enum | ✓ | task_summary / decision / error_record / progress_note |
scope | object | ✓ | 访问范围控制 |
agentId | string | — | 写入来源 |
Scope(范围控制)
{
"userId": "u_123", // 由服务端校验,不可伪造
"projectId": "p_demo", // 项目隔离
"agentId": "optional" // Agent 级隔离(可选)
}
RecallContextBlock(召回结果块)
{
"stableMemories": [ /* MemoryItem 列表 */ ],
"historyRecords": [ /* HistoryRecord 列表 */ ],
"conflicts": [ /* 有冲突的 MemoryItem */ ],
"tokenEstimate": 1420,
"truncated": false,
"freshnessWarnings": []
}
状态流转
active ──→ archived ──→ active (restore)
──→ invalid ──→ active (restore)
──→ deleted (不可还原)
memoryType 推荐分类
| 分类 | 说明 | 示例 |
|---|---|---|
project_rule | 项目规范 | "API 统一返回结构" |
user_preference | 用户偏好 | "优先使用 Java 示例" |
domain_fact | 领域知识 | "pgvector 支持 HNSW 索引" |
decision | 技术决策 | "放弃 JWT,改用 Session" |
constraint | 约束条件 | "生产环境不允许 DDL 变更" |
workflow | 工作流程 | "PR 必须通过两人审核" |