Agent Memory Platform

创建时间: 2026-05-12 来源: 用户关于构建 Alma-like agent 工具的设计讨论 相关: OpenClawManaged-AgentsHarness-EngineeringAgent-Native-InfrastructureMinimal-Agent-Architecture


定位

Agent Memory Platform 是给 AI agent 提供长期记忆、人格/工作风格配置、上下文检索和工具运行时接入的基础设施层。它本身不一定是一个完整 agent,而更像 agent 的外置大脑:把用户、项目、决策、偏好、工作流和历史事件结构化保存,并在未来任务中按需取回。

一句话:不要先做一个更会聊天的机器人;先做一个可恢复、可审计、可控制的记忆与上下文层。

核心能力

1. 分层长期记忆

记忆不应只是向量库里的聊天片段,而要至少分为五层:

层级内容用途
Fact memory用户、项目、账户、偏好等稳定事实回答“我是谁/项目是什么”
Episodic memory会话摘要、关键事件、决策过程恢复上下文与追溯历史
Procedural memory可复用流程、操作习惯、任务模板让 agent 越用越懂怎么做事
Preference memory语气、格式、审美、取舍标准个性化输出
Identity / Personaagent 的角色、边界、反模式保持行为一致性

核心不是“记住更多”,而是知道什么记忆在什么场景该被调用

2. 记忆生命周期管理

必须支持记忆的创建、确认、合并、衰减、冲突检测和删除:

  • 自动提取候选记忆,但高风险记忆需要用户确认。
  • 同类记忆要合并,避免“同一个偏好写十遍”。
  • 时间敏感事实要带 valid_from / valid_until 或置信度衰减。
  • 冲突记忆不能直接覆盖,要保留来源和时间。
  • 用户必须能查看、编辑、冻结、删除记忆。

3. Context 编排

平台的核心运行时是 context composer:

  1. 接收当前任务、用户输入、会话状态。
  2. 检索相关事实、事件、流程和偏好。
  3. 重排为模型可读的上下文包。
  4. 控制 token 预算,避免把所有记忆塞进 prompt。
  5. 记录这次上下文由哪些记忆构成,方便调试。

这与 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 范围

第一版只做三件事:

  1. 会话→记忆:从对话中提取候选记忆,用户一键确认/拒绝。
  2. 记忆→上下文:给 agent 提供 get_context(task),返回可直接注入 prompt 的 context pack。
  3. 记忆控制台:人类可以查看、编辑、删除、合并记忆。

不要一开始做复杂多 agent 编排。先证明:同一个 agent 跨 10 次会话后,确实更懂用户和项目,并且用户能控制它记住了什么。

与现有 wiki 页面的关系

  • OpenClaw 提供“分层记忆 + context 编排可以放大模型能力”的产品逻辑。
  • Managed-Agents 提供“session 作为外部持久化上下文对象”的底层架构。
  • Harness-Engineering 提供“结构化交接、生成与评估分离、约束作为倍增器”的运行原则。
  • Agent-Native-Infrastructure 提供“API/MCP/SDK 应面向 agent 而非只面向人”的接口设计原则。

参考资料