情节记忆
概述
基于 SQLite FTS5 全文检索的历史会话按需召回机制,存储历史详细内容而无容量上限,类比人类需要时检索记忆的方式。
关键内容
- 定位:MEMORY.md 和 USER.md 容量刻意有限(~1,300 tokens 合计),历史详细内容存储在 SQLite 数据库,通过全文检索按需召回
- 工作流程:Agent 遇到需要历史信息的任务 → 调用历史搜索工具(非默认,按需触发)→ SQLite FTS5 检索所有历史会话 → 返回相关片段 → 辅助 LLM 对结果摘要 → 精炼后的相关记忆注入当前上下文
- 存储结构:sessions 表包含 id、created_at、platform(cli/telegram/discord 等)、session_key、messages(JSON 序列化)、summary(LLM 生成的会话摘要),FTS5 虚拟表对消息内容建立全文索引
- 方案对比:全部历史进 Prompt 导致 Token 爆炸;固定数量最近消息丢失早期相关上下文;FTS5 按需召回只在需要时加载,精确相关,成本可控
- 认知类比:大脑不会把所有记忆时刻保持激活,而是在需要时检索——FTS5 按需召回是情节记忆的最佳工程实现
来源
- NousResearch/hermes-agent — 2026 年 4 月版本,第三篇:分层记忆系统
相关
- Hermes Agent — implements
- 分层记忆系统 — part_of
- 跨会话记忆 — extends
- 语义记忆 — compares_to