[Shubham Saboo](https://x.com/Saboo_Shubham_)（Google PM）[开源了一个永远在线的内存代理](https://github.com/GoogleCloudPlatform/generative-ai/tree/main/gemini/agents/always-on-memory-agent)上周作为 GCP Generative-ai 存储库的一部分。 [VentureBeat 对此进行了报道](https://venturebeat.com/orchestration/google-pm-open-sources-always-on-memory-agent-ditching-vector-databases-for) 作为有关代理基础设施发展方向的信号。它是一个持久内存系统，作为后台进程 24/7 运行，摄取文件、整合计时器并回答查询。没有矢量数据库。没有嵌入。只是一个读取、思考结构化内存并将其写入 SQLite 的法学硕士。

该项目验证了我一直在 [Neotoma](https://github.com/markmhendrickson/neotoma) 构建的目标：代理的持久内存是一个真实且不断增长的需求。但这两个项目做出了相反的架构选择。这篇文章对它们进行了比较。

## 什么是永远在线内存代理

该项目是使用 [Google ADK（代理开发套件）](https://google.github.io/adk-docs/) 和 [Gemini 3.1 Flash-Lite](https://ai.google.dev/gemini-api/docs/models) 构建的参考实现。它作为一个轻量级后台进程运行，具有三个专业子代理：一个用于摄取，一个用于整合，一个用于查询。

1. **摄取。** 文件观察器监视收件箱目录。将文件放入，然后代理将其拾取。它还接受通过 HTTP POST 的输入。它处理文本、图像、音频、视频和 PDF。 LLM 提取摘要、实体、主题和重要性分数。

2. **整合。** 在计时器上，整合代理读取所有存储的记忆，查找它们之间的联系和模式，压缩相关项目，并写入新的综合见解。这会在后台运行，无需提示。

3. **查询。** 你提出问题。查询代理读取相关记忆和综合见解，综合答案，并将其返回并引用特定记忆记录。

存储是SQLite。没有矢量数据库，没有嵌入索引。该架构押注法学硕士可以直接处理结构化文本记录的检索，而无需相似性搜索。

## 它的优点

**简单。** 克隆存储库，设置 Gemini API 密钥，然后运行它。文件观察器、HTTP API 和 Streamlit 仪表板。依赖性最小，除了单个进程之外无需管理基础设施。对于使用 Gemini 探索代理内存的开发人员来说，这是获得工作演示的最快途径。

**“无矢量数据库”叙述。** 删除矢量数据库可降低操作和概念的复杂性。无需选择嵌入模型，无需维护索引，无需检索调整。对于小规模部署来说，这是真正的简化。

**主动整合。** 基于计时器的整合是最有特色的部分。大多数记忆系统都是被动的：存储事物、检索事物。这个主动连接、压缩和合成。它会发现您没有询问过的模式。这与任何想要“思考的记忆”而不是等待的记忆的人产生共鸣。

## 方法不同的地方

永远在线内存代理和 Neotoma 有着共同的目标（持久代理内存），但几乎在每个设计决策上都存在分歧。这些分歧并非偶然。它们反映了关于内存应该优化的不同起始前提。

### 自动与显式摄取

文件观察器是自动的。收件箱中的任何内容都会得到处理。在 LLM 提取和存储之前，没有批准步骤、没有模式优先验证、没有用户确认。 Neotoma 采用相反的方法：除非代理或用户通过 MCP 显式写入，否则任何内容都不会进入系统。对于个人笔记，自动摄取很方便。对于任何有隐私或合规性要求的事物，显式控制是更安全的默认设置。

### 谁决定要记住什么

Neotoma 依赖客户端代理来调用内存存储。与您交谈的代理（ChatGPT、Claude、Cursor）决定什么值得记住以及如何构建它。当它得出结论认为事实、联系人或任务应该持续存在时，它会通过 MCP 调用存储操作。 “记住什么”的责任留在代理层，与您的对话过程相同。

永远在线内存代理将这一责任分配给专业的子代理。摄取代理决定从文件中提取什么。合并代理决定合并什么以及绘制什么连接。查询代理决定返回什么。 “什么值得记住”和“如何”分布在这些子代理中，这些子代理独立于对话运行。用户并不批准每个决定。子代理使它们处于后台。

### LLM 驱动与确定性提取

Always-On Memory Agent 使用 LLM 来完成所有操作：提取实体、分配重要性、生成摘要。对同一个文件运行相同的提取两次，结果可能会有所不同。 Neotoma 使用[模式优先确定性提取](/posts/truth-layer-agent-memory)。相同的输入会产生相同的实体、相同的规范 ID、相同的关系。可选的 LLM 解释在该确定性层之上运行，而不是取代它。

### 巩固与不变的真理

整合代理决定要合并什么、要绘制什么连接以及要压缩什么。随着时间的推移，它会改变记忆。旧的记忆被新的综合见解所吸收。 Neotoma 不巩固。它附加。每一个观察结果都是一成不变的。历史是源于事件的。如果您需要了解发生了什么变化、何时发生以及为何发生变化，可以查看完整的线索。没有任何内容被覆盖或压缩。

### 单平台与跨平台

该项目基于 Gemini 和 Google ADK 构建。内存位于本地 SQLite 文件中，只能通过此特定代理堆栈访问。 Neotoma 通过 MCP 公开内存，这意味着可以从 ChatGPT、Claude、Cursor 和任何其他 MCP 兼容工具访问相同的实体。一个内存层，多个消费者。

### 无出处与完整血统

始终在线内存代理中的内存记录包含摘要和提取的实体，但不会追溯到生成它们的特定文件、行或会话。如果综合洞察是错误的，就没有审计线索可循。在 Neotoma 中，每个实体上的每个字段都可以追溯到源观察。您可以审核任何事实，追溯到它的来源。

### 规模权衡

在没有嵌入或向量索引的情况下，系统直接使用 LLM 读取结构化文本记录。这在小规模下有效。随着内存存储量的增长，这种方法可能不再适用。删除矢量数据库并不会删除检索设计。它将复杂性转移到了 LLM 上下文窗口中。 Neotoma 对类型化实体使用结构化查询，其扩展不受 LLM 上下文限制的影响。

## 底物与代理

最明显的区别是角色。永远在线内存代理是一个代理。它会自动摄取、按计划整合并综合答案。它有自己的推理循环。它决定合并什么、绘制什么连接以及何时压缩。

Neotoma 不是药剂。它是一种基材。它存储具有规范 ID 的类型化实体。它保留了出处。它回答确定性查询。它不会自行决定任何事情。无背景摄入。没有自动合并。没有基于定时器的处理。代理通过 [MCP](/posts/agentic-search-and-the-truth-layer) 从中读取并写入。推理发生在代理层。真相存在于底层。

这很重要，因为当代理出错时会发生什么。如果永远在线内存代理的整合产生了糟糕的洞察力，那么该洞察力现在就成为内存的一部分。没有单独的层可供验证。代理说的是实话。

通过下面的真相层，您可以跟踪代理读取的内容、读取的时间以及写回的内容。如果新的见解是错误的，您可以恢复。整合代理的输出是对确定性状态的观察，而不是其突变。

|尺寸|永远在线的内存代理 |真相层（Neotoma）|
|----------|------------------------|------------------------|
|角色 |具有推理循环的智能体 |无代理行为的基材 |
|谁决定存储什么？专业分代理（摄取、整合）|客户端代理（通过 MCP）|
|食入|自动（文件观察器、API）|仅显式（MCP、CLI、上传）|
|萃取| LLM驱动；概率|模式优先；确定性|
|整合|基于计时器的法学硕士巩固|没有任何;不变的事实，事件来源的更新 |
|出处 |基本（记录中的来源/摘要）|血统完整；每一场都追根溯源|
|平台|仅限 Gemini/Google ADK |通过 MCP 跨平台（ChatGPT、Claude、Cursor）|
|隐私 |未定位为隐私第一 |用户控制；没有提供商访问权限 |
|回滚 |不;记忆因巩固而发生变异|是的;仅附加、版本化、可恢复 |
|比例模型| LLM读取所有记录；受上下文限制|对类型化实体的结构化查询 |

## 他们如何合作

这两种方法并不相互排斥。整合代理和真相层解决不同的问题。人们发现模式。另一个保持信任。有趣的架构将两者结合起来。

草图很简单。整合代理（如始终在线内存代理中的代理）通过 MCP 从真实层读取实体。它可以访问完整的结构化状态：类型实体、关系、时间线、出处。它在该状态上运行模式查找循环，寻找用户没有要求的联系、差距或见解。当它发现某些东西时，它将结果作为新的观察结果写回真相层，并标有其源实体和推理。

真相层对待该洞察的方式与对待任何其他写入的方式相同。它将其记录为具有完整来源的观察：代理读取了哪些实体、何时、得出了什么结论。洞察力成为实体图的一部分。如果洞察错误，您可以准确地看到代理消耗了什么，跟踪推理，并恢复观察结果，而不会影响其读取的底层实体。

这与目前 Always-On Memory Agent 中的整合工作方式不同。在那里，整合代理直接改变记忆。旧的记忆被吸收到新的合成记录中。之前的状态已经没有了。如果合成错误，则没有单独的层可供比较。

有了真相层，整合就成为一种非破坏性操作。代理在确定性状态之上添加了一层解释。状态本身保持不变。您可以获得主动模式发现（Always-On Memory Agent 的优势）的优势以及可审核性和回滚（真相层的优势）的优势。智慧在上，信任在下。

## 这验证了什么

Always-On Memory Agent 是一个参考实现，而不是一个产品。它证实了对持久、动态代理内存的需求是真实的。 “[Vector DB plus RAG](/posts/why-agent-memory-needs-more-than-rag)”并不是唯一的检索模型。 [推动这一趋势的结构趋势](/posts/six-agentic-trends-betting-on) 很明显：代理正在变得有状态，错误正在定价，平台仍然不透明。该项目标志着该行业正在向永远在线的内存系统发展，而不仅仅是简单的存储和检索。

这两个项目一致认为：被动记忆是不够的。他们不同意的地方是：内存层本身是否应该推理，或者推理是否应该发生在确定性状态之上的单独层中。这是目前代理内存架构的一个核心问题。市场可能会支持这两种方法。我预计该架构可能会集中在能够思考的整合代理上，运行在您可以信任的真相层之上。

## 我正在构建什么

我正在构建 [Neotoma](https://github.com/markmhendrickson/neotoma) 作为信任层。类型化实体、规范 ID、确定性合并、来源、通过 MCP 的跨平台访问。我每天都在 ChatGPT、Claude 和 Cursor 上使用它。 [开发者版本](/posts/neotoma-developer-release) 现已在 [neotoma.io](https://neotoma.io) 上提供。

谷歌的样本表明，该行业正在向持久代理内存靠拢。悬而未决的问题不是特工是否会记住，而是如何记住。能力或治理。剂或底物。概率巩固或确定性真理。我打赌后者。