Notes · 2025.09.06
重叠窗口
改了召回,要留对照。
召回表上多了几条很像的块,块与块之间只错开一句。重叠窗口开大了,榜会被同一段话占满。开小了,边界上的定义又掉下去。Humanitelligence 这条企业 RAG 线上,我跟进切片粒度、重叠窗口与召回效果,并对照关键词、向量、图谱检索的差异。我是张恒基。对照如果只停在「感觉」,下周作废。
窗口是边界保险,也会是重复制造机
文档不会按你的窗口整齐断开。制度里一句话的条件在上一页,结论在下一页。没有重叠,两边各切走一半,向量两边都不像完整规定。问到那条,召回会偏到另一条更完整但答非所问的制度。业务方看见引用,会认为系统瞎。瞎的原因是窗口,不是模型突然变笨。
重叠太大,相邻块高度重复。向量检索按相似度排序,重复块会连着占掉前 k。前 k 看起来很相关,相关的是同一段。后面真正不同的条款进不来。评测如果只看第一条是否命中,会给重叠过大发奖。奖是假的。假奖会让人把窗口继续开大。继续开大,覆盖更差。覆盖要另写一列。
我把对照做成三列:关键词、向量、图谱。同一问,三列召回不同,要能说为什么。关键词吃精确编号和条款名。向量吃转述。图谱吃实体关系。窗口改的是向量列为主,但关键词列有时也会因为块边界把编号切丢。切丢之后,关键词突然变笨,人会误判成检索服务挂了。服务没挂。编号在上一块的尾巴上。
企业联调把窗口变成工单
权限、空结果、超时,会在联调里变成真实工单。窗口改完,权限过滤如果在切完之后才做,重复块可能来自你不该看见的相邻密级。过滤如果在切之前做,窗口又可能在权限边界上折断。两种顺序,工单描述都是「召回怪」。怪下面要拆。拆之前不要回滚一串参数。一串参数回滚,对照表作废。
我核对引用字段对不对得上原文。对不上的常见原因:重叠块的偏移量记错、页码按切后计算、高亮用了另一套坐标。坐标错了,页面会高亮到隔壁段落。隔壁段落可能也相关,相关不能当对。对的标准是字段指向切的那一块。那一块如果因为重叠看起来像下一块,更要靠偏移量,不靠肉眼。
评测结论反馈到切片和提示策略。窗口解决边界完整。提示解决「不要把重复块都读一遍」。两件事一起改,分不清是谁起的作用。一起改的那天,记录里要写清改了两处。写清,下周才能决定留哪一处。留错处,错误案例还会回来。回来的案例如果没编号,又会变成「有时候怪」。有时候怪排不上号。
三种检索不要赛一场就下定论
关键词赢在编号题。向量赢在转述题。图谱赢在「谁负责这个字段」这类关系题。用其中一种的得意去否定另外两种,会在企业库里翻车。翻车形态很具体:用户用内部编号来问,向量给出一篇很像的旧制度;用户用口语来问,关键词零命中。零命中该走空结果,不该强行向量顶一条。强行顶一条,比空更像瞎。
我是实习生。三种检索怎么融合,不写成我主导。我输出对照表和错误案例。表上要有问题编号、窗口配置、三种召回的 id、是否越权、引用能否跳回原文。能否跳回是硬列。硬列不过,这条配置不能标成更好。更好必须可复现。可复现必须带窗口数字。数字写在配置文件里,不写在我的脑子里。
官网 human-intelligence.cn 对外讲知识工程。对内的窗口实验不需要对外讲。对外讲的句子一旦带上具体数字,数字就会过时。过时的数字挂在介绍里,和 textguard.site Banner 上的准确率是同一类错。企业这边我更没有权限去改官网。没有权限,就更不要编对外口径。
对照留下,结论才留下
我收到的限制来自那张被重复块占满的召回表:重叠窗口可以改,必须留下改前改后的对照,以及关键词、向量、图谱三列差异。没有记录的一次「感觉更好」,下周作废。作废的结论不要进周报。周报进了,会在下一次工单里变成无法核对的「我们优化过」。优化过三个字,没有配置就等于没说。