DEV Community

Manoir Yantai
Manoir Yantai

Posted on

AI Agent 的知识底座:90 行代码实现三层记忆召回

上周我开源了 Knowledge-and-Memory-Management v0.0.2,一个给 AI Agent 用的知识采集插件。不是又一个 RAG 框架——它的定位很简单:底座(hermes-memory-installer)解决「记住」,KMM 解决「知识从哪来、如何用」。

三个数字

  • 40+ 采集工具:覆盖网页(9 引擎)、视频(12 工具)、文档/OCR(9 工具)、文章/内容(10 来源)
  • 三层记忆:Hot(当前会话)→ Warm(向量语义,10K 节点)→ Cold(知识图谱,11K 页)
  • 12+ 云盘驱动:OneDrive、Google Drive、阿里云盘、百度网盘,全走 rclone 统一接口

为什么需要三层记忆?

很多 AI Agent 把记忆做成单层向量库。问题在于:短期记忆在乎时效,长期知识在乎关联,全文搜索和语义匹配场景完全不同。

KMM 做了件简单的事:把三个引擎串成一条调用链。最直接的体现是 lightweight_recall.py

# lightweight_recall.py — 三层跨层召回
def recall(query: str, limit: int = 10):
    results = []
    # L1: FTS5 全文搜索(最快,毫秒级)
    results += fts5_search(query, limit)
    if len(results) >= limit:
        return results[:limit]
    # L2: Hindsight 语义向量(理解意图同义变换)
    results += hindsight_search(query, limit - len(results))
    if len(results) >= limit:
        return results[:limit]
    # L3: gbrain 知识图谱(跨实体关联)
    results += gbrain_search(query, limit - len(results))
    return results
Enter fullscreen mode Exit fullscreen mode

95 行,零外部依赖。第一次调用 3ms 内返回 FTS5 命中,语义和图谱层做兜底。实测 85% 的查询在 L1 就够用——向量库被高估了,全文搜索 + 好的索引在很多场景下既是够用的也是最快的。

v0.0.2 真正有用的东西

书籍自动精炼管线。book_cache_manager 缓存 PDF/EPUB 后自动触发 book_to_skill,把技术书拆成结构化 Skill + 笔记。710+ 本书索引在库,按需缓存,不用全量下载。

SenseNova 文档引擎。PDF(文字型+扫描型)、PPT(全 Slide 提取)、Word(正文+表格+高亮)。用 python3 sensenova_dispatcher.py pdf report.pdf 一行命令跑完整分析。

每周日自动跑的知识发现。扫描 OneDrive → 本地新笔记 → 自动录入 gbrain。凌晨维护脚本把孤页、索引压缩一块搞定。

一个实际工作流

用户问「Agent 记忆系统怎么设计?」
  → L1 FTS5 搜到本地笔记「三层记忆架构」
  → L2 Hindsight 召回「hot-warm-cold 模型」关联笔记
  → L3 gbrain 关联到「hermes-memory-installer」项目文档
  → 返回合并结果,来源清晰可追溯
Enter fullscreen mode Exit fullscreen mode

未命中本地知识时自动降级到 AnySearch 垂直搜索,标注来源后导入笔记库。

项目地址:github.com/mage0535/Knowledge-and-Memory-Management

不是要替代 LLM 的原生记忆——而是在它之上,给你一个可控的、可审计的知识层。工具就该这么简单。

Top comments (0)