Notes · 2025.08.30

切片粒度

Humanitelligence,企业 RAG。

1 min · rag · intern

把切片从 512 改到 256,召回表上的一行跟着翻。文档还是那些文档,答案已经换了一截。2026 年 1 月起到现在,我在智能知识科技实习,跟 Humanitelligence 的企业知识工程与检索增强。官网 human-intelligence.cn。解析、清洗、切片、向量化、检索召回、问答接口,切片粒度一改,后面整张表都会动。我是张恒基。实习生改参数,要记到能复现的配置里。

粒度不是手感

切片太大,一段里混着好几个主题,向量被拉糊,问到其中一句时召回整段,答案里会夹私货。切片太小,句子断开,专有名词和它的定义拆开,问定义时只召回半截。半截看起来相关,拼不出能引用的答案。企业文档尤其经不起半截:制度、手册、接口说明,缺一句就会把人导到错的流程。

重叠窗口跟粒度绑在一起。没有重叠,边界上的句子两边都不完整。重叠太大,重复块变多,召回榜被同一段占满,看起来很准,实际没覆盖。准和覆盖在评测表上要分开写。分开写之前,先把粒度和重叠写成配置,而不是写在聊天记录里。聊天记录里的「256 好像好一点」,下周作废。

我跟进的是效果对照,不是拍板用哪一档。拍板权在团队。我能做的是:同一批问题、同一份权限下的库、改一个参数、把召回和答案差异记下来。记下来才叫一次实验。感觉更好不叫实验。实验记录要能让别人按配置重放。重放不了,就不要进「我们改了切片」这种周报句子。周报句子会变成以后的方法描述。方法描述经不起问 seed 和配置。

企业库会把切片的错放大

企业知识库有权限。同一句问,不同的人该看到不同的块。切片如果切在权限边界上,一块里混了两个密级,检索要么漏,要么泄。漏会表现为空结果。泄不能表现为「召回变好了」。变好如果来自越权块,评测是假的。假评测比低分危险。低分还能改。假高分会把越权写进生产。

解析和清洗在切片前面。扫描件、表格、页眉页脚,洗不干净,切片会把页码和密级标签吃进正文。吃进去的标签会在向量里变成噪声,也会在引用里变成笑话。笑话被业务方看见,信任一次用完。我核对引用字段对不对得上原文时,经常先发现清洗没完,再发现粒度的问题。没完的清洗,不要用更细的切片去补。更细只会把脏切得更碎。

论文 PDF 默认没有这层权限。科研里的 RAG 实验和这里不是同一套任务。任务别混。混着写「我做 RAG」,会把 TextGuard 的检测、明察的论文图、企业手册的制度问答揉成一种能力。三种能力共用「向量」这个词,不共用验收。验收在企业这边是:权限内能否引用到原文,空和超时是否诚实。

问答接口吃的是切片的后果

用户看不见切片。用户看见答案和引用。引用跳转到一块牛头不对马嘴的文本,他不会问你粒度是 256 还是 512。他会问这系统能不能用。能不能用,在实习口径里要答得克制:我协助把切片配置和评测对照做清楚,系统是公司的。公司官网是 human-intelligence.cn。我的名字不出现在产品负责人的位置。

评测集构建、错误案例分析,是我能出力的地方。错误案例优先选:切太碎导致定义丢失、切太长导致夹带、重叠导致榜被重复占满、权限块混切。选这些,是因为它们能反馈到配置。反馈不到配置的「模型不会答」,先别算在切片头上。算错头,会把该换提示的问题拿去改窗口。改窗口解决不了提示。

NeurIPS 和 AAAI 那些 Under Review 的工作,不往这条实习线上挂。挂了就是用科研投稿给企业 RAG 充数。充数在口径上是错的。企业这条线的产出是可查询知识库、引用定位、内部问答。产出形态和论文不同。不同,就要在笔记里分开写。

改了就要能复现

我收到的限制来自那次 512 改 256:切片粒度可以动,必须连同重叠窗口、清洗版本、评测问题集一起记下来。记不下来的一次变好,不能进结论。结论进了,下周库一更新,没人知道自己赢在哪。实习生尤其不能靠记忆赢。记忆比配置短。