夜雨聆风学习资料网

ARTICLE · 978850

没有文档不可怕,烂文档才会要你的命

没有文档不可怕,烂文档才会要你的命
LLMWIKI 系列 · 一
没有文档不可怕,烂文档才会要你的命

我接手过一份 180 篇的技术知识库。照着其中一条配置写法写了代码,结果踩了坑。后来发现,那条写法 3 年前就被官方废弃了,可全文没有一处标红。那一刻我意识到,烂文档比没有文档更可怕,因为它会被当成真理。

这一篇是 LlmWiki 系列的开篇。我想先聊清楚两件事:知识库为什么会腐烂,以及我做的 llmwiki-suite 究竟是什么。

llmwiki-suite 是什么

一句话定位:把一堆 Markdown 笔记,编译成「会生长、能问答」的个人知识库。它受 Karpathy 的 LLM-wiki 启发,用一套工具链持续编译笔记:补 frontmatter、建索引、巡检断链,最后通过命令行或微信、企微、飞书、Telegram 通道直接问答。和每次查询临时切片的 RAG 不同,它把知识库当成要长期养的活系统。

ingest
扫描笔记,补 frontmatter,规范化 wikilink 命名
index
生成 BM25 加 wikilink 图检索索引
query
召回相关章节,接 LLM 输出完整回答
lint
巡检断链、词表越界、命名规范
eval
用 recall@K 和 MRR 给检索质量打分
serve
启动 HTTP 服务,把知识库接到 IM,也提供网页问答

为什么要把知识库当代码养

 核心观点只有一个:知识库的价值在执行力,不在数量。

文档写完那天就开始贬值。版本号在变,API 在变,最佳实践也在变。你上个月写的最佳实践,下个版本可能就失效了。最麻烦的是,过期的东西不会自己跳出来警告你。它安静地待在搜索结果第一位,被新人复制进生产代码。缺失会被发现,错误会被执行。

所以要把它当代码仓库来养。有索引,改了内容就重建,不然会返回幽灵文档;有巡检,定期跑 lint 找断链和越界;有评估,用 eval 量化检索质量,让数据说话。每一次更新都留提交记录,每一次过期都定点修正,不靠一次大扫除。

0.1.5 之后,它多了一张脸

最近我把它推到了 0.1.5。除了命令行,现在起一个服务就能在浏览器里直接问答。打开 /webui/chat 输入问题,回答带引用来源,你能看见它参考了哪篇笔记;/dashboard 把通道状态、索引新鲜度汇总到一个工作台。回答还支持 SSE 流式,像打字机一样边生成边显示,不想等可以点停止。

同一条知识库,接进微信、企微、飞书、Telegram 都能直接问答。知识库不再是一个只能翻的文件夹,而是一个随时能对话的助手。

这个系列会写什么

1
(本篇)
 开篇:知识库为何腐烂 + 套件总览
2
检索内核:BM25 加词表调优的真实踩坑
3
索引指纹:过期检测,改内容不重建索引会返回幽灵文档
4
多通道:同一份知识库接进企微 / 飞书 / Telegram
5
评估体系:recall@K / MRR 给检索质量打分
6
六类误报与巡检:把内容质量当 bug 修

把知识库当代码仓库养,它才不会反过来坑你。关注后回复「llmwiki」,我把这套套件的开源地址和快速上手命令发给你。

相关学习资料

返回首页浏览学习资料