Quanta

← 返回 Quanta 简报

高负载知识库的三层分块:把上下文、召回与预算一起管

旗舰模型ZH2 次阅读

01 · 窗口标称容量不是资料装载额度

知识库问答进入持续高负载后,团队往往先问模型能装多少资料。更重要的问题是:每次请求应该装哪些资料,以及这些资料能否支持可靠回答。大窗口提供空间,却不保证模型准确利用每一段内容。把整本手册反复发送,也会放大输入成本和处理延迟。

上下文通常需要容纳系统指令、历史消息、用户问题、检索资料和工具结果,同时为输出保留额度。具体限制还要核对模型与接口规则。可用资料预算,应在扣除其他内容和输出预留后计算,并留出安全余量。中文字符数不能直接等同于令牌数,代码、表格和特殊符号尤其需要实际测量。

02 · 用三层结构代替固定长度切割

分块不是把文档切成等长碎片,而是建立可检索、可解释、可更新的资料单元。对维护大量内部文档的团队,可以从三层结构起步:

  • › 章节层:保留文档标题、章节路径、版本和适用范围,让片段始终能回到原始语境。
  • › 语义块层:按一个完整主题或操作步骤组织内容,避免把前提、规则和例外拆散。
  • › 检索片段层:用较小片段定位相关内容,命中后再按需补入所属语义块,而不是默认加载整个章节。

固定长度可以作为兜底,但边界应优先服从段落、列表和业务含义。操作流程要保留步骤顺序;表格要携带表头和单位;代码要保留必要的定义。相邻块可以少量重叠,但过多重叠会造成重复召回,挤占本来有限的上下文。

03 · 先判断问题类型,再分配检索预算

查一个配置项与排查跨系统故障,不该使用相同的装载策略。前者需要精确、短小的证据,后者可能需要多个来源及其依赖关系。检索时先按权限、版本和产品范围过滤,再排序、去重,并按资料预算装载。

不要把“返回固定数量的片段”当作充分策略:相同片段数可能对应完全不同的长度。预算不足时,应减少低相关内容,而不是截断关键条件。若证据仍不完整,让模型明确指出缺口或请求补充信息,比依据残缺流程给出确定答案更稳妥。

04 · 把缓存收益与分块收益分开核算

高频请求中,稳定的指令和公共背景可能适合缓存;经常变化的检索结果则需要单独评估。缓存能否复用,取决于具体模型、接口及内容组织方式,不能假设重复提交就一定命中。

对持续调用多个模型的团队,可考虑 Quanta 的按量中转服务,用同一余额管理调用。其调用按实际令牌计量,缓存写入与读取分别计费,因此比较方案时,应同时记录普通输入、输出、缓存写入和缓存读取,而不是只看请求次数。准备验证跨模型知识库方案时,可以开设一个 Quanta 账户,从小规模评测开始。

05 · 用真实问题确定块大小与上线门槛

没有适合所有知识库的分块长度。先抽取团队真实问题,覆盖精确查询、多段综合、版本冲突、资料缺失和越权访问。保持模型与提示一致,比较不同块大小、重叠程度和补充上下文策略,避免一次改变多个变量。

评测至少记录证据是否命中、回答是否受证据支持、关键条件是否遗漏,以及端到端延迟和每个有效答案的成本。检索权限必须在装载前落实,不能依赖模型自行隐藏敏感资料。文档更新后,也要同步刷新片段、版本信息和索引。

06 · 先灰度,再决定是否扩大窗口

上线时保留分块配置版本和回滚路径,先让少量请求使用新策略,再观察质量与预算变化。若失败来自漏检,应修复检索;若来自片段缺少前提,应调整边界或补充父级内容;只有确实需要更多有效证据时,才扩大上下文。团队负责人要管理的不是最大窗口,而是每次回答所需的最小充分证据。