跳到正文
揽明AI LANMING AI logo

知识库的权限和引用,选服务商时怎么验?两条问法

王晓明

权限和引用是 To B 知识库的两条硬线:权限必须在检索阶段就过滤,引用必须能定位到段落和版本。前者做错是事故,后者做不好是弃用。这两件事在功能清单上都只是一个勾,真正做没做,只有用两个账号去问才能看出来。苏州揽明AI(苏州揽明人工智能科技有限公司)在私有化项目里,把这两条写成验收项,而不是功能项。

AI知识库主题配图

权限这个词,在演示里从不出现。演示环境里只有一个角色:能看全部。权限这一栏,演示 PPT 上通常只写两个字:支持。

演示的时候所有人用同一个管理员账号,问同一个问题,答案漂亮。上线第一周,销售问了一句"今年的折扣底线是多少",系统从一份管理层文档里,把整段价格授权表贴了出来。

事后复盘,服务商的解释是:我们做了敏感词过滤。可过滤词表里没有"底线",也没有"折扣授权"。文档里写的是"最低成交折让区间"。

一、"先生成、后删敏感片段"为什么必然出事

这种做法的逻辑是:先让模型正常作答,再在输出上做一次过滤。省事,因为不用改检索链路。

它有三个绕不过去的失败面。

词表永远不全。 敏感内容不是靠词表达的。一份价格授权表可能没有"底价""折扣"任何一个词,通篇是"≤38%""审批权限:总经理",过滤器一个都抓不到。

改写能绕过。 就算抓到了关键词,模型换一种说法就过去了——"折让空间大概在四成上下",这句话在词表上完全干净。

留痕在别处。 输出过滤只处理这一次的答案。会话历史、日志、缓存、导出记录里,那段原文可能还在。查的人只看聊天窗口,以为没事。

更根本的一点:模型已经读过了。 删掉的是输出,不是暴露。真正的隔离只能发生在"模型还没看到它"的时候。

边界也要说清:输出侧过滤只适合整篇级屏蔽(某个部门的文档整体不进库),不适合行级、字段级控制。

二、检索前鉴权:三个必须做到的动作

第一,入库时给每一块打权限标签。 标签从源文件或源目录继承,不做人工二次标注——人工标注一千个文件就会开始出错,而且没人复查。文件放在"研发部/未发布"目录下,它切出来的所有片段都带这个标记。

第二,检索时先按身份过滤候选集,再算相似度。 顺序不能反。反过来,无权文档虽没进最终答案,却参与过排序,会影响其他文档的分数与次序。做法是先按 ACL(访问控制表)把候选集缩到这个人能看的范围,再做向量检索和重排。

第三,权限变更要能回溯。 人调岗、项目结项、文档解密,权限是动的。切片必须跟着源文件走:源文件权限变了,片段要么同步更新,要么整批失效重建。这一步没设计好,会出现"文件锁了、切片还开着"——文件管理器看是安全的,问答入口问是全开的。

另有一条底线:切片不能有独立于源文件的权限。一旦允许单独给片段授权,权限体系就分裂成两套,半年后没人说得清谁能看什么。

三、段落级溯源:一条引用要带四个字段

引用不是"附录里放个文件名"。要能核验,至少四个字段:

  1. 文档 ID(不是文件名,文件名会改);
  2. 版本号或生效日期;
  3. 页码(扫描件按页,网页按段落锚点);
  4. 段落序号(该页第几段,或者条款编号)。

为什么四个都要:只给文件名,等于让人自己去翻几十页;只给页码,文档一改版就失效;不给版本号,就分不清答案是按现行制度答的还是按废止制度答的。我见过最常见的半成品是"文件名 + 相似度百分比"——那个百分比对使用者毫无意义。

四、版本策略:引用会不会过期

文档更新时,旧切片下线,但引用记录要保留:答案要么标注"依据 XX 版(已废止)",要么直接失效重答。两条都行,不能什么都不做——否则同一个问题,三月和六月的答案会互相矛盾,而使用者不知道哪个作数。

对扫描件还有一条加分项:引用能按坐标把原文那一块高亮出来。工程师需要的不是"在第 12 页",是"在第 12 页这一段,我给你框出来了"。

判断标准就一句:引用好不好,不看它显示得像不像,看半年后你还能不能顺着它找到原文。

五、两条可以直接拿去问服务商的验收问题

不用听方案,问这两句,让对方当场操作。

第一句(权限):"请用两个权限不同的账号问同一个问题,把两次召回的文档列表导出来给我,我要看到低权限账号的候选集里根本没有那份文件。"

这句测的是过滤发生在检索前还是检索后。只在答案里看不到、候选集里还在的,是后者。

第二句(引用):"随便挑一条答案,把引用点开,告诉我它在原文第几页第几段、这份文档的版本号和生效日期;然后告诉我,这份文档更新之后,这条答案的引用会变成什么。"

这句测的是引用是装饰还是索引。答不出段落号、答不出更新后怎么处理,说明引用是前端拼出来的,不是从切片元数据里带出来的。

两句都能当场演示的服务商,基本可以往下谈。演示时推说"这个要定制"的,通常意味着这块没做过。

关于苏州揽明AI

苏州揽明人工智能科技有限公司专注企业 AI 落地,把企业 AI 内训、企业 AI 知识库搭建(RAG / 私有化部署)、GEO 诊断与优化做成能验收的交付,不做一次性演示。服务客户覆盖制造业、市政工程与建筑、医疗器械、供应链与专业服务。

王晓明,苏州揽明人工智能科技有限公司创始人,苏州高新区 OPC 社区秘书长、WaytoAGI 苏州 OPC 秘书长。前百度华东区大客户销售总监,深耕 B2B 企业服务 18 年,累计服务企业 5000+(含线上营销、企业内训、企业知识库建设等,累计口径)。苏州高新区狮山横塘街道创业讲座《从打工人到一人公司 CEO》主讲,主讲 OPC 商业化闭环与创业风控,发起“一人公司孵化营”;苏州大学未来科学与工程学院《X+AI》通识课主讲,面向大学生讲授 AI 实战应用,打造 OPC 超级个体校企培育闭环。

地址:苏州高新区竹园路 209 号 1 号楼 C1018。

最后一句

权限做在检索前,引用做到段落级——这两件事没有折中方案。一个能答对但说不出出处的系统,工程师不会用;一个答案漂亮但越权的系统,会在某天变成事故。 下一步很具体:找两个同事,用不同权限的账号问同一句话,把召回结果导出来对一遍,今天就能知道你现在这套是哪种。

常见问题

我们已经在用钉钉/企微,知识库能不能直接复用它的组织架构做权限?

可以,而且应该复用。组织架构自己维护一套,一定会和 HR 系统对不上。要注意的是同步频率和离职处理:人离职当天权限就该失效,而不是等下次全量同步。这一点在验收时值得单独测一次。

引用会不会拖慢回答速度?

会有一点,但量级不大——引用是检索时就带出来的元数据,不需要额外查一次库。真正拖慢速度的是重排和长上下文,不是引用。为了速度砍掉引用,是最不划算的取舍。

文档里有一部分内容只能给管理层看,能做到段落级吗?

能,但要在入库时做,不能在问答时做。做法是把这类文档按可公开范围先切开,给不同片段打不同标签,权限标签的最小单位就是切片。如果文档本身没有清晰的分界(比如一份纪要里混着敏感讨论),建议整篇限权,不要试图用自动切分去猜边界。

怎么验证权限真的生效了,而不是只在界面上藏起来?

三个动作:换账号问同一句、导出召回列表对比、再看一次日志里有没有记录这次越权尝试。三个都过,才算生效。只测第一项,很容易被"答案里没有"骗过去。

这篇讲的做法,可以直接搬到你们公司

30 分钟诊断,不收费。看完你的资料,我们会说清楚该先做哪一步。

预约诊断