ARTICLE · 1130195
为什么 AI 读完了所有文档,还是答错了你的问题?
公司做了个知识库问答,把几千份文档全传了进去。同事问一句“差旅住宿标准多少”,AI 客客气气地讲了一大段“差旅管理的重要意义”,就是不给他那个数字。
他跑去库里翻,那份文件明明在,第 12 页,白纸黑字写着 600 元一晚。
多数人的第一反应是:模型不够强、文档没传全、提示词没写好。
其实都不是。真正的原因是——这个知识库,从建的那天起就选错了类型。
一、先破一个常见的误解
我们脑子里“知识库”这个词,想象的往往是一个仓库:把资料丢进去,需要的时候拿一份出来。
但对 AI 来说,怎么存”和“怎么找”是绑在一起的。你存的姿势,决定了它找到的姿势。
这里一共有六种存法。搞清楚它们的区别,比理解任何模型参数都实用。
下面每一种,我都会先用一个你天天遇到的场景打个比方。
二、六种知识库,其实就是六种“找东西”的习惯
01 关键词型:像查字典
你查字典,必须知道要找的那个词。词典不会理解你“大概想找什么”,它只认字面。
关键词型知识库就是字典。它把每个词和它出现过的文档位置记录下来,你查什么词,它就找含这些词的段落。
它最擅长的是词是固定的时候:产品型号、合同条款号、法条编号、人名。你问“第 12 条写了什么”,它绝不会错。
它也有明显的死板:换个说法,它就翻白眼。你问“报销要多久”,文档里写的是“费用结算周期”,字面一个都对不上,它只能当没看见。
什么时候用:术语特别密集、用词高度固定的地方,比如法务条文库、设备维修手册、产品型号库。一句话概括:它精确,但只认字。
02 向量型:像跟熟人说话,你换词他也懂
关键词型最大的毛病是不懂“意思相同”。向量型解决的正是这件事。
它的做法有点玄:把每段文字压缩成一串数字。这串数字不存字,存的是“这段话大概是什么意思”。意思越接近,这串数字就挨得越近。
所以你问“报销要多久”,它能捞回写着“费用结算周期”的那段,因为在它的世界里,这两个说法是邻居。
这是目前最主流的选择,也是被误解最深的。它有三个做不到的事,值得记住。
做不到精确取值。它懂意思,不懂数值。你问 600 元,它可能把 500 元那段捞上来——语义太像了,数字对不对它不负责。
做不到多跳。文档里写着“A 部门归 B 中心管,B 中心归 C 事业部管”,你问“A 属于哪个事业部”,它很难自己连跳两下。
做不到统计。“Q3 新入职多少人”——它库里根本没有“人”这个东西,只能找到提到这句话的那一段。
一句话概括:它懂意思,但记不住确切的数,也记不住确切的关系。
03 图谱型:像看一张关系网
前两种存的都还是“一段一段的话”。图谱型换了个思路:它存的不是段落,是一张网。
人是一个点,部门是一个点,“张三点”和“市场部点”之间连一条线,这条线叫“任职于”。整张网就是知识库。
这样一来,复杂的问题就不难了。“A 的供应商的控股方是谁”——沿着线一层层走过去,答案自己就浮出来了,不用在几千段文字里碰运气。
更重要的是,它能说清理由:A 连着 B,B 连着 C,所以结论是 C。合规审计、医疗决策这类场景里这是刚需,因为结论要能被追溯。
代价也很实在:贵。
在建网之前,你得先想清楚“这张网里有哪些东西、它们之间有哪几种关系”;定完还得从文档里把一个个实体抽出来,再判断“张三”和“老张”是不是同一个人。行业调研里,光这两步,企业项目通常要 6 到 10 周。而且网的结构一变,全网要重抽一遍。
什么时候用:当你的问题天生是“谁连着谁”,比如供应链溯源、合规影响面、公司组织架构、金融反洗钱。一句实在的提醒:如果你的问题里没有“谁连着谁”,就别上图谱。
04 结构化型:像去银行查余额
前三种都在跟文字打交道。但有一类问题的答案,根本不是一段话,是一个数。
“华东区 Q3 客单价多少”“库存低于安全线的 SKU 有几个”——这种问题,正确做法不是让 AI 去读文档,而是让它去查表:把你的问题翻译成一句查询语句,直接打到数据库上,返回的就是精确结果。
这是最容易被忽略的一类。很多团队的业绩数据明明就躺在数据库里,却非要导出成 Excel 再做成 PDF 塞进 AI,然后抱怨“AI 算不对数”。
什么时候用:当答案是一个数、一个名单,不是一段话。一句话概括:它只答“数”,答不了“理”。
05 多模态型:有些知识根本不是文字
有一类资料,你会发现“读”这个动作本身就失效了:设备装配图、化验单照片、带大表格的财报、扫描版合同、纯图示的操作手册。
这些知识不是“写”下来的,是“画”出来的。如果知识库只处理文字,那这些内容从入库第一天起就是缺席的。
多模态型做的事,就是让图片、扫描件、图表也能被检索到——你可以直接拿着一张图纸问“这个接口接哪根线”。
麻烦在于链路长:识别版面、切块、向量化,一串下来成本高。而且表格是最容易被切碎的,一张表被拦腰截断,前后两半谁也救不了谁。
什么时候用:翻一遍你的资料,如果超过两成的关键信息只存在于图片和表格里,那纯文字知识库缺了一块。
06 记忆型:它记的不是知识,是“关于你的事”
前五种存的都关于世界。这一种不一样,它存关于人的东西:你说过什么、你的偏好、你上次问过什么、任务进行到哪一步了。
它的找法也不一样——不按文档找,按“人加时间”找。
有了它,AI 才能说出“上次我们聊到第三章,你当时不同意用这个方案”这种话。没有它,它每次见你都像第一次见面。
要提醒的是:它不能替代事实性知识。它是关于你的记忆,不是关于世界的知识,两者不能混着用。
什么时候用:做 Agent、做有连续对话的产品、做需要“记住你”的个性化服务,这一层几乎是必配的。顺带说一句挺形象的类比:向量库存的是“临时工作记忆”,图谱存的是“长期事实记忆”。
三、一张表收个尾
四、现实里没人做六选一
如果你看完心想“那我到底该用哪个”,答案是:都不对。真实做法是组合。
分工大致是:向量负责把可能相关的都捞回来(管召回),关键词负责兜住专有名词和编号(管精确),图谱负责把关系串起来(管路径),结构化负责算那些数(管准确),最后统一交给一个“重排序”模型做最后筛选。
关键是顺序。别一上来就上全家桶,这样走:
第一步:先做向量加关键词。性价比最高。绝大多数团队走到这一步,效果就已经够用了。
第二步:加一层重排序。先粗粗捞 50 条,再用一个更精细的模型重新打分,只留前 5 条。很多团队反馈,加完这一层,系统才算真正“能用了”。
第三步:等你确实发现某些问题老是答错,再补图谱或结构化查询。针对性补课,不要预防性过度建设。
第四步:多模态和记忆,按需再加。
同时要算清成本:每多加一种知识库,就多一条入库流程、多一套更新机制、多一份要盯的质量指标。两套索引意味着两份刷新工作。绝大多数团队的正确节奏,是在“纯向量方案效果见顶”之后,再考虑组合。
五、选型其实只要三步
第一步,看你的用户会怎么问。这比看数据重要得多。
要一个精确的数 → 结构化型
要一段说法 → 向量型
要一条关系链 → 图谱型
要一个编号或条款 → 关键词型
要一张图 → 多模态型
要“我之前说过的事” → 记忆型
第二步,看数据本来的样子。数据在数据库里,就让它待在数据库里;数据是一堆 PDF,就别硬拆成表格。顺着数据本来的形态走,成本最低、失真最少。
第三步,看更新有多频繁。变化快的内容,要避开重建成本高的方案。图谱的网结构一改就是大工程,而向量库加一条内容,只是多算几次向量。
六、三个最常踩的坑
坑一:把所有东西都塞进向量库,指望它什么都能答。这是最普遍的错觉。一个库解决不了所有问题形态,就像一把螺丝刀拧不动所有规格的螺丝。
坑二:不测效果就上复杂架构。你分不清问题出在“根本没找到”还是“找到了但排错了序”,那加再多索引都只是把复杂度翻倍。正确顺序是:先攒 30 到 50 道真实问题当考卷,把“现在到底错了多少”量出来,再决定加什么。
坑三:只顾选类型,不管东西怎么进去。同一个向量库,切分方式不同、重复内容清不清、标签打得好不好,效果能差出一大截。类型选对了,垃圾进去还是垃圾出来。
七、回到开头那个 600 元
现在我们知道问题出在哪了。
那份《差旅费用管理办法》里的“600 元”,本质上是一条结构化数据。放进向量库,它就只是“一段关于差旅标准的文字”;放进结构化查询,它才是“住宿标准等于 600”。
所以不是模型不行,而是你让一个擅长理解语义的系统,去干了一件需要精确取值的事。
先想清楚用户会问什么,再决定知识库怎么建。顺序反了,后面全是补丁。
你现在用的知识库,属于哪一类?又踩过什么坑?