ARTICLE · 978850
没有文档不可怕,烂文档才会要你的命
我接手过一份 180 篇的技术知识库。照着其中一条配置写法写了代码,结果踩了坑。后来发现,那条写法 3 年前就被官方废弃了,可全文没有一处标红。那一刻我意识到,烂文档比没有文档更可怕,因为它会被当成真理。
这一篇是 LlmWiki 系列的开篇。我想先聊清楚两件事:知识库为什么会腐烂,以及我做的 llmwiki-suite 究竟是什么。
llmwiki-suite 是什么
一句话定位:把一堆 Markdown 笔记,编译成「会生长、能问答」的个人知识库。它受 Karpathy 的 LLM-wiki 启发,用一套工具链持续编译笔记:补 frontmatter、建索引、巡检断链,最后通过命令行或微信、企微、飞书、Telegram 通道直接问答。和每次查询临时切片的 RAG 不同,它把知识库当成要长期养的活系统。
| ingest | index |
| query | lint |
| eval | serve |
为什么要把知识库当代码养
文档写完那天就开始贬值。版本号在变,API 在变,最佳实践也在变。你上个月写的最佳实践,下个版本可能就失效了。最麻烦的是,过期的东西不会自己跳出来警告你。它安静地待在搜索结果第一位,被新人复制进生产代码。缺失会被发现,错误会被执行。
所以要把它当代码仓库来养。有索引,改了内容就重建,不然会返回幽灵文档;有巡检,定期跑 lint 找断链和越界;有评估,用 eval 量化检索质量,让数据说话。每一次更新都留提交记录,每一次过期都定点修正,不靠一次大扫除。
0.1.5 之后,它多了一张脸
最近我把它推到了 0.1.5。除了命令行,现在起一个服务就能在浏览器里直接问答。打开 /webui/chat 输入问题,回答带引用来源,你能看见它参考了哪篇笔记;/dashboard 把通道状态、索引新鲜度汇总到一个工作台。回答还支持 SSE 流式,像打字机一样边生成边显示,不想等可以点停止。
同一条知识库,接进微信、企微、飞书、Telegram 都能直接问答。知识库不再是一个只能翻的文件夹,而是一个随时能对话的助手。
这个系列会写什么
| (本篇) | |
把知识库当代码仓库养,它才不会反过来坑你。关注后回复「llmwiki」,我把这套套件的开源地址和快速上手命令发给你。