MCP 之后是记忆Hindsight 正在把 Agent 记忆做成下一代基础设施【免费下载链接】hindsightHindsight: Agent Memory That Learns项目地址: https://gitcode.com/GitHub_Trending/hindsight2/hindsight如果说 2024 年让 Agent 真正跑起来的关键协议是 MCPModel Context Protocol那么过去一年社区里争论最多的问题已经悄然切换Agent 有了工具、有了规划却依然聊完就忘。会话一关上下文归零用户偏好、项目约定、历史决策全部丢失——这正是 OpenAI 应用研究负责人 Lilian Weng 在 Agent 公式里写下的那块拼图Agent LLM 记忆 规划 工具。工具层的标准化问题MCP 已经给出答案而记忆层能否复制同样的路径——用一套标准协议把记忆能力从各家自研的库变成即插即用的服务——正在成为下一轮基础设施之争的焦点。Vectorize.io 开源的 Hindsight仓库内项目描述为 Agent Memory That Learns正是这条路径上的关键样本。它把记忆做成了带 REST API 与内置 MCP 端点的独立服务社区里Hindsight Dify 实现 Agent 长期记忆Hindsight 部署在 NAS 接入 HermesOpsSentry 将 Hindsight 与 FastAPI 结合为 AI 代理提供持久化记忆等帖子接连出现很难再把它仅仅看作一个 RAG 增强工具。本文结合仓库源码与社区情报拆解三件事MCP 协议如何让记忆服务标准化解耦、第三方生态的接入信号意味着什么以及记忆从工具走向平台的技术推演。MCP 让记忆服务标准化、解耦化内置协议端点不是附赠功能Hindsight 对 MCP 的定位从仓库根目录 README.md 里就能读出分量Every server ships a built-in Model Context Protocol endpoint, one per bank, enabled by default。也就是说MCP 不是事后补的适配层而是服务出厂自带的协议面。对应的 MCP 服务端文档 给出了端点形态http://localhost:8888/mcp/{bank_id}/MCP 带来的第一个变化是记忆接口标准化。过去一个 Agent 想记住点什么需要调用某个 SDK 的私有接口换一个框架就得重写一遍现在Hindsight 把 retain / recall / reflect 三大操作直接暴露为 MCP 工具任何支持 MCP 的客户端——Claude Code、Claude Desktop、Cursor、Cherry Studio——都能通过统一协议读写记忆。在 MCP 服务端实现 中服务基于FastMCP(hindsight-mcp-server)构建并区分两种模式模式URL工具集bank_id 传递方式单 bank 模式/mcp/{bank_id}/27 个工具记忆、mental models、指令、文档、操作、标签、bank 管理隐式取自 URL多 bank 模式/mcp/全部 30 个工具含list_banks、create_bank、get_bank_stats每个工具显式传bank_id单 bank 模式尤其值得玩味bank_id直接进 URL 路径工具调用里根本不需要出现我操作哪个记忆库——连接本身就是作用域。这带来两个工程上的直接收益一是调用侧极简Agent 不需要每次附带上下文参数二是天然隔离每个 MCP 连接被锁死在一个 bank 内多租户场景下给不同用户挂不同端点即可。第二个变化是记忆生命周期从服务方私有变成客户端可编排。标准记忆系统通常只给检索接口但 Hindsight 的 MCP 工具面覆盖了完整的管理操作create_mental_model、refresh_mental_model、update_bank含mcp_enabled_tools白名单、create_knowledge_folder/create_knowledge_page、clear_memories、delete_bank。也就是说Agent 可以通过协议自助地创建自己的记忆域、定义常驻问题、安排刷新策略甚至按 bank 粒度调整暴露给哪些工具。文档中update_mental_model的trigger参数就是一个缩影——refresh_cronUTC 五段 cron、refresh_after_consolidation、min_refresh_interval_seconds、fact_types把记忆什么时候自我更新这件原本藏在服务内部的事完整地开放给了调用方{ name: update_mental_model, arguments: { mental_model_id: team-conventions, trigger: { refresh_cron: 0 3 * * *, fact_types: [observation] } } }第三个细节体现了协议层的工程成熟度在 MCP 服务端实现 中有一个_make_tools_tolerant包装器专门处理 LLM 调用工具时的不守规矩——LLM 频繁附加explanation、reasoning之类多余字段FastMCP 的 Pydantic TypeAdapter 会报 Unexpected keyword argument也经常把数组/对象参数序列化成 JSON 字符串传进来tags[a,b]而非tags[a,b]。Hindsight 在协议层自动剥离未知参数、自动强转字符串编码的 JSON这正是为 Agent 而设计的协议端点和为人类而设计的 REST 端点在工程气质上的分野——它默认客户端是一个会犯错、会自由发挥的 LLM。同样的气质也体现在内置工具的安全标注上只读操作recall、reflect、list_*、get_*标记readOnlyHint: true删除/清空/失效操作标记destructiveHint: trueopenWorldHint恒为false因为 Hindsight 只操作自身记忆库而非开放互联网。MCP 客户端能据此在 UI 上区分安全查询与危险操作这是把记忆服务放进生产 Agent 回路时必不可少的护栏。第三方接入信号记忆开始被生态集成而非调用协议标准化之后最直接的验证是生态是否主动接入。仓库里的 hindsight-integrations 目录列出了 60 集成覆盖编码代理Claude Code、Codex、Cursor、GitHub Copilot、opencode、Cline、Aider、Zed、Agent 框架LangGraph、LlamaIndex、CrewAI、Pydantic AI、OpenAI Agents SDK、Google ADK、AutoGen、低代码平台n8n、Zapier、Dify、Flowise以及应用工具ChatGPT、Perplexity、Obsidian、Pipecat。这个列表的密度本身就是一个信号记忆不再被某个框架内嵌而是被整个生态当作外部服务来接。更重要的是社区抓取情报里出现了非官方、非框架方的独立接入这是基础设施化最真实的证据OpsSentry 将 Hindsight 与 FastAPI 结合为 AI 代理提供持久化记忆——一个运维监控方向的项目主动把 Hindsight 作为记忆组件接入自己的 FastAPI 应用说明记忆开始像数据库、消息队列一样成为应用架构里的一个可依赖组件Hindsight 部署在 NAS 并接入 Hermes Agent社区教程以及 Hermes Desktop 的完整集成指南含 MCP 工具包选型stdio wrapper vs npm、Embedding 模型兼容性 BGE/Qwen、Mental Model 调优、Cherry Studio MCP 对接——个人开发者愿意为记忆系统单独部署一个常驻服务意味着记忆服务的运维模式已经被接受Hindsight Dify 实现 Agent 长期记忆管理——低代码平台通过自定义工具调用方式集成 Hindsight实现记忆服务与业务编排解耦这正是基础设施的标准用法编排层负责流程记忆层负责状态。仓库内 agent-plugin 的 README 展示了这种协议级接入的典型形态一个插件目录里放一份mcp.json指向 Hindsight 的内置 MCP 服务器客户端如 Codex就能立刻获得 retain、recall、reflect、knowledge pages 等能力。GitHub Copilot 的接入同样是通过.vscode/mcp.json配置 recall/retain 规则完成的见 hindsight-integrations/README.md。接入成本被压缩到写一个 JSON 文件这跟当年 MCP 让工具接入变得廉价是同一个剧本。这类信号的共性在于接入方关心的是记忆能不能用而不是Hindsight 的记忆算法是什么。抽象边界一旦清晰上层生态就会自主生长——这正是工具与基础设施的分水岭。从工具到平台记忆基础设施化的三层推演把 Hindsight 当作又一个向量检索库是低估它。基础设施化的推演可以拆成三层来看能力层解决记忆怎么存怎么取服务层解决多租户怎么隔离、运维怎么管生态层解决如何让更多人无痛接入。能力层记忆不是检索而是信念的演化Hindsight 对自己的定位可以从 RAG vs 记忆对比文档 中读出传统 RAG 只有嵌入查询 → 向量相似度 → 返回 top-k 块一条检索路径且查询之间无状态Hindsight 则是解析查询抽取时间表达式、实体→ 并行执行语义 / BM25 / 图 / 时间四路检索 → RRF 融合 → cross-encoder 重排 → 应用 disposition 特质 → 生成回答。README 里明确写道它eliminates the shortcomings of alternative techniques such as RAG and knowledge graph。能力层真正的差异化在于写入侧。文档 retain.md 描述的不是存一段文本而是结构化的富抽取核心事实、情绪与含义、推理链条、实体识别与消歧、四类连接实体连接、时间连接、因果连接等。事实被分为两类experiencebank 主体的第一人称经历与world关于外部世界的客观事实划分依据是谁在说话而非语法——同样的I bought a Tesla用户说就是关于用户的world事实Agent 自己说才是experience。写入之后还有后台整合consolidation。文档 observations.mdx 描述了从原始事实到观察observation的演化相关事实被去重、聚合成有证据支撑的信念每条 observation 记录支持它的具体记忆含原文引用与证明计数新证据到来时是强化 / 弱化 / 延伸而不是静默覆盖。当证据互相矛盾时系统保留演化历史用户曾是 React 爱好者……但现已切换到 Vue不再使用 React——这已经不是信息存储而是知识状态机。再往上还有 mental-models 文档 定义的常驻问题答案你定义一个问题这个用户的偏好是什么Hindsight 在后台持续重写答案Agent 读取它只是一次数据库读——无检索、无 LLM 调用、无等待因此 Agent 每次启动都能以一页已沉淀的知识开始而不是花几秒重新发现。这套文档→分块→事实与实体→观察→心智模型的层级README 称为仿生记忆结构配上四路混合检索TEMPR语义 / BM25 / 图 / 时间让 Hindsight 在 LongMemEval 基准上取得了 SOTA 表现README 还注明成绩由弗吉尼亚理工 Sanghani 中心与《华盛顿邮报》的研究合作者独立复现——而其他厂商的成绩多为自报。社区分析文章也援引 Lifebench71.5%、Locomo92.0%、BEAM64.1%等基准的对比数据佐证其领先。基准之外仓库还内置了 5 种可插拔 BM25 后端原生 tsvector、vchord、pg_textsearch、PGroonga、ParadeDB pg_search见 retrieval.md为中文场景可选用 jieba / chinese_compatible 分词器——这些细节说明它已经把跑在大规模生产库上当成了默认前提。服务层多租户、配置层级与运维体系基础设施必须有清晰的边界与服务语义。Hindsight 的几个设计可以佐证Memory Bank 作为租户单元README 定义 bank 是一个用户、一个 Agent 或一个项目的独立大脑隔离严格到无跨 bank 泄漏bank 还携带 disposition 特质怀疑度、字面度、共情度影响 reflect 如何推理——记忆不再是同质化的大池子而是有性格的域。扩展点即插件面extensions.md 定义了TenantExtension多租户与鉴权、HttpExtension自定义端点、OperationValidatorExtensionretain/recall/reflect 钩子用于限流、审计、权限、MCPExtension向 MCP 服务器注册额外工具。仓库外的 hindsight-extensions 目录提供了 Supabase JWT 租户与静态密钥租户两种现成实现后者把每个用户映射到独立 PostgreSQL schema实现数据库级隔离。这意味着记忆服务的计费、审计、租户隔离都是可挂载的钩子而非写死的功能。配置与观测是生产级标配README 的 Running in Production 表格列出了 PostgreSQL pgvector或 Oracle AI Database 23ai 全特性对等、全局→租户→bank 三级配置层级、Prometheus 指标与仪表盘、迁移与修复用的 Admin CLI、retain/consolidation/refresh 生命周期 Webhook。docker-compose 目录里甚至提供了 external-pg、pg_search、vchord、pgroonga、timescale、s3-file-storage 等十几种部署组合见 docker/docker-composehelm 目录则覆盖 K8s 部署。生态层把接入成本压到两行代码基础设施的最后一个指标是接入的摩擦。README 提供了一个几乎不可思议的入口——LLM Wrapper把现有的 OpenAI 客户端包一层记忆自动读写其他代码一行不动from openai import OpenAI from hindsight_litellm import wrap_openai # Wrap your existing LLM client and youre done. client wrap_openai( OpenAI(), bank_iduser-123, hindsight_api_urlhttp://localhost:8888, ) # Hindsight recalls relevant memories before the call # and retains the conversation after it. response client.chat.completions.create( modelgpt-5-mini, messages[{role: user, content: What do you know about me?}], )wrap_anthropic()对 Anthropic SDK 同理底层是 LiteLLM因此同一套集成覆盖 100 模型。调用前自动召回相关记忆、调用后自动沉淀对话——这是把记忆从应用代码里彻底抹掉的写法正如当年 ORM 抹掉了 SQL 手写、网关抹掉了直连数据库。底层还支持 25 LLM 提供商包括 ollama、lmstudio、llamacpp 等完全本地化方案见 docker/docker-compose/local-llm甚至可以直接复用 ChatGPT/Claude 订阅凭据openai-codex、claude-code、cursor、github-copilot provider让记忆服务可以搭在几乎任何模型底座之上。结语记忆正在经历协议化 → 生态化 → 平台化的完整循环回看 MCP 的路径先是协议标准化一套工具描述与调用规范然后是生态接入客户端与工具方纷纷支持最后是平台化工具目录、网关、监控成为新的中间层。Hindsight 身上正在重演同一个循环内置 MCP 端点让记忆接口标准化OpsSentry、Dify、Hermes 等独立第三方的接入证明生态开始把记忆当作外部依赖而多租户、可插拔后端、生产级运维与两行代码接入则把记忆推向了平台的定位。当然这仍然是一个需要谨慎下判断的问题。记忆基础设施化真正的考验不在 demo 里而在生产环境的三件事上大规模下的写入吞吐与整合成本、跨会话信念的一致性、以及记忆服务的可审计性Hindsight 为此内置了证据追踪与版本保留甚至提供 Memory Defense 用 45 种模式扫描并脱敏密钥与 PII。但从仓库的工程密度——从_make_tools_tolerant对 LLM 犯错行为的包容到 mental model 的增量刷新与 freshness 信号到 5 种 BM25 后端和三级配置层级——可以确定地说记忆赛道已经过了能不能记住的验证期进入了作为服务被规模化使用的工程期。MCP 解决了 Agent 的手Hindsight 们正在解决 Agent 的脑而基础设施的故事从来都是先被协议定义再被生态确认。【免费下载链接】hindsightHindsight: Agent Memory That Learns项目地址: https://gitcode.com/GitHub_Trending/hindsight2/hindsight创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?