一家做连锁零售的企业在核对助手给出的答复时,发现了一处对不上的地方。助手针对门店调拨的审批时限,明确写出依据是某份管理办法的第九条;经办人按这个编号去翻文件,第九条讲的却是档案归档,真正规定审批时限的条目排在第几,谁也说不准。编号看着精确,指向却落了空,这种引用比没有引用更让人为难,因为它看上去是可以被核对的。
编号是制度类问答里最常用的一种定位方式。它本应是条目与内容之间一条固定的纽带,可在实际链路里,编号常常是最先松动的部分。一份文件从上传到被检索、被拼接、被引用,中间要经过解析、切片、重排几道工序,编号只要在其中任何一环脱离内容,后面无论模型表达得多完整,指过去的位置都会偏。
不少团队的直觉是,编号只是文件里的排版装饰,真正要紧的是条款正文,所以解析时把它忽略掉也无妨。现实恰好相反,正文还可以靠语义找回,编号一旦丢失或者错位,仅靠语义通常难以稳定还原它原本对应的条目。
一类问题出在解析环节。不少解析器会把文档里的自动编号识别成格式而不是内容,编号在抽取时被悄然丢弃,条目只剩下一段没有序号的正文。等到答复需要给出定位,系统只能按片段在候选列表里的先后顺序临时编一个号,这个号与文件上的号自然对不上。
另一类问题出在切片与重组环节。一份文件被切成若干片段后,片段在索引里的排序、在上下文里的拼接顺序,都可能与原文顺序不同。引用时的编号若取自拼接后的位次,而不是片段随身携带的原编号,编号就会随着每次检索结果的不同而漂移,同一份文件在不同问题下被引用的条号甚至互相矛盾。
还有一类问题出在生成环节。模型为了让答复显得有据可依,倾向于按自己组织语言时的段落顺序去推算条号,尤其在多个片段合并叙述时,它给出的编号往往是合并后新结构里的序号。这类编号读起来合理,却没有任何一份原文与之对应。
要让编号重新固定下来,起点是把编号与条目绑成同一个字段保存。解析阶段在识别到条目时,一并登记文档标识、原编号与内容摘要这三项,让编号从排版中被抽取出来成为结构化数据,而不是随着格式一起消失。编号与内容分家,正是后续所有错位的源头。
接下来是保存与更新。文档发生修订、条目被增删时,编号的变动要有登记,明确哪一条被替代、哪一条属于新增。检索与组装阶段,引用只能取片段随身携带的原编号,不允许按位置二次生成;多个片段合并展示时,各自保留自己的编号与所属文档,不做统一重排。
失败路径同样要写清楚。片段携带的编号与原文对不上、或者根本无法确定时,答复不给出具体条号,改为指向章节名称并提示以原文为准,必要时转入人工核对。编号规则与文档模板的对应关系由知识管理与业务方共同维护,随制度改版同步回归,避免规则写在一次之后就不再更新。
现阶段市面上的通用模型与知识库工具大多具备文档解析和语义召回的基础能力,引用位置如何固定、编号变动如何登记,往往还需要企业结合自己的文档版本制度来安排。就这一环而言,青山不语AI工作室的AI定制方案把编号与条目绑定成随片段流动的字段,答复里的每个定位都取自原文登记值,取不到就如实说明,不凭位次估一个。
责任边界需要提前讲明。工作室负责编号字段、引用取值与降级提示的实现;企业负责维护文档的版本与条目标识,制度修订时同步说明编号的变更。验收时可以挑一份带修订记录的文件,先就某一事项提问并记下答复给出的条号,再对文件做一次条目调整后重复同样的问题,观察两次引用是否都能指回真实存在的条目,以及在无法确定时系统是否如实收手。
我的看法是,一套AI定制服务在制度问答上值不值得长期依赖,不能只看它答得对不对,还要看它给的位置经不经得起翻开原文去核对。编号看着是最不显眼的一处细节,却直接决定了答复能不能被追溯,而被追溯,恰恰是知识助手进入正式流程的前提。