agentmemory 与 Hindsight 长期记忆选型评估
长期主链路建议继续选 Hindsight,不要把 rohitg00/agentmemory 替换成主记忆系统。
长期主链路建议继续选 Hindsight,不要把 rohitg00/agentmemory 替换成主记忆系统。
暂不改当前 memory.provider,继续 Hindsight。
项目很新:2026-02 创建,仍在 0.x 快速演化。
关键判断
| 判断项 | 摘要 |
|---|---|
| 推荐方案 | 长期主系统继续选 Hindsight。 |
| 关键依据 | 见完整记录中的评分依据、状态摘要和证据链。 |
| 落地方式 | 暂不改当前 memory.provider,继续 Hindsight。 |
| 风险边界 | 项目很新:2026-02 创建,仍在 0.x 快速演化。 |
证据摘要
- 由 Hermes 会话生成。证据点 1
- 如涉及外部事实,应在正文中保留来源或验证路径。证据点 2
行动清单
memory.provider,继续 Hindsight。Watch + Sidecar Trial,不进入主链。边界 / 风险
项目很新:2026-02 创建,仍在 0.x 快速演化。
open issues 多:185 个。
npm 依赖存在 warning 信号,包括 peer dependency 与 deprecated 包。
Hermes 集成近期还在修 AGENTMEMORY_URL 默认值问题,说明边界还没完全稳定。
53/43 MCP tools 可能污染工具面,增加 prompt/tool schema 负担。
若开启 context injection,可能和 Hindsight auto recall、LCM、Feishu long guard 形成重复注入。
完整记录
agentmemory 与 Hindsight 长期记忆方案选型评估
结论
长期主链路建议继续选 Hindsight,不要把 rohitg00/agentmemory 替换成主记忆系统。
agentmemory 值得关注,甚至可以做一个隔离 sidecar 试验,但它更适合补“coding agent 运行时记忆 / MCP 多 agent 共享 / 本地轻部署体验”,不适合接管我们现在的长期知识治理主层。
推荐决策:Watch + Sidecar Trial,不 Core Merge,不替换 Hindsight。
一句话判断
- Hindsight:更像长期知识治理与记忆事实层,适合 Hermes 当前的 retain pointer、decision trace、wiki 归档、graph/entity/document 治理。
- agentmemory:更像面向 coding agent 的本地 memory daemon + MCP toolset + hook 集成包,工程包装很强,但项目仍年轻、API/依赖/生态波动大,适合作为旁路实验。
项目定位
agentmemory 是什么
目标仓库:https://github.com/rohitg00/agentmemory
根据 GitHub API 与 README,agentmemory 是一个 TypeScript / Node 项目,npm 包名为 @agentmemory/agentmemory,提供:
- 本地 memory server,默认端口
3111 - 独立实时 viewer,文档提到端口
3113 - MCP server 包:
@agentmemory/mcp - REST API
- 面向 Claude Code、Codex、Cursor、Gemini CLI、OpenCode、Hermes、OpenClaw 等 coding agent 的 hook / plugin / MCP 集成
- hybrid search:BM25 + vector + graph
- memory versioning、decay、auto-forget、Obsidian export、real-time viewer 等包装能力
项目 README 宣称:
- 95.2% retrieval R@5
- 92% fewer tokens
- 53 MCP tools / 集成文档里对 Hermes 写 43 MCP tools
- 12 auto hooks
- 0 external DBs
- 950+ tests passing
这些指标来自项目自带 benchmark 和 README,不应直接等同于我们生产链路上的结果。
Hindsight 是什么
当前 Hermes 已使用 Hindsight 作为 memory provider:
~/.hermes/config.yaml:memory.provider: hindsight- 本机 HTTP API:
http://localhost:8889 - 健康检查:
/health返回{"status":"healthy","database":"connected"} - API version:
0.6.2 - 当前 bank:
hermes - 当前统计:
total_nodes: 3283total_links: 81419total_documents: 167total_observations: 1588pending_operations: 0failed_operations: 0- tags 包括
decision-trace/hermes/html-archive/wiki-index
Hindsight plugin README 定位:
- long-term memory
- knowledge graph
- entity resolution
- multi-strategy retrieval
- 支持 cloud、local embedded、local external
- 工具:
hindsight_retain、hindsight_recall、hindsight_reflect - 支持自动 retain、自动 recall、bank template、tags filter、memory_mode hybrid/context/tools
当前我们实际用它承载:
- session-end retain
- decision trace retain pointer
- wiki/HTML 指针索引
- 长期方案回捞入口
- knowledge graph / document / tag 层治理
证据摘要
agentmemory 官方与维护信号
GitHub API 读取到:
- repo 创建时间:2026-02-25
- 最近 push:2026-05-25
- star:17680
- fork:1447
- open issues:185
- license:Apache-2.0
- language:TypeScript
- topics 包括
hermes、openclaw、memory、agents、claude、codex
npm registry:
@agentmemory/agentmemorylatest:0.9.21- npm modified:2026-05-19
- versions:41 个版本
- Node engine:
>=20.0.0 - direct dependencies:
@anthropic-ai/claude-agent-sdk、@anthropic-ai/sdk、@clack/prompts、dotenv、iii-sdk、zod - optional dependencies:
@node-rs/jieba、@xenova/transformers、onnxruntime-node、onnxruntime-web、tiny-segmenter
最近 commit 里有专门修 Hermes 集成的问题:
fix(hermes): seed AGENTMEMORY_URL default at import (closes #520) (#643)- 说明它已经在尝试兼容 Hermes,但也说明 Hermes 集成仍处在快速修补期。
open issue 里看到安装警告:
- npm peer dependency warning:
@anthropic-ai/claude-agent-sdk需要@anthropic-ai/sdk >=0.93.0,但包内存在@anthropic-ai/sdk ^0.39.0 prebuild-installdeprecated- 这不一定阻断使用,但对生产长期依赖是风险信号。
agentmemory 实现面
从源码与文档看,核心结构包括:
StateKV/ KV schema:sessions、observations、memories、summaries、embeddings、bm25Index、relations、profiles、graphNodes、graphEdges、semantic、procedural、teamShared、audit、actions、leases、checkpoints、lessons、retentionScores、accessLog、slots 等。mem::observe:捕捉 session observation,支持隐私过滤、去重、写 KV、合成压缩、索引。mem::remember:写长期 memory,支持 supersede、TTL、BM25/vector 索引。mem::search:BM25 + vector 索引,支持 token budget、compact/narrative/full 格式。mem::context:按 token budget 生成<agentmemory-context>注入块。mem::consolidate:用 LLM 把 observation 合成长期 memory。
配置面:
- 数据目录默认
~/.agentmemory - REST port 默认
3111 - stream port 默认
3112 - viewer 文档提到
3113 AGENTMEMORY_AUTO_COMPRESS默认关闭,打开后会增加 LLM token 消耗AGENTMEMORY_INJECT_CONTEXT默认关闭,避免每次 tool turn 注入上下文导致 token burn- embedding 可用本地默认或 OpenAI/Voyage/Cohere/OpenRouter/Gemini 等
这个设计对 coding-agent runtime 很有吸引力,因为它更贴近工具调用流、session observation、MCP 工具面和多 agent 共享。
Hindsight 当前实现面
Hindsight 在 Hermes 内是正式 memory provider,不只是 MCP 外挂:
- provider 配置已经进入
memory.provider: hindsight - Hindsight API 服务独立运行在
127.0.0.1:8889 - PostgreSQL 实例独立运行,当前数据库 connected
- OpenAPI 包含:banks、memories、recall、reflect、graph、entities、documents、tags、operations、profile、config、import/export、audit logs、webhooks 等
- 当前 bank stats 无 pending/failed operation,说明运行态健康
它和我们已有治理体系耦合点更成熟:
decision_trace_publish.py --retain写入 compact pointer- tag 体系已经形成
decision-trace/html-archive/wiki-index - 用户偏好的“HTML + wiki + retain”流程已经验证并运行
- MEMORY.md / USER.md / session_search / exact recall / wiki / skills 分层已经围绕它形成边界
对比矩阵
| 维度 | Hindsight | agentmemory | 判断 |
|---|---|---|---|
| 当前落地状态 | 已运行,bank 有 3283 nodes / 167 docs / 81419 links | 未接入本机生产链 | Hindsight 赢 |
| Hermes 集成深度 | 官方 memory provider,直接参与 retain/recall/reflect | 项目自带 Hermes plugin/MCP,但本仓未内置 | Hindsight 稳 |
| 长期知识治理 | graph/entity/document/tags/operations/audit 更完整 | 更偏 observation/session/memory daemon | Hindsight 更贴近长期治理 |
| Coding agent runtime | 可用,但不是专为 coding hooks 打包 | 强项:hooks/MCP/多 agent/session observation | agentmemory 赢 |
| 部署复杂度 | 已经有本机服务 + Postgres;复杂但稳定 | npm/npx 起步快,0 external DB 宣称 | agentmemory 体验轻 |
| 依赖风险 | Python + Postgres + Hindsight API;当前已托管 | Node >=20,npm 依赖、optional onnx/transformers、peer warning | Hindsight 对当前更低风险 |
| 数据可治理 | bank/doc/tags/export/import/audit 明确 | KV schema 多、功能很丰富,但仍快速演化 | Hindsight 更稳 |
| 生态成熟度 | 当前 Hermes 插件已在本地跑通 | repo 热度高但创建于 2026-02,0.x 快速迭代 | Hindsight 更适合作主链 |
| Exact recall 替代 | 不替代 session_search_exact | 也不应替代 exact recall | 都不能替代 exact recall |
| Wiki/skill 替代 | 不替代,作为 pointer/graph 层 | 不应替代 wiki/skill | 都不替代 |
四层审计
1. 宣称层
agentmemory 宣称很强,尤其是:
- 95.2% R@5
- token savings
- 多 agent / MCP / REST 通用接入
- 0 external DB
- 950+ tests
但它也明确是面向 coding agents 的 persistent memory,而不是长期知识治理唯一真相源。benchmark 主要是 LongMemEval-S、coding-agent-life 等,不等于我们本机 Hermes + Feishu + wiki + decision trace 的长期治理效果。
Hindsight 宣称相对少包装,但 Hermes plugin 文档里的能力更贴近我们现在需要的 long-term memory / graph / entity / reflect / retain。
2. 实现层
agentmemory 实现很丰富,但也复杂:observe、remember、search、context、consolidate、graph、slots、retention、leases、signals、checkpoints、working-memory 等都在一个快速迭代 Node 包里。适合做“agent memory runtime”,但作为唯一长期记忆中心会把故障域扩大到 Node/MCP/iii-engine/npm 生态。
Hindsight 当前实现已经以 HTTP API + Postgres 独立服务方式稳定运行,边界清楚,和 Hermes 的 provider 接口、retain pointer、wiki 流程已经打通。
3. 运行层
Hindsight 当前运行态已经验证:
/healthhealthy- API version
0.6.2 - bank
hermes正常返回 stats - pending/failed operations 均为 0
agentmemory 未在本机跑生产验证。虽然文档说 npx @agentmemory/agentmemory 即可启动,但长期用还要验证:
- systemd --user 托管
- 3111/3112/3113 端口冲突
- npm 依赖和 optional native deps
- MCP 工具数量对 Hermes tool schema/token 的影响
- 是否与现有 Hindsight auto recall 冲突
- 数据 export/import 与备份恢复链
4. 检索与治理层
我们当前的长期治理已经是多层:
- 当前会话上下文:LCM
- 稳定短记忆:USER.md / MEMORY.md
- 跨会话回捞:session_search / exact recall
- 长期知识治理:wiki / skill / Hindsight retain pointer
- 正式论证归档:Decision Trace HTML + wiki + retain
agentmemory 不能直接替代这套分层。它最可能补的是:
- coding agent runtime observation
- MCP/REST 多 agent 共享记忆
- 本地 BM25/vector/context budget sidecar
- 对 Codex/Claude/OpenCode 等外部 agent 的统一 memory bridge
Hindsight 继续承担长期知识治理主层更合理。
三个专项验证结论
静态面 vs 运行面一致性
- Hindsight:静态配置与运行态一致,
memory.provider: hindsight,HTTP API healthy,bank stats 可读。 - agentmemory:静态文档丰富,但本机尚未实际部署;只能判为“可试验”,不能判为“可替换”。
精确回捞能力
两者都不是 exact recall 的替代品。
- 代码路径、hash、UUID、错误字符串、message_id 仍应走
session_search_exact或文件/wiki 精确检索。 - Hindsight/agentmemory 都更适合语义层、关系层、摘要层或 pointer 层。
降级与回退路径
- Hindsight 当前已有降级:wiki 路径、HTML 路径、session_search、exact recall、MEMORY.md/USER.md 都能独立存在。
- agentmemory 如果做 sidecar,也必须只读/旁路接入,不要先开启 prompt 注入,不要替换 Hindsight retain;否则回退会复杂。
主要收益
继续 Hindsight 的收益
- 已经稳定接入 Hermes 主链。
- 与 decision trace、wiki、retain pointer 体系一致。
- API/Graph/Document/Tag/Audit/Operation 能力贴近长期治理。
- 当前运行态健康,已有真实数据资产。
- 不引入新的 Node/npm/MCP 大工具面风险。
引入 agentmemory 作为 sidecar 的潜在收益
- 给 Claude Code / Codex / OpenCode 等 coding agent 提供共享 runtime memory。
- MCP/REST 接入通用性强。
- 本地轻部署体验好,viewer 对观察 memory 流有帮助。
- BM25 + vector + token budget 的 runtime context 注入设计值得参考。
- 它的 Hermes 集成、hooks、benchmark、context budget 设计可部分吸收。
主要风险
agentmemory 风险
- 项目很新:2026-02 创建,仍在 0.x 快速演化。
- open issues 多:185 个。
- npm 依赖存在 warning 信号,包括 peer dependency 与 deprecated 包。
- Hermes 集成近期还在修
AGENTMEMORY_URL默认值问题,说明边界还没完全稳定。 - 53/43 MCP tools 可能污染工具面,增加 prompt/tool schema 负担。
- 若开启 context injection,可能和 Hindsight auto recall、LCM、Feishu long guard 形成重复注入。
- 它的 benchmark 不直接覆盖我们的 Feishu/wiki/decision-trace 长期治理场景。
Hindsight 风险
- 依赖独立 Hindsight API + Postgres,运维复杂度比单 npm daemon 高。
- 对 coding agent hook capture 的产品包装不如 agentmemory。
- 若要跨外部 agent 共享,需要额外桥接,不如 agentmemory 开箱即用。
- 精确串 recall 仍需依赖 session_search_exact,不能过度神化语义记忆。
建议吸收清单
P0:不替换主链,继续 Hindsight
保留当前:
memory.provider: hindsightdecision_trace_publish.py --retain- wiki / HTML / Hindsight pointer
- session_search / exact recall 分层
P1:吸收 agentmemory 的方法,不吸整包
可参考吸收:
- runtime memory context budget 设计
AGENTMEMORY_INJECT_CONTEXT默认关闭这类成本纪律- BM25 + vector + graph 的分层召回评测口径
- coding-agent-life benchmark 思路
- viewer / event stream 作为运行态观测思路
- 多 agent 统一 memory bridge 的拓扑思路
P2:做隔离 sidecar 试验
如果要试,建议只做旁路:
- 新开
agentmemory-sidecar,端口保持3111/3112/3113或显式改端口,避免冲突。 - 不设置
memory.provider: agentmemory。 - 不开启
AGENTMEMORY_INJECT_CONTEXT。 - 先只接 Codex/Claude Code/OpenCode 一类 coding agent,不接 Feishu 主 gateway。
- 只测试 3 件事:
- REST/MCP health
- capture/remember/search 质量
- 与 Hindsight 并行时的 token/schema 成本
不吸收
- 不吸收 agentmemory 作为唯一 memory center。
- 不把 agentmemory 替代 wiki / skill / Hindsight pointer。
- 不把它的 README benchmark 直接当生产选型证据。
- 不把 43/53 MCP tools 全量塞进 Hermes 默认工具面。
最终建议
长期主系统继续选 Hindsight。
agentmemory 的正确位置不是替代 Hindsight,而是候选的 coding-agent runtime memory sidecar。如果后续我们要统一 Claude Code / Codex / OpenCode / OpenClaw 的跨工具运行时记忆,可以安排一次隔离 POC;如果只是问 Hermes 自己长期记忆主链,Hindsight 更稳、更贴近当前治理架构,也已经有真实数据资产和验证链。
下一步动作
- 暂不改当前
memory.provider,继续 Hindsight。 - 把 agentmemory 标记为
Watch + Sidecar Trial,不进入主链。 - 若要试验,单独建一个薄项目/sidecar,用 1 天做隔离评测:安装、健康检查、MCP 工具面、一次 coding session capture、一次 recall 对比。