Agent Memory Platform
创建时间: 2026-05-12 来源: 用户关于构建 Alma-like agent 工具的设计讨论 相关: OpenClaw,Managed-Agents,Harness-Engineering,Agent-Native-Infrastructure,Minimal-Agent-Architecture
定位
Agent Memory Platform 是给 AI agent 提供长期记忆、人格/工作风格配置、上下文检索和工具运行时接入的基础设施层。它本身不一定是一个完整 agent,而更像 agent 的外置大脑:把用户、项目、决策、偏好、工作流和历史事件结构化保存,并在未来任务中按需取回。
一句话:不要先做一个更会聊天的机器人;先做一个可恢复、可审计、可控制的记忆与上下文层。
核心能力
1. 分层长期记忆
记忆不应只是向量库里的聊天片段,而要至少分为五层:
| 层级 | 内容 | 用途 |
|---|---|---|
| Fact memory | 用户、项目、账户、偏好等稳定事实 | 回答“我是谁/项目是什么” |
| Episodic memory | 会话摘要、关键事件、决策过程 | 恢复上下文与追溯历史 |
| Procedural memory | 可复用流程、操作习惯、任务模板 | 让 agent 越用越懂怎么做事 |
| Preference memory | 语气、格式、审美、取舍标准 | 个性化输出 |
| Identity / Persona | agent 的角色、边界、反模式 | 保持行为一致性 |
核心不是“记住更多”,而是知道什么记忆在什么场景该被调用。
2. 记忆生命周期管理
必须支持记忆的创建、确认、合并、衰减、冲突检测和删除:
- 自动提取候选记忆,但高风险记忆需要用户确认。
- 同类记忆要合并,避免“同一个偏好写十遍”。
- 时间敏感事实要带
valid_from/valid_until或置信度衰减。 - 冲突记忆不能直接覆盖,要保留来源和时间。
- 用户必须能查看、编辑、冻结、删除记忆。
3. Context 编排
平台的核心运行时是 context composer:
- 接收当前任务、用户输入、会话状态。
- 检索相关事实、事件、流程和偏好。
- 重排为模型可读的上下文包。
- 控制 token 预算,避免把所有记忆塞进 prompt。
- 记录这次上下文由哪些记忆构成,方便调试。
这与 Managed-Agents 的观点一致:session 只负责持久化完整历史;上下文策略应放在可替换的 harness 层。
4. Agent 可接入接口
产品需要同时服务人类和 agent:
- API:读写记忆、搜索记忆、更新会话、获取 context pack。
- MCP server:让 Claude/Codex/Cursor 等 agent 直接调用。
- SDK:TypeScript/Python 优先。
- Web dashboard:给人类审计和编辑记忆。
- Webhook / event stream:把外部事件写入记忆流。
如果只做 UI,它是笔记软件;如果只做 API,它是基础设施。真正的 Alma-like 工具应把两者连起来。
5. 安全与权限边界
记忆系统比普通工具更敏感,因为它保存的是用户长期画像。最低要求:
- 记忆按 workspace / user / agent / project 隔离。
- 每条记忆有来源、创建者、置信度和可见范围。
- agent 调用记忆时只能拿到任务相关最小上下文。
- 凭证进入 vault,不进入 sandbox 或模型上下文。
- 支持审计日志:谁在什么时候读/写/删除了什么。
参考架构
Client / Agent
├─ Web App
├─ MCP Server
├─ SDK / API
└─ Browser / IDE Extension
Gateway
├─ Auth / Workspace Scope
├─ Rate Limit
└─ Policy Guard
Memory Runtime
├─ Ingestion Pipeline
│ ├─ event capture
│ ├─ memory extraction
│ ├─ dedupe / merge
│ └─ human confirmation
├─ Retrieval Engine
│ ├─ keyword search
│ ├─ vector search
│ ├─ graph traversal
│ └─ recency / authority ranking
├─ Context Composer
│ ├─ task intent detection
│ ├─ memory selection
│ ├─ token budgeting
│ └─ context pack generation
└─ Reflection Jobs
├─ session summarization
├─ conflict detection
├─ stale memory review
└─ procedure learning
Storage
├─ Event log: append-only raw history
├─ Relational DB: canonical memories and permissions
├─ Vector DB: semantic retrieval
├─ Graph DB or edge table: entity relationships
└─ Object store: transcripts, files, artifacts
数据模型
最小可行模型:
type Memory = {
id: string
workspaceId: string
subjectId: string
type: "fact" | "episode" | "procedure" | "preference" | "identity"
content: string
sourceEventIds: string[]
confidence: number
visibility: "private" | "workspace" | "agent"
status: "candidate" | "confirmed" | "archived" | "rejected"
validFrom?: string
validUntil?: string
createdAt: string
updatedAt: string
}更重要的是 sourceEventIds:每条记忆都必须能追溯到原始事件,否则记忆系统会变成不可审计的幻觉放大器。
MVP 范围
第一版只做三件事:
- 会话→记忆:从对话中提取候选记忆,用户一键确认/拒绝。
- 记忆→上下文:给 agent 提供
get_context(task),返回可直接注入 prompt 的 context pack。 - 记忆控制台:人类可以查看、编辑、删除、合并记忆。
不要一开始做复杂多 agent 编排。先证明:同一个 agent 跨 10 次会话后,确实更懂用户和项目,并且用户能控制它记住了什么。
与现有 wiki 页面的关系
- OpenClaw 提供“分层记忆 + context 编排可以放大模型能力”的产品逻辑。
- Managed-Agents 提供“session 作为外部持久化上下文对象”的底层架构。
- Harness-Engineering 提供“结构化交接、生成与评估分离、约束作为倍增器”的运行原则。
- Agent-Native-Infrastructure 提供“API/MCP/SDK 应面向 agent 而非只面向人”的接口设计原则。
参考资料
- Alma by OlivaresAI:长期记忆、episodes、procedures、persona / soul 配置
- OpenClaw
- Managed-Agents
- Harness-Engineering
- Agent-Native-Infrastructure