题目重点:超长内容不能只截断,需保留与查询相关且可追溯的证据。
题意与假设
这道练习题保留了面经中值得训练的核心约束,并将需要澄清的条件单独列出。现场拿到变体时,先和面试官确认这些条件。
- 训练搜索与回答系统有最大context tokens和延迟/成本预算;完整目标架构未给,本文明确query/document/context三种长度问题。
- token计数用对应模型tokenizer,字数不等于tokens;不宣称所有模型长度限制相同。
解题路线
- 超长query先解析意图/约束,必要时提澄清,不从尾部盲截丢关键条件。用户上传长文可先结构化分段与索引,query定位相关片段,而非每次塞全文。
- 文档按结构chunk,retrieval返回带source/version/offset的候选;rerank及去重后按预算packing。保留标题/必要上下文与跨片段关系,纯取最短片段可能丢条件/否定。
- 预算=context_limit−system/instruction/query/output_reserve,留输出空间。候选分数与token成本联合选择,不能重复chunk无限占预算;内容不可信时指令与证据分区并限制工具权限。
- 需要全局总结可hierarchical summarize/map-reduce,但多级摘要可能丢细节;关键事实保留原片段引用供回查,评估问题是否能在压缩后得到支持。复杂推理可检索多次但需最大轮数与成本预算。
- 评估按长query、跨段证据、表格、否定和多语言切片,比较召回覆盖、答案忠实性与尾延迟。只测token变少不能证明答案仍正确。
手动走一遍
合同第80页例外改变第2页条款,截前20页会答错;检索时需要相关主条款和例外共同进入context。预算8k时若系统/query用2k、输出保留2k,证据上限4k,不能把全部8k交给文档。
规模与取舍
索引与摘要离线成本按全文tokens;online retrieval/rerank/生成分别计,attention与实际model架构相关。多轮检索使平均/尾成本放大,应以真实测量而非固定常数承诺。
易错点与追问
容易失分的边界
- 字符数当token数导致意外超限。
- 压缩摘要缺出处却让模型引用原文。
继续深挖
- 检索片段太短与上下文冗余之间如何选择chunk overlap?
- 用户需要逐字引用时,摘要结果是否能作为证据?
