首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >知识管理不是存硬盘——我搭了一个让知识自己生利息的系统

知识管理不是存硬盘——我搭了一个让知识自己生利息的系统

作者头像
烟雨平生
发布2026-05-20 13:47:16
发布2026-05-20 13:47:16
1590
举报

你有没有这种体验?

读了一堆技术文章,做了笔记,收藏了链接。一个月后,全忘了。

不是你记性差。是知识放在那里不会自己增值

就像钱存在银行才有利息,知识也需要一个让它自动关联、自动演化、自动被使用的机制。

我给这个机制起了个名字:知识复利飞轮

今天分享我是怎么用 Python + LLM + MCP 把这个飞轮搭起来的。不是 demo,是每天都在跑的生产系统。

问题:你的知识库是个坟场

先说一个反直觉的事实:

99% 的知识管理工具都在解决"怎么存",没人解决"怎么用"。

Notion、Obsidian、语雀——你可以建文件夹、打标签、做双向链接。然后呢?

  • 写了笔记,再也没打开过
  • 新学的知识跟已有的知识毫无关联
  • 遇到问题时,想不起来自己其实已经学过了
  • AI 助手不知道你的知识背景,每次从零开始

问题的根源:知识管理缺少一个数据飞轮。

什么是知识复利飞轮

普通的知识管理:

代码语言:javascript
复制
学习 → 记笔记 → 吃灰 → 遗忘

知识复利飞轮:

代码语言:javascript
复制
摄入新知识
  → 自动发现它与已有知识的隐藏关联
    → 知识图谱自动演化
      → 搜索排名因使用反馈而提升
        → AI 助手在工作时自动引用你的知识
          → 知识被用得越多,排名越高,越容易被发现
            → 飞轮转起来

核心区别:不是你去找知识,是知识来找你。

三层架构

存储层用 Markdown + frontmatter,不用数据库。因为知识应该人可读、git 可管理、不依赖任何平台。

飞轮第一环:摄入不是存文件

普通摄入:把文章丢进文件夹。

ExoMind 的摄入:

代码语言:javascript
复制
raw笔记 → LLM 提取实体/概念/关系 → 写入知识图谱 → 自动发现跨域关联 → 更新搜索索引

一条命令:

代码语言:javascript
复制
exo add "Redis的持久化方案RDB和AOF各有优劣..."

LLM 会提取出:

  • 实体:Redis、RDB、AOF
  • 概念:持久化、快照、追加日志
  • 关系:Redis → 使用 → RDB,Redis → 使用 → AOF
  • 跨域关联:自动发现 Redis 的持久化跟你之前学过的 Kafka 持久化有关联

这个"跨域关联"是飞轮的关键。你学 Redis 持久化的时候,系统自动提醒你:你之前学 Kafka 时也遇到类似的持久化问题。 两个领域的知识开始产生化学反应。

摄入管道的核心代码

代码语言:javascript
复制
def ingest(source, wiki_mgr, llm, tags=None):
    # 1. 三层去重:来源→原文→标题
    dup = check_duplicate(wiki_path, title, content)

    # 2. LLM 提取结构化知识
    response = llm.chat(system="你是知识提取专家", user=prompt)
    entities = parse_entities(response)   # 实体
    concepts = parse_concepts(response)   # 概念
    relationships = parse_relations(response)  # 关系

    # 3. 写入知识图谱
    for entity in entities:
        graph_manager.ingest_entity(**entity)
    for rel in relationships:
        graph_manager.ingest_relationship(**rel)

    # 4. 跨域发现(飞轮关键)
    discovery = AutoRelationDiscovery(wiki_path, graph)
    discovery.discover_all_relations()
    applied = discovery.apply_discovered_relations(graph_manager)
    # 上面这一步让新知识和已有知识自动产生关联

    # 5. 更新搜索索引
    search_engine.build_index()

飞轮第二环:知识演化

知识不是一成不变的。今天学的 Redis 知识,明天看到新的最佳实践,应该自动更新。

代码语言:javascript
复制
class KnowledgeEvolution:
    def apply_evolution(self, suggestion):
        # 1. 保存版本快照(可回滚)
        self._save_version(entity_id, content, metadata)

        # 2. 智能合并冲突
        # aliases/related → 取并集
        # description → LLM 智能合并,不是简单覆盖
        metadata, decisions = self._apply_update(metadata, changes)

        # 3. 写入 + 记录演化日志
        self._log_evolution(suggestion, hash_before, hash_after)

演化有四种类型:

类型

触发条件

示例

expand

内容过短(<100字)

"Redis"只有一句话,需要补充

update

新信息补充旧知识

学到 Redis 7.0 的新特性

merge

发现重复实体

两个 "Kafka" 实体需要合并

refresh

30天未更新

知识可能过时,需要刷新

飞轮第三环:让知识来找你

这是最有杀伤力的一环。

我给 Claude Code 写了一个 hook,每次你在对话中提到技术关键词,系统自动把相关知识注入到 AI 的上下文中。

Hook 的工作原理

代码语言:javascript
复制
你输入: "我遇到一个 Kafka 消费延迟的问题"
     ↓
Hook 检测到关键词: Kafka、消费延迟
     ↓
自动注入知识库中已有的 Kafka 相关知识到上下文
     ↓
Claude 回答时已经知道你之前学过的 Kafka 知识

不需要你手动搜索,不需要你告诉 AI 你的背景。知识自动出现在它需要的地方。

Hook 的核心是一行 bash:

代码语言:javascript
复制
// ~/.claude/settings.json
{
  "hooks": {
    "UserPromptSubmit": [{
      "type": "command",
      "command": "~/.claude/scripts/exomind-context.sh"
    }]
  }
}

脚本做的事:

代码语言:javascript
复制
# 1. 从用户消息提取关键词
# 2. 在知识库中匹配
# 3. 把匹配到的知识内容直接注入到上下文
# 4. 同时记录到使用日志(飞轮数据)

关键词匹配支持中英文:

代码语言:javascript
复制
# 英文:精确匹配
en_words = set(re.findall(r'[A-Za-z][A-Za-z0-9_+-]{2,}', msg))

# 中文:滑动窗口 substring 匹配
cn_words = set(re.findall(r'[\u4e00-\u9fff]{2,6}', msg))

飞轮第四环:质量反馈

知识被使用后,质量分会变化:

代码语言:javascript
复制
# 搜索排名公式
score = (
    max(click_score, consumption_score) * 0.6  # 被使用或被消费
    + feedback_score * 0.4                       # 被点赞或被踩
)

这意味着:

  • 经常被 hook 注入的知识排名更高 → AI 更容易引用它
  • 被点赞的知识排名更高 → 高质量知识浮上来
  • 被踩的知识排名下降 → 过时或错误的知识沉下去

MCP 协议让任何 AI Agent 都能给出反馈:

代码语言:javascript
复制
# MCP rate_feedback 工具
# Agent 查询知识后可以直接点赞或踩
mcp__exomind__rate_feedback(page="entities/Redis.md", rating="positive")

飞轮可观测性

怎么知道飞轮在转?一个命令:

代码语言:javascript
复制
exo flywheel

输出:

数据说话

系统跑了两个月:

指标

数值

知识页面

2,100+

知识图谱节点

760+

关系边

1,400+

Hook 自动注入

每次 Claude Code 对话

跨域关联自动发现

每次摄入触发

RSS 自动摄入

6 个源

代码行数

~6,000 行 Python

一个真实场景

我在 Claude Code 里开发一个微信发布服务,遇到 access_token 过期问题。我输入:

"微信 access_token 过期怎么处理?"

Hook 自动注入了我之前学过的:

  • 微信公众号的 access_token 机制
  • OAuth 2.0 token 刷新模式
  • 我之前项目中踩过的坑

Claude 的回答直接引用了我自己的经验,不是泛泛而谈。

这就是知识复利:过去学的东西,在你需要的时候自动出现。

从 Wiki-RAG 到知识复利

你可能看过我之前的文章《从零搭建个人 Wiki RAG》。那个系统解决的是"存储+检索"。

ExoMind 解决的是更深层的问题:

Wiki-RAG

ExoMind

存储知识

让知识自动增值

你去找知识

知识来找你

静态的

自动脉化、自动关联

单人用

AI Agent 也能用

没有反馈

质量分驱动排名

搭一个你自己的

代码语言:javascript
复制
# 安装
pip install exomind-manager

# 初始化
exo init ~/my-wiki

# 摄入第一条知识
exo add "你学到的任何知识..."

# 配置 Claude Code hook(自动注入)
# 在 ~/.claude/settings.json 加一行

# 查看飞轮状态
exo flywheel

一句话总结

Karpathy 说知识管理是 AI 工作流的核心成本。

我说:知识管理的核心不是存储,是让知识自己产生利息。

搭建一个飞轮,让知识在你睡觉的时候也在增值。

飞轮:https://www.processon.com/view/6586e37ed0c8d4555f9d9599

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-05-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 的数字化之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题:你的知识库是个坟场
  • 什么是知识复利飞轮
  • 三层架构
  • 飞轮第一环:摄入不是存文件
    • 摄入管道的核心代码
  • 飞轮第二环:知识演化
  • 飞轮第三环:让知识来找你
    • Hook 的工作原理
  • 飞轮第四环:质量反馈
  • 飞轮可观测性
  • 数据说话
  • 一个真实场景
  • 从 Wiki-RAG 到知识复利
  • 搭一个你自己的
  • 一句话总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档