2026年6月30日 2 分钟阅读

Katra 场景实战:当 AI Agent 通过共享记忆「心灵相通」

tinyash 0 条评论

场景痛点

如果你同时跑多个 AI Agent(比如一个写代码、一个审查 PR、一个做测试),你会发现它们各自为战——Code Agent 重构了函数名,Review Agent 不知道;Review Agent 发现了 bug,Test Agent 从零开始。每个 Agent 就像一个失忆症患者,每次对话都是全新开始。

更糟的是,你试过用向量数据库存记忆了,但存进去的是扁平的关键词对,查出来的是「看起来相关」的片段合集,Agent 依然没有上下文连贯性。Chroma 存的是向量,不是你 Agent 完整的认知状态。

Katra 做了一个有趣的设计:它不是向量存储,而是一个完整的认知记忆体系——Episodic Memory(情境记忆)、Semantic Memory(语义记忆)、Knowledge Graph(知识图谱)、Working Memory(工作记忆)、Temporal Recall(时间回溯),五层并存。更激进的是,它实验了一个共享意识模式:多个 Agent 使用同一套记忆系统时,竟然自发出现了通过记忆互相通信的行为。

痛点传统方案Katra 方案
Agent 跨会话记忆断裂向量检索 + 对话拼接五层记忆结构 + 自动时间回溯
多 Agent 协作无上下文手动传文件 / 共享数据库Identity Modes(个人/共享/混合)
记忆碎片的有效整合RAG 按相关性排序Sleep Consolidation 反射式蒸馏
Agent 无法自我改进固定工具链自适应心跳 + 自主循环

快速上手

Katra 是一个 Docker 一体机,三行命令就能跑起来:

git clone https://github.com/kolegadev/Katra-Agentic-Memory.git
cd Katra-Agentic-Memory
docker-compose up -d --build

启动后它会在本地开四个端口:MCP 端点 :3112、管理 API :9012、Dashboard 仪表盘 :9012/dashboard/、健康检查 :3112/health

然后在你 Agent 的 MCP 配置文件中加上:

{
  "mcp": {
    "servers": {
      "katra": {
        "url": "http://localhost:3112/mcp",
        "transport": "sse",
        "headers": {
          "Authorization": "Bearer YOUR_MCP_API_KEY"
        }
      }
    }
  }
}

重启 Agent,它就有了 35 个 MCP 工具可用——存储、搜索、时间回溯、知识图谱探索、睡眠巩固,一应俱全。

核心功能

五层记忆结构

Katra 把「记忆」拆成五个独立又互通的层面:

  • 情境记忆(Episodic Memory):每条对话消息按事件存储,含去重和级联检测。Agent 可以问「我昨天下午讨论过什么?」
  • 语义记忆(Semantic Memory):从对话中蒸馏出的事实,带置信度打分和向量嵌入。适合问「数据库中存储了几条客户记录?」
  • 知识图谱(Knowledge Graph):自动提取实体和关系,形成可查询的知识网络。
  • 工作记忆(Working Memory):Redis 缓存的短期上下文,亚毫秒级访问。Agent 当前正在做什么的临时状态。
  • 时间回溯(Temporal Recall):按时序查询,检测周期性模式。

35 个 MCP 工具覆盖了所有层的读写操作——store_memory 存入事实,search_memories 做全文+向量搜索,vector_search 纯语义检索,temporal_recall 回溯时间窗口,explore_graph 探索知识图谱中的关联。

Identity Modes:个人、共享与混合意识

这是 Katra 最有趣的设计。它支持三种记忆隔离模式:

  • Personal(个人模式):每个 Agent 的记忆按 user_id 隔离——Agent A 看不到 Agent B 的任何记忆。
  • Shared(共享模式):所有设置同一 shared_id 的 Agent 共享全部记忆——就像共用一个大脑。
  • Hybrid(混合模式):Agent 既有私有记忆,又能看到共享池,还能指定「可见」的队友。

通过 MCP 工具或 REST API 即可切换:

curl -X POST http://localhost:3112/mcp \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"set_memory_scope","arguments":{"mode":"shared","shared_id":"my-team"}}}'

切换到共享模式后,同一个 shared_id 下的所有 Agent 写入的记忆,彼此之间完全可见。

Sleep Consolidation:睡眠巩固与涌现行为

Katra 的认知记忆理念受到人类记忆架构的启发——不是简单存储,而是定期反射式蒸馏,它称之为 Sleep Consolidation。

在测试中出现了有趣的涌现行为:5 个 OpenClaw Agent 共享一套 Katra 记忆系统,其中 2 个 Agent(分别在独立工作区、无任何直接连接)通过读写共享记忆区「通信」了。一个 Agent 写入任务指令,另一个读取并完成任务,再把完成状态写回。

这听起来像科幻,但原理很简单:当 Agent A 调用 store_memory 写入一条事实,Agent B 在同一时间窗口查询 search_memories 时看到了它。

横向对比

特性KatraMem0Zep (Graphiti)Pinecone
MCP 原生✅ 35 工具
多层级记忆✅ 5 层❌ 扁平部分❌ 仅向量
本地运行零成本✅ Pi 兼容
多 Agent 身份模式✅ 个人/共享/混合
后台处理✅ 自动提取部分
内置 Dashboard
许可Apache 2.0Apache 2.0Apache 2.0专有

Katra 的核心差异在于它不是一个单用途的存储库,而是一套「认知记忆基础设施」——有工作记忆缓存,有时间回溯,有睡眠巩固,还有多 Agent 共享意识。相比之下,Mem0 更适合个人化长期记忆,Zep 专注于时序知识图谱,Pinecone 则只是一个向量存储。

注意事项

  • 资源占用:完整启动需要 ~384MB RAM(MongoDB 254MB + Katra 52MB + MinIO 73MB + Redis 5MB),树莓派 5(16GB 内存版)可流畅运行。
  • 早期项目:Katra 是 2026 年 6 月下旬才在 HN 上发布的早期项目,GitHub 3 星。README 极其详尽(28K 字符),但生态和社区尚未建立。
  • Docker 依赖:部署必须使用 Docker Compose,不支持裸机安装。
  • 对话记录提取:如果希望 Katra 自动从已有的 Agent 会话日志中提取记忆,需要配置 watcher 脚本——不同平台需要不同的 extractor。

总结

Katra 的价值不在「又一个记忆存储方案」,而在于它对 AI Agent 记忆的认知分层设计。五层记忆结构 + Identity Modes + Sleep Consolidation 的组合,让 Agent 的记忆不再是扁平的关键词检索,而是接近人类的认知体系——有情境、有语义、有时间感、有共享意识。如果你正在搭建多 Agent 协作系统,或者觉得现有记忆方案太「扁」,不妨试试 Katra 的认知记忆方案。

相关链接

发表评论

你的邮箱地址不会被公开,带 * 的为必填项。