返回首页

为什么我做个人 AI 知识库彻底放弃了向量数据库?

市面上 99% 的 AI 知识库教程,第一句就是教大家安装 Docker、启动向量数据库(Chroma / Milvus / Qdrant)、然后跑切片(Chunking)做 Embedding。

如果你跟我一样,曾经兴致勃勃折腾过 Dify、FastGPT、LangChain,但最后却发现查出来的东西总在“抽风”,那你应该会对这种痛苦深有体会。

“你想装个画框,不会先去炼铁造一把锤子。对于个人知识库,最先进的技术往往就是最朴素的文件。”

一、 向量库在个人场景下的三大「水土不服」

向量数据库最初是为了企业级海量非结构化数据检索而生的。但在个人桌面级知识库场景中,它带来了巨大的认知负担与不可解的黑盒:

二、 核心破局点:语义在先,计算在后

在我的 fuxi 模式 AI 本地知识库系统中,我彻底摒弃了向量库,采用了一套完全反常识的解法:

语义提炼在先(由大模型提炼打标签),规则算力在后(Python 计算重叠度)。

效果远比纯靠向量相似度更精准、更透明,也更经得起时间推移:

  1. 标签不仅是关键词,而是“高阶语义压缩包”:每丢入一篇文章,让大语言模型先以我的立场提炼出 3-5 个具象标签与主观观点。
  2. 纯 Markdown + Git 是能陪伴你十年的载体:没有任何二进制专有数据库格式,所有笔记随时可以用 VS Code、Obsidian 查看与 diff。
  3. 一行极简公式搞定关联度:通过 Python 脚本计算笔记之间的标签重叠度与关键词匹配,判定条件清晰透明(例如 公共标签 × 2 + 标题词 × 1 >= 4),完全可解释。
# 朴素但极其精准的关联度规则(fuxi 架构核心逻辑之一)
def calculate_relevance(note_a, note_b):
    common_tags = set(note_a.tags) & set(note_b.tags)
    common_keywords = set(note_a.keywords) & set(note_b.keywords)
    
    score = len(common_tags) * 2 + len(common_keywords) * 1
    return score >= 4  # 达标则双向建立 frontmatter 关联

三、 从「检索」到「编译」的升维

传统 RAG 知识库的核心是检索(Search)——你问它一句,它临时抓取几段切片凑成答案。你下次再问,它重新凑一次。

但创作者和思考者真正需要的是编译(Compile):

当讨论同一主题的素材积累到一定程度时,AI 会回头将多篇零散笔记综合提炼成一份结构化的《主题结论页》(Topics)。新输入一条资料,AI 自动往回织(Back-weaving)并高亮标注新旧观点的冲突与演进。

这样一来,知识库不再是一个冷冰冰的问答工具,而是变成了你的“思考协作者”,在素材成熟时甚至能反向派发写作选题。

四、 写在最后

别为了上技术而上技术,不要被工具绑架。

在 AI 能力已经极大充沛的今天,我们要做的恰恰是做减法:把注意力放回思考、输入与创作本身。最经得起考验的系统,往往构建在最简洁朴素的基石之上。

← 返回主页 下一篇:个人创作者的「进·存·取」架构思考 →