本文介绍了如何利用 WorkBuddy + Obsidian + LLM wiki 搭建个人知识库,重点讲解了 Obsidian 的优势、Agent 和 LLM wiki 的作用,以及如何使用 claude-obsidian 项目实现高效的知识库构建。文章还讨论了知识摄入、查询、保存等操作,并提出了知识库健康检查和自动研究的建议。最后,作者分析了 LLM wiki 在个人和企业场景下的适用性,指出其在个人使用中更具优势。

做了快 2 年的 AI 课题了,终于出了一篇 10万+ 爆款:

这里也从侧面反映了一个问题:大家对 Agent + Obsidian + LLM wiki 搭建个人知识库这件事兴趣挺高的!

之前只是介绍了搭建的大致流程,大家真正要去做搭建时,会发现还存在许多问题,有点不知道从何下手,或者搭建起来之后,发现效果也不咋滴。

今天给大家介绍一种更快的搭建方法、以及过程中需要注意的一些问题。

图片

开始前,还是先科普一下为什么是 Agent + Obsidian + LLM wiki 这套组合?它们的分工是怎么样的?

Obsidian 的优势

先说分工问题,其中 Obsidian 是一款本地化的笔记软件,负责文件管理;而 LLM wiki 是一套构建知识库系统的框架;Agent 则是负责整理我们的知识:

图片

然后我们看为啥要用 Obsidian,用 Notion、IMA、NotebookLM 不行吗?

Obsidian 第一个优势是绝对的数据主权,不被平台绑定。

它所有的笔记都以 Markdown 格式保存在电脑本地,而不是保存在厂商的服务器上,完全不用担心数据泄漏、或因平台停止服务而迁移笔记等问题,并且所有本地 Agent 都可以便捷的读取或写入你的本地笔记文件。

而 Notion、IMA、NotebookLM 等,死死的依附于平台,你后续想要做知识迁移,从一个平台到另一平台格式可能不兼容。

Obsidian 第二个优势是,不鼓励使用文件分类去管理笔记,而是用双向链接去关联知识,通过[[笔记标题]]语法,就能在两篇笔记间创建双向链接。

基于这些链接,Obsidian 会自动生成一个关系图谱,让我们能直观地看到所有笔记和概念之间的关联,就像一张由我们的思想编织成的网络,模拟了人脑的联想方式。

另外就是,Obsidian 有强大的插件生态,可以像搭乐高一样,为它添加看板(像 Trello)、表格数据库、日历、思维导图等功能。

其中最著名的如 Dataview 插件,能让你像操作数据库一样查询笔记,可玩的属性非常高,我们能把它改造成任何模样。

综合这几点在构建个人知识库这个场景下是很有优势的。

在这个组合中,Obsidian 更多的是承担文件管理或可视化的职责,而知识库的构建质量并不取决于 Obsidian 本身,而是在于使用的 Agent 能力或者构建知识库系统的框架

因此大家不要神化它!

图片

而 Agent 工具的选择,主要看大家的使用门槛,选择一款你平常主流使用的即可,比如 WorkBuddy、QoderWork、Codex、Claude Code 都行。

因为 Agent 这里的职责是根据要求读取本地笔记内容,然后整理文件、编译知识以及长期维护知识系统,每个 Agent 都能干这些事情。

其实这里比较重要的是模型,优质模型会带来优质的编译!

LLM wiki

LLM wiki 是这套知识库系统的灵魂所在!

具体的思想之前聊了几次,大家可以自己看看,这里就不再赘述了:

这里我们更进一步来看,怎样更好的实践这套理念,这里我找了一个 Github 上面比较火的项目 claude-obsidian,也是目前很多人都在使用的。

它是基于 Karpathy 提出的 LLM wiki 这套理念的实践,并把整个流程 Skill 化了,还做了很多的优化。

这里大家不要被名字误导,它不只是在 claude code 中能使用,也可以在 WorkBuddy、Codex、Cursor 等 Agent 中使用。

下面我们依次来看整体流程:

安装 Claude-Obsidian 插件

这里我们以 Claude-Code 为例子,默认大家已经 Claude-Code 使用没问题。

打开命令行依次执行如下命令:

# 第一步: 添加插件市场
claude plugin marketplace add AgriciDaniel/claude-obsidian

# 第二步:安装插件
claude plugin install claude-obsidian@agricidaniel-claude-obsidian
初始化仓库

首先我们打开 Obsidian,点击【创建】,在指定文件夹下创建一个新的仓库,这里命名为 llm-wiki-claude,并使用 Git 版本管理工具初始化仓库,便于后续管理版本记录:

图片

然后在路径下使用Claude-Code打开,并输入/claude-obsidian:wiki指令初始化项目。

在这一步,它会询问我们创建知识库的主要用途是啥?并罗列出了6种模式让我们选择,每一种模式对应的目录结构设计是不同的:

图片

这里我们选择项目研究,最终搭建出来的项目结构如下:

图片

如果选择其它的模式,wiki这一层的目录结构会存在差异,因为它是由标准基础结构+模式特有层组合而成的。

下面是标准的基础结构:

图片

从这个步骤来看,我们之前的搭建过程,有个小错误,一开始就没有明确搭建知识库的目的是啥,直接就创建了一套由 karpathy 提出的标准化结构,其实并不一定匹配场景。

目录结构的设计本质上是对知识的抽离模型的设计,不同场景的知识库结构还是存在很大不同的。

Claude Obsidian 这个项目它内置了 6 种知识库场景,每种模式的具体的目录结构可以看项目源码中的 wiki 这个 skill 下的 modes 文件,这里不做展开。

模版完善

通过上一步,我们完成了仓库的初始化操作,按理来说可以直接进行知识的摄取了,但是不要着急,我们先得看看生成的框架是否真的可用。

图片

原始知识从 raw 文件中被 Agent 抽离到 wiki 中,结构元素需要被约束,不能让 AI 随意发挥,其中 /_templates 文件夹中的模版文件就很重要,它约定了被写入 wiki 中的知识结构是怎样的,以及每个页面需要包含的元信息有哪些。

如果这个没有被约束,大模型在编译知识的时候就会随意发挥:

图片

从上面文件结构可以看出来,模版文件和wiki下的目录并不是一一对应的,其中 gaps、meta、domains、thesis、comparison 就没有模版文件,那么最这里最好是补齐未定义的页面类型模版。

下面我们看一个模版文件的基本构成,这里以 Question 为例子:

---
type:question
status:answered
question:""
sources_consulted:[]
confidence:medium
tags:[question]
created:{{date}}
updated:{{date}}
---
# Q: {{title}}
## Question
*Theoriginalquestionasasked.*
## Answer
*Synthesizedanswerbasedonwikicontext.*
## Sources
*Whichwikipageswereconsulted.*
## Confidence
*Howconfidentweareinthisanswerandwhy.*
## Follow-ups
*Openthreadsfromthisquestion.*

开头部分是页面的元信息,元信息的设计是有标准可循的,基于都伯林核心元数据标准(图书团学的国际标准)扩展的,主要用途是结构化描述这个页面的基本信息,便于后续做查询过滤、知识状态标记、图谱构建等。

而正文部分则是每个知识单元的关键构成,比如Quesion这个模版中,它包含用户问的原始问题、基于wiki生成的答案、生成答案时参考了哪些wiki页面、这个答案生成的置信度和理由、衍生问题。

把优质回答写回wiki时就要遵循这套模版要求,确保答案一定是基于wiki页面生成的,而不是靠大模型预训练知识回答的,并且还要做知识溯源和置信度评分。

这里主要想通过这个示例模版文件来表达,每个类型的知识生成一定是有框架去限制的,而不是让模型自由发挥。

知识摄入

这里我找一篇之前写过的公众号文章《向量检索、知识图谱与 LLM Wiki:RAG 被嘲笑了三年,但企业还是离不开它》,作为知识源,先加入.raw文件夹中,然后进行知识编译。

图片

知识摄入操作使用如下命令:

/claude-obsidian:wiki-ingest

图片

基于单篇文章最终新建了16个页面,主要抽离了6个核心概念、5个实体对象、并抽离出文章中的重要观点、以及下一步知识补足建议。

图片

结合原文内容以及编译结果,整体质量还是很不错的,实体和概念以及观点都能一一对应。

图片

不过,多次操作之后,会遇到一个实际的问题:如果重复执行摄入指令,如何避免知识源文件被重复的编译生成呢?

比如前面我的指令并没有指定文件路径,那下一次我又加入了新的知识文件后,是不是要指定编译新加的文件路径呢?

不需要的,直接输入前面的摄入指令就行。

因为每次摄入时都会为文件生成内容hash值,然后在.raw/.manifest.json 文件中检查是否有相同 hash;如果命中则跳过编译,未命中则正常处理。

编译完成后,在把本次摄入的源文件hash值记录到.manifest.json中,下次再 ingest 它会直接跳过。

图片

另外,经过一段时间的实践发现,少量知识摄入的质量是很高的,可能跟短上下文和内容足够聚焦有关系。

但单次知识摄入太多、或主题分散的时候,抽离的质量会出现明显下降,对应的概念、实体、结论会漏掉。

另外知识源的质量也非常的关键,如果一股脑的把看到的文章都直接塞入进来,模型基于错误的知识进行加工,生成的知识也是错误,最终就是典型的垃圾进垃圾出了。

所以,要想保证知识库的质量,除了合理控制单次摄入量,还得从源头把关,慎重选择知识源文件。

知识查询

图片

知识查询操作使用如下命令:

/claude-obsidian:wiki-quey rag 有哪些检索技术?

检索结果如下图:

图片

其中红框中的核心判断是高度符合原文表达的。

在上一篇文章中我们讲过,它的检索思路,是先查 wiki/index.md 这个索引文件,然后在按需查找相关的页面,跟 Skill 的渐进式披露机制类似。

这样设计的有个好处是提升检索效率、同时能减少 Token 的消耗。

Claude Obsidian 还做了一个优化措施,每次操作后,无论是写入还是查询,都会把本次关键上下文写入到hot.md文件中,大约500词,注意这里写入是直接覆盖。

后续会话过程中,无论是新开会话还是跨项目使用,都会优先读取hot.md的缓存内容,相比直接读index + N 个页面,单次 query 能省下 70%+ 的 token。

它是通过本地文件把会话关键信息持久化保存,确保上下文在不同会话中能够被衔接,无需我们重复解释,让下一次 query 不必从零开始,从而节省很多的Token消耗。

回答保存

如果这个回答质量高,我们可以把对话内容归档到wiki中去,使用如下命令:

/claude-obsidian:save

结果如下:

图片

这里就会用到前面的Question模版文件了,把刚刚对话的问题和答案以及参考的wiki页面写入到wiki/questions中。

看下面的截图,我打开一个新的会话询问相同的问题:

图片

从结果可以看出,当我们再问同样的问题时,没有重新去wiki里面找相关的页面然后在组织答案,而是直接基于现成答案进行回答的,回答的内容与前面完全一致。

但是这里有个问题,答案被沉淀到wiki中,如果对应的知识页面发生了更新,但是这里答案可能仍然没有更新,我们下次检索时,拿到的答案就是落后的。

这里有两种处理办法:

第一种是,在检索流程中,增加交叉验证,不仅从wiki/questions中查找,拿到结果还要从相关的概念、实体等页面中检验现在的答案是否正确。

第二种是,从源头解决,在知识摄入时,如果已有的wiki页面发生了更新,同步更新引用该wiki页面的question页面的元信息,把 stale字段设置为true。后续在统一扫描过期的答案,集中治理。

自动研究

前面说的知识摄入,处理流程是,我们提供资料,Agent帮我们整理。但是实际情况是,我们提供的资料难免会有空缺,导致我们知识缺口长期存在。

比如前面我只加入了一篇文章,关于RAG知识体系还差很多内容,我想补足Agentic RAG这部分知识到wiki中来,但是又没有高质量的知识摄入,这时候就可以用autoresearch的能力,自动补足缺口知识。

使用方式如下:

请添加图片描述

它的工作流程是,根据我们输入的Topic,分解成3-5个搜索角度,跑3轮大约45次webSearch。

第一轮,围绕主题从不同角度分别去找资料;第二轮,基于第一轮发现的空白和矛盾,在做针对性搜索;第三轮,如果仍然存在关键缺口,就继续补充,否则就进入整理阶段。

最后把结果沉淀到wiki中。

过程听起来很好,但是实践下来你会发现效果很糟糕,这里我的经验是:

autoresearch仅适合补足空白知识,并且主题范围越小,结果越好。因为它是联网搜索去抓取内容,你主题定得太大,它可能抓回来一堆主题分散的资料,并且这里还要限定抓取的信息源,优先抓官方文档,避开营销软文。

在编写提示词的时候,就需要花些功夫,把研究主题聚焦、研究范围写明确、约束条件写清楚,像上面的示例一样。

健康检查

通过前面可以发现,整个知识摄入过程完全取决于大模型的处理,一开始笔记少的时候,靠人工二次确认也没问题,但是知识库页面增长后,问题就会出现,比如:

孤立页面、死链接、过期结论、缺失页面、交叉引用缺失、元信息缺失、索引漂移等。这时候就需要定期执行:

/claude-obsidian:wiki-lint

这个skill会帮我们完成上面的检查,检查完成后,它会在wiki/meta下面生成一份检测报告,告诉当前知识库哪里有问题,哪些可以自动修,哪些需要人工判断。

这一步很重要,建议定期检测,每摄入15次,就做一次健康检查,让知识库wiki保持健康状态。

但这里的问题是,如何让wiki记住摄入的次数,以便到达对应次数的时候,主动提醒我们,否则很容易忘记。

这里的处理办法是,在摄入工作流末尾,添加如下规则:

摄入完成后,读取 log.md:
1. **计算距上次 lint 操作的 ingest 次数**

2. **如果 ≥ 15 次,主动告述用户"建议进行健康检查"并等待确认**

3. **如果 < 15 次,不提**

LLM wiki不是一次性工程,而是一个会长期生长的系统,只要持续摄入,就需要持续治理。

本地检索

前面讲的查询流程默认是先查hot.md,在查index.md,然后查相关页面,这种方式对于小型知识库很好用,但是当我们的wiki持续变大之后,检索效率就极大下降,并且Token消耗也很大。

要解决这个性能瓶颈,Claude-Obsidian这个项目集成了本地检索方案,也就是wiki-retrieve,它的核心流程是:

  1. 先把wiki页面拆分为小的chunk;

  2. 给每个chunk生成上下文前缀,确保这个chunk脱离原文也能被理解

  3. 基于这些chunk构建BM25关键词索引;

  4. 查询时先用BM25召回候选片段,在用向量相似度做语义重排;

  5. Agent读取命中的原始页面,在生成最终答案。

注意这里方案是基于BM25关键词进行检索的,而不是用纯向量检索,它只是用向量进行语义重排。之所以这样做,因为本地知识库内容经常变,纯向量构建成本太高。

这种检索方案是可选的,需要单独初始化才可用,默认还是的前面介绍的检索流程。当你的个人知识出现性能瓶颈的时候,才建议激活使用。

总结

以上就是 Claude-Obsidian 搭建个人知识库的实践,整体流程还是很简单清晰,使用成本也很低,只是搭建过程中仍有些细节需要注意,希望这篇能帮你更顺利地构建属于自己的知识库系统。

最后,之前有很多同学在关注这个东西能不能用到企业场景,我这里也简单的说下吧:

图片

首先,LLM Wiki 这套架构的核心优势是:自动知识提炼与结构化,从文章、笔记等原始资料中,Agent 能自动生成概念页、实体页、论点页等,把隐性知识网络显性化、结构化,这比人手一条条整理快得多。

若以此兴必以此亡,因为 LLM Wiki 吃了大模型整理文档的红利,那就天生要承担其缺陷:

第一,知识质量高度依赖模型和源材料。如果源文件垃圾或者模型能力不行,那么抽出来的信息就要完蛋。

虽然现在模型多数
第二,多人实时协作与权限控制薄弱。

它是基于本地文件 + Git 的工作流,没有类似钉钉文档、飞书文档那样的多人实时共同编辑、细粒度的页面级权限。

如果要团队使用,得依赖 Git 分支、拉取请求来协作,对非技术背景的成员门槛较高。

最后就是,数据量大了后的情况我还没测试,但想来单机文件系统可能也不太容易,所以这里结论是:

LLM Wiki 更适合个人使用

企业可能很难使用,因为要考虑成本和效率的,单单是Token 消耗、查询频次、文档后置的维护成本就过不去。

所以,如果你的目标是要做一个对外的、多用户的、成本敏感的企业知识库,LLM Wiki 这条纯 Agent 驱动的技术路径需要大量工程改造;

如增加问答缓存、分层检索等,而改造后的系统,可能已经偏离了LLM Wiki强调的零摩擦、自生长的初衷了…

最后

如果说程序员已经是高薪职业,那么干AI的程序员,就是高薪中的高薪。

图片

现在的市场,已经用数据给程序员指明了方向:学AI大模型,就是冲刺高薪的最优解!

图片

看着身边越来越多的同行转型大模型、拿到高薪offer,很多人心里都动了心,但真正的难题来了:零基础小白不知道从哪入门?有基础的程序员找不到系统学习路径?实战项目练手无门?面试不知道考什么?

别慌!今天就给大家整理了一份【2026年最新版】AI大模型免费学习资源包,覆盖从入门到实战、从理论到面试、从基础到进阶的全流程,所有资料均已整理归档,无冗余、无套路,免费分享给每一位想抓住AI风口的程序员和小白!

👇👇扫码免费领取全部内容👇👇

在这里插入图片描述

1、大模型系统化学习路线

在这里插入图片描述

2、大模型学习书籍&文档

在这里插入图片描述

3、AI大模型最新行业报告

在这里插入图片描述

4、大模型项目实战&配套源码

img

5、大模型大厂面试真题

img

四阶段精细化学习规划(附时间节点,可直接照做)

结合上述资源,给大家整理了一份可直接落地的四阶段学习规划,总时长约2个月,小白可循序渐进,程序员可根据自身基础调整节奏,高效掌握大模型核心能力,快速实现从“入门”到“能落地、能面试”的跨越。

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范
第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署
第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建
第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

👇👇扫码免费领取全部内容👇👇

在这里插入图片描述

6、这些资料真的有用吗?

这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理,现任上海殷泊信息科技CEO,其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证,服务航天科工、国家电网等1000+企业,以第一作者在IEEE Transactions发表论文50+篇,获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。

资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的技术人员,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。
在这里插入图片描述
在这里插入图片描述

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

https://mp.weixin.qq.com/s/mrlUwWk158urYwE4mlETywhttps://mp.weixin.qq.com/s/mrlUwWk158urYwE4mlETyw

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐