五厂面经真题集百度面经高频百度真题上下文窗口知识切片速答 · 约 5 分钟更新 2026-09-29

模型上下文长度和知识切片长度,这两个概念怎么区分?

一句话结论

上下文长度是模型一次处理的总 token 预算,知识切片长度是单个检索单元的 token 数;召回内容还要和历史、提示词、生成预留共同占用上下文。

先这样答

上下文长度和知识切片长度不是同一个维度。上下文长度是模型一次能接收的总 token 上限。知识切片长度是单个 chunk 的 token 数,也就是一个检索单元的大小。

上下文长度要把历史消息、系统提示词、检索内容和生成预留一起算进去。它描述模型这一次能处理的总预算,不代表这些 token 都能用于放知识。知识切片长度只描述单个切片有多长。检索时,系统会把若干切片放进上下文,再交给模型处理。

两者的关系是,召回的 chunk 长度乘以召回数量,再加上历史、系统提示词和生成预留,必须小于上下文预算。比如上下文标称为 128K,也不能把 128K 的知识直接塞满。还要给其他内容和生成留下空间。实际有效注意力也远小于标称长度,所以不能只看上下文的最大数字,还要看每次真正放入的内容规模。

面试官会怎么追问

  • 「上下文长度是不是知识库能放进去的最大长度?」 不是。上下文长度限制模型一次处理的总 token 数,知识库内容还要先切成 chunk,再按召回结果放入上下文。历史、系统提示词和生成预留也会占用这部分预算。

  • 「如果模型支持 128K 上下文,知识切片是不是也应该设成 128K?」 不是。知识切片是单个检索单元,通常需要配合召回数量使用。单个 chunk 过长,会直接占用大量上下文预算,也会压缩其他内容和生成空间。

  • 「你会怎么检查召回内容是否超出上下文预算?」 先计算每个 chunk 的 token 数,再乘以召回数量。然后加上历史消息、系统提示词和生成预留,确认总量小于上下文预算。还要考虑实际有效注意力小于标称长度,不能只按最大上限硬塞。

回答的坑

  • 把上下文长度当成知识容量,忽略历史、提示词和生成预留也占用 token。
  • 把单个知识切片直接做成上下文上限,忽略切片数量和实际有效注意力。
—— 本题完 ——