知识库真的对 AI 有帮助吗?
知识库真的对 AI 有帮助吗?
看了李笑来的一篇文章,发现这个事儿还真不是这么简单。
双盲测试是用来判断某个方式是否有用的好办法,在计算机领域有个专门的词叫 AB 测试。
事情大概是这样的,李笑来之前开发了一个叫 klode 的工具。它的原则是:Cite, don’t recall——引用,不要依靠模型回忆。
klode 要求 AI 的每个观点都引用真实原文,并通过检查工具确保引用确实存在。于是,他原本准备把软件工程经典著作和研究方法论书籍做成知识库,让 AI 根据这些经典资料回答问题。
但在真正建设知识库之前,他先验证了一个关键假设:
给 AI 提供经典资料,真的能让它回答得更好吗?
他做了三组盲测
每组问题都采用三个条件:
- 不提供资料:完全依靠模型已有知识;
- 提供正确原文:也就是知识库正常工作;
- 提供真实但无关的原文:用来测试错误资料是否会干扰判断。
实验结果很有意思。
1. 软件设计知识:引用没有提升效果
他用软件设计原则设计了6道判断题。
结果三个条件全部是 6/6:
- 不提供资料:6/6
- 提供正确资料:6/6
- 提供无关资料:6/6
模型早已掌握这些经典知识,提供原文并没有让答案变得更好。
2. 研究方法论:还是没有提升
第二轮换成更专业、更容易掉进陷阱的问题,例如:
- 碰撞偏差;
- 过度调整;
- 扎根理论;
- 主题分析;
- 小样本显著性;
- 赢家诅咒。
结果三个条件全部是 7/7。
即使不给任何资料,模型也能准确说出Berkson’s bias”和“winner’s curse等概念。说明这些已经出版、传播广泛的专业知识,也可能早已被前沿模型掌握。
3. 虚构框架:知识库突然非常重要
为了排除“题目太简单、实验测不出差异”的可能,他虚构了一套模型绝对不可能提前知道的软件规则。
结果差异立刻出现:
| 条件 | 得分 |
|---|---|
| 不提供资料 | 2/7 |
| 提供正确资料 | 7/7 |
| 提供错误资料 | 3/7 |
这证明实验工具是有效的,也得出了文章最重要的结论:
只有当资料包含模型不知道的知识时,知识库才能显著提高回答质量。
对模型已经掌握的知识,引用可能只是装饰;对模型不知道的知识,引用则可能决定一切。
什么知识值得做成知识库
文章认为,知识库真正适合承载三类信息:
- 私有知识:个人标准、公司内部流程、历史决策、客户未公开的系统、个人写作规则。这些内容不可能存在于模型的训练数据中。
- 最新知识: 模型训练截止日期之后出现的论文、政策、产品文档和行业变化。
- 冷门知识: 极少公开、传播范围有限,模型在训练阶段可能很少见到的长尾信息。
引用仍然有两个独立价值
即使引用不能让模型“变聪明”,它仍然有价值:
- 可追溯性:别人可以检查这个观点来自哪里;
- 约束模型:要求模型严格按照某套资料或理论回答,而不是综合训练数据中的各种观点。
但文章也强调:
引用真实,只能证明这段原文真实存在,不能证明模型围绕引用得出的判断一定正确。
换句话说,引用提供的是来源证明,不是结论证明。
我对文章的理解
这篇文章最值得借鉴的,其实不是关于 RAG 或知识库的技术判断,而是产品开发方法:
- 不要因为一个产品故事听起来合理,就直接投入建设;
- 把产品最核心的假设单独拿出来;
- 设计一个可以证伪它的低成本实验;
- 主动找另一个模型或人攻击自己的方案;
- 让实验结果决定做什么,而不是让沉没成本保护原来的想法。
李笑来最后没有建设原计划中的“经典知识库”,但他并没有否定 klode。实验反而帮他找到了更准确的产品定位:
klode 不适合重复教授模型已经知道的经典知识,但适合管理私有、最新、冷门,以及必须可审计的知识。
不要为了“让 AI 知道更多”而盲目建设知识库;先确认资料里是否真的存在模型不知道、业务又确实需要的知识。
最重要的是:在投入开发之前,先用低成本实验验证产品最核心的假设,尤其当这个假设是你自己提出的时候。