已完全了解 KMM v0.0.2 的真实能力。直接开写。
做 AI Agent 的都知道,上下文窗口再大,没有知识输入管道也是白搭。你写个 Agent 能聊天能调工具,但每次新会话都从零开始--昨天的调研、上周的 PDF、上个月的竞品分析,全得重来。
帮 Agent 记住东西的方案不少,但大多数搞反了方向:直接堆 RAG 向量库,结果发现往里喂的数据质量一塌糊涂。根本问题不是检索算法,是知识压根没进来。
Knowledge-and-Memory-Management v0.0.2(KMM)解决的是前半截--先把管道路由建好,再谈搜索。
不是代码库,是工具清单
很多人看到 GitHub 仓库就以为是现成 SDK。KMM 的定位不同:它是一份 40+ 采集工具的编排清单,按介质分 4 类:
- 网页:6 种引擎,从
trafilatura快速提取到 Scrapling 反检测采集(Cloudflare Turnstile 绕过),到 Chrome DevTools 完整自动化 - 视频:8 种工具/引擎。抖音元数据+字幕+ASR 一条线、
yt-dlp覆盖 1000+ 站点、Whisper 99 种语言转录、EasyOCR/PaddleOCR 画面文字提取 - 文章/内容:10+ 来源,微信公众号、微博、新闻聚合、RSS/博客
- 文档/OCR:PDF/PPT/Word 文字型+扫描型全支持,PaddleOCR 70K⭐ 高精度
每类工具都有统一的 TOOL_INVENTORY 结构,标注能力等级、部署状态和适用场景。不是散装的脚本集合,是按"采集→分析→笔记→图谱→云盘"五步编排的管线框架。
本地优先,AnySearch 自动回落
这是最实用的设计。AugmentedSearch 的搜索逻辑:
from knowledge_augmentation import AugmentedSearch
searcher = AugmentedSearch()
# 先搜本地笔记,命中不足时自动回落 AnySearch
results = searcher.search("Agent 记忆体设计模式")
# 本地命中 ≥ threshold → source: local
# 本地不足 → source: hybrid/web,自动标注来源
核心判断:本地搜索得分 ≥ fallback_threshold 时直接返回,不走网络。低于阈值时自动触发 AnySearch 垂直搜索,结果带 source: web 标识,不会把全网搜索伪装成本地知识。这个设计防止了最讨厌的问题--你问 Agent "我之前记过什么",它拿 web 结果糊弄你。
五步管线:采集 → 笔记 → 图谱 → 同步
NoteGenerator 定义的标准链路很清晰:
- 采集原始材料 - 四种 Collector 任意入口
- LLM 结构化提炼 - 核心论点、关键数据、时间线、关联阅读
- 写入本地笔记 - YAML frontmatter + Markdown,路径
$AGENT_HOME/knowledge/notes/ - gbrain 知识图谱入库 - 创建节点、建链接、打标签、记时间线
- 云盘同步 -
rclone统一推送到 OneDrive 等 12+ 驱动
精炼层还有个 refine_pdf,直接调用 book_to_skill 管线把 PDF 转成 Hermes Skill + KMM 笔记:
from knowledge_collector.refinement import refine_pdf
result = refine_pdf("machine-learning.pdf", slug="ml-basics")
# → Skill 写入 ~/.hermes/skills/book-ml-basics/
# → 笔记写入 ~/knowledge/structured/ml-basics/
什么时候该用
如果你的 Agent 已经开始出现"我告诉过你的怎么又忘"、或者你每天花大量时间把新信息喂给 AI、又或者发现 RAG 库搜出来的全是噪声--问题大概率不在检索,在采集管道没建起来。
KMM 不提供魔法 SQLite 或者新向量数据库,它给的是工具编排框架。你可能用不到全部 40+ 工具,但它的分层结构(按介质分采集→按 LLM 精炼→按权重回落搜索)是一个值得复用的设计模式。
Comments
No comments yet. Start the discussion.