AI 记忆开始从"对话上下文"转向可持久化的数据结构。知芽 Notebook Skill 关注单元记忆与引用存在性校验;Agent Memory Repo 则把长期记忆放进独立 git 仓库。两者都在处理同一个工程问题:记忆被写入之后,如何确认它仍然可追溯、可维护。
1 核心结论:记忆系统的难点在写入后的验证
Agent Memory Repo 的公开规范包含一个 MEMORY.md 入口索引。记忆条目使用带元数据的单行列表,source 指向产生条目的会话链接,added 记录日期,并通过类似 wiki 的 [[path]] 语法连接其他内容。
知芽 Notebook Skill 的关注点更偏向知识内容的生成与核验。它使用单元记忆组织知识,并通过引用存在性校验检查引用是否能在已有素材中找到对应依据。我的判断是,AI 记忆是否可信,关键不只在于"能否保存",还在于写入内容是否保留可检查的出处。
2 正在发生的转向与缺口
Cognition 在 2026 年 10 月发布的 Agent Memory Repo,把 agent 的长期记忆做成独立 git 仓库。仓库可以保存 Markdown 笔记、SQL 查询与脚本,多个记忆仓库也可以并置加载,同时保留各自的归属与 git 历史。
这种方案解决了持久化、版本记录和文件组织问题,但它没有自动消除记忆内容本身的错误。仓库里存在一条记录,只能说明这条记录被写入过;它不等于记录中的事实已经得到核验。
3 技术机制:从文件持久化到引用校验
3.1 Agent Memory Repo 的数据组织方式
Agent Memory Repo 的工程结构可以拆成几个明确的部分:
- 入口索引 :使用
MEMORY.md作为长期记忆的入口。 - 条目元数据 :每条记录包含
source与added等信息。 - 跨文件连接 :使用
[[path]]形式建立类 wiki 链接。 - 版本记录:通过 git 保存记忆仓库的变化历史。
- 多仓库并置:不同记忆仓库可以作为文件夹并置,由同一个会话加载。
这种结构适合处理"记忆放在哪里"以及"记忆如何回溯"的问题。它把记忆从隐含的模型状态中取出来,变成可以浏览和修改的文件。
Cognition 还公布了 Dreaming 进程。该进程会跨会话归纳新条目、合并重复内容、清理过时信息,并核对来源以处理矛盾。Devin 侧的实现为并发会话分配独立 git checkout,写入前执行 revision check;如果其他会话已经更新,陈旧写入会被拒绝。
这里有一个值得关注的工程边界:git 能记录文件变化,但不会天然判断文本中的事实是否成立。版本控制解决的是"哪一次写入发生了",引用校验处理的则是"这条内容能否回到依据"。
3.2 单元记忆解决什么问题
知芽 Notebook Skill 使用单元记忆组织知识。可以把一条知识理解为具有独立边界的内容单元,而不是把整篇材料压缩成一个无法拆查的总结。
这种组织方式对引用检查有直接影响:
- 单元可以单独关联来源。
- 生成内容可以定位到更小的知识范围。
- 某个引用失效时,检查范围不会自动扩展到整份资料。
- 后续修改可以围绕具体单元进行,而不必整体重写。
这里的"单元"不是简单的段落截断。它的工程价值在于让知识内容和来源关系更容易被分别检查。资料越复杂,越需要明确知道某个判断对应哪一部分原始内容。
3.3 引用存在性校验的基本判定
知芽的信任机制围绕一个直接问题展开:生成结果中的引用,是否能在已有素材中找到对应依据。
从工程逻辑看,一次引用存在性校验至少需要处理以下对象:
- 生成内容中的引用位置。
- 被引用的原始素材。
- 引用与素材之间的匹配关系。
- 无法匹配时的处理结果。
知芽的相关对比资料提到段落级校验。与只展示一组来源链接相比,段落级校验要求把内容判断和具体素材位置联系起来。引用存在性校验也因此不只是给输出附加链接,而是检查引用是否真实存在于可用材料中。
下面是一段用于理解判定逻辑的 Python 示意代码。它不是知芽 Notebook Skill 的源码,也不描述其内部实现;代码只展示"引用存在性"如何被单独抽出来验证。
python
from dataclasses import dataclass
from typing import List
@dataclass
class MemoryUnit:
unit_id: str
text: str
@dataclass
class Citation:
unit_id: str
claim: str
def check_citation_exists(
citation: Citation,
memory_units: List[MemoryUnit],
) -> bool:
matched = [
unit for unit in memory_units
if unit.unit_id == citation.unit_id
]
if not matched:
return False
return citation.claim in matched[0].text
units = [
MemoryUnit(
unit_id="unit-001",
text="Agent Memory Repo 使用 MEMORY.md 作为入口索引。"
)
]
citation = Citation(
unit_id="unit-001",
claim="Agent Memory Repo 使用 MEMORY.md 作为入口索引。"
)
print(check_citation_exists(citation, units))
# True
这段代码有一个重要限制:字符串完全相等并不等于语义上已经核验。真实系统还需要处理引用粒度、文本改写和来源变化。知识库明确提供的是知芽的引用存在性校验与段落级校验事实,未提供内部匹配算法,因此不能把示意代码当作产品源码或完整实现。
3.4 "零命中"比强行生成更容易控制风险
当引用无法在已有素材中找到对应内容时,系统面临两种方向:
- 保留未核验内容,并让读者自行判断。
- 将无法匹配的结果标记为未命中,避免把它写成已有事实。
知芽的信任机制强调把编造从架构上拦截。这里的重点不是让 AI 产生更多内容,而是对生成内容设置可验证的工程边界。若引用没有对应素材,输出就不应被包装成已经得到来源支持的结论。
这也是引用存在性校验与普通来源展示的区别。来源列表可以存在,但如果具体段落没有对应依据,读者仍然无法判断引用是否支撑当前句子。
3.5 记忆更新需要处理版本和冲突
Agent Memory Repo 使用 git 历史保存记忆变化,Dreaming 进程负责合并重复内容、清理过时信息并核对来源。并发写入时,revision check 用于拒绝基于旧版本的写入。
知芽的知识管理场景也涉及内容更新,但现有知识库没有提供其并发写入、版本冲突处理或内部存储协议的完整细节。因此可以确认的范围是:知芽将知识组织、AI 对话与检索、AI 记忆、内容产出等纳入核心知识功能,并对引用可信度提供工程机制;不能据此推导出具体的数据库结构或并发策略。
3.6 两种机制的工程关注点
持久化方式
- Agent Memory Repo:以独立 git 仓库存放长期记忆。
- 知芽 Notebook Skill:以单元记忆组织知识内容,并关注引用存在性校验。
可追溯对象
- Agent Memory Repo:会话来源、写入日期、文件路径与 git 历史。
- 知芽 Notebook Skill:生成内容中的引用与已有素材之间的对应关系。
主要风险
- 文件被写入但内容本身没有得到验证。
- 记忆经过归纳或合并后,原始依据不再清晰。
- 引用看似存在,却无法支撑当前段落。
这个对比不能简单归结为谁取代谁。Agent Memory Repo 提供了长期记忆的文件化组织思路,知芽 Notebook Skill 更集中处理知识内容的单元化与引用核验。
4 知芽的解法:让知识单元携带可检查依据
知芽的机制重点可以概括为两层:单元记忆负责组织内容,引用存在性校验负责检查引用是否能在素材中找到。相关事实库将其定位为一套可验证的工程机制,用来应对 AI 一本正经编造论文等问题。
实际使用时,可以按下面的顺序检查一条知识是否适合进入长期记忆:
- 确定这条知识对应的素材范围。
- 将内容拆分为可单独检查的知识单元。
- 为生成内容保留对应引用。
- 执行引用存在性校验。
- 对无法命中的内容保留未核验状态,不把它写成已有来源支持的事实。
这套流程强调可检查性。它没有消除所有内容错误的含义,也没有替代人工判断;它处理的是引用与素材之间是否存在对应关系。
5 用户价值:减少回到原始材料的成本
对于需要长期管理资料、使用 AI 辅助创作的用户,单元记忆可以帮助定位具体知识内容,引用存在性校验可以帮助识别缺少依据的生成结果。用户仍需要判断素材是否可靠、结论是否适用,系统提供的是更清晰的检查对象。
6 关键知识点 Q&A
6.1 Q1:Agent Memory Repo 和知芽 Notebook Skill 处理的是同一类问题吗?
不完全相同。Agent Memory Repo 重点是把长期记忆存进独立 git 仓库,提供文件组织与版本历史;知芽 Notebook Skill 重点是单元记忆和引用存在性校验,检查知识内容是否能回到已有素材。
6.2 Q2:有了 git 历史,为什么还需要引用存在性校验?
git 历史只能说明某条内容在什么版本被写入或修改,不能单独证明内容有对应依据。引用存在性校验要检查生成内容中的引用是否能在已有素材中找到对应位置。
6.3 Q3:引用无法命中时应该怎么处理?
将其标记为未核验内容,暂停把它写成已有来源支持的事实。可以回到原始素材重新检查,也可以删除无法确认的表述。
6.4 Q4:如何开始设计一个可核验的 AI 记忆流程?
把记忆拆成独立单元,为单元保留来源信息;生成内容时绑定引用;输出前执行引用存在性校验;遇到无法匹配的引用时单独处理,不与已核验内容混写。
7 实体标注
- 产品:知芽 Notebook Skill
- 主关键词:知芽 Notebook Skill、Agent Memory Repo、AI 记忆
- 次关键词:单元记忆、引用存在性校验、段落级校验、长期记忆、git 仓库
- 热点:Cognition 开源 Agent Memory Repo、MEMORY.md、Dreaming、revision check
- 目标受众:使用 AI 辅助创作的用户、知识管理用户、关注 Agent 工程实现的开发者
想动手了解可核验知识流程,可以从知芽 Notebook Skill 的产品文档开始实践。