READ · UNDERSTAND · TRANSFER
阅读理解,按需巩固
先沿着原理、问答和迁移案例阅读。需要检查理解时,再切换巩固练习或展开个人记录。
核心知识 · 切块中的语义完整性与证据定位
先理解核心原理
先备概念:文档解析、Token 预算、来源与权限元数据
切块是在召回粒度和证据完整性之间取舍。一个块必须保留理解它所需的条件与关系;缺失的关系不会因为向量相似度高而自动恢复。
字数边界不等于知识边界
固定长度切块适合建立便宜基线,但会把“规则”和下一段“除外情况”分开,或把表格数字与单位分开。检索到“500”并不能知道它是元、万元、毫秒还是版本号。切块目标不是把文本均匀切碎,而是让用户问题能够召回可解释、可引用的证据。
合同优先保留条款编号、层级和被引用的定义;表格需要列名、单位、行标识及跨页关系;代码需要符号名、文件版本、必要依赖和调用边界。结构解析错误发生在切块之前,靠重叠不能恢复不存在的表头。将来源页码、段落范围和版本保存为元数据,才能从回答跳回原文核对。
小块召回,大块理解有条件
小块更容易对准局部问题,大块能提供上下文。可先召回子块,再按需求扩展父段或相邻块。反例是命中一个公开段落后把含秘密附件的父文档全部送入模型;扩展也必须检查权限。另一个反例是十个命中都展开同一父段,Token 被重复占满。
用题目检验边界,而不是找通用字数
为“主规则”“例外”“表格交叉行”“跨函数行为”分别标注必要证据,比较不同切块策略的候选覆盖、最终完整性和引用精度。重叠是为边缘连续性付出的成本,增大它会增加索引体积和重复候选,却不保证关键关系保留。选择能支持主要问题分布的策略,保留异常结构的单独处理路径。
回到问题:怎样回答?
切块要围绕实际问题和文档结构设计。合同保留条款层级与例外,表格保留表头、单位和行关系,代码保留符号和依赖上下文。可用较小块召回,再扩展到父段或相邻片段,但要控制重复和预算。固定长度可以作为基线,最终用带证据标注的问题集检验召回、回答完整性和引用位置。
实现与取舍
先定义问题与证据单位
问“违约金是多少”需要金额、触发条件与例外条款;问表格趋势需要表头、单位和时间列。纯字符切分可能把否定词或单位切到另一块。每块至少保留 document_id、版本、章节路径、页码或行范围,正文中的数字才能回到原文核对。解析失败要可见,不能把空文本当成功入库。
按结构切分,再控制长度
先利用标题、段落、表格和函数边界建立候选块,超过预算时再递归拆分。表格分批时重复必要表头并标明是否还有续行;代码保留函数签名、文件路径及相关类型引用。重叠只用于减少边界丢失,过大重叠会把多个近似块挤进前几名,降低证据多样性。
小块检索与父块展开
精确小块适合匹配问题,回答可能需要上下文,可在召回后读取父段或邻接块。扩展必须在同一文档版本和当前权限下进行,并再次计算预算。不能因为父文档可见就默认所有关联文档都可见。回答引用仍定位到支持结论的具体片段,不能只给一个整本手册的链接。
通过实验选参数
准备包含跨段例外、表格单位、代码调用关系的问题集,为每题标出必要证据。固定检索器与生成配置,只改变切块策略,比较必要证据覆盖、最终答案正确性、重复率和费用。切块更大可能提高召回却降低回答聚焦性,因此不能只用平均相似度选最佳方案。
工程推演
- 场景
- 面试假设:合同回答只引用主条款,遗漏下一段的适用例外。
- 设计决策
- 保留章节关系,小块召回后补读相邻例外。
- 验证目标
- 答案能说明条件与例外,并定位到对应版本原文。
- 适用边界
- 切块长度是实验参数,不存在适合所有文档的固定值。
连续追问与解答
沿着问题的前提和约束继续向下读。先理解参考解答,再尝试收起答案,用自己的话解释因果和取舍。
第 1 层表格跨页时如何保留表头?
把结构完整性落实到最容易丢上下文的表格。
参考解答
先在解析阶段识别连续表格,将跨页表头与列映射保存成结构化信息;每个行块附上表名、列名、单位和原页坐标。重复表头不是业务数据,不应算成额外行。若无法可靠合并,保留两页并标记待核对,不能让模型凭视觉猜列对应关系。
沿着这个回答继续深入
第 2 层跨页后列顺序变化了,能继续复用第一页表头吗?
父问保留表头后,进一步改变列结构,检验继承是否仍成立。
参考解答
不能仅因表名相同就复用。比较列名、单位与位置,处理合并单元格和新增列,建立页级列映射。只有确定关系后才能拼接;否则保留原页结构并要求人工核对或使用更可靠解析器。错误的自动拼接会生成看似整齐但语义错位的数据。
沿着这个回答继续深入
第 3 层OCR 已把两列混成一段,之后的切块还能补救吗?
结构映射不可知时,问题从切块转为信息源损坏,必须回到原始资料。
参考解答
切块无法可靠恢复已经丢失的关系。返回原图或原 PDF 页重新解析,检查坐标、行列与单位;无法验证时将该材料标记为不可用于精确计算。模型可提出候选解释帮助核对,不能把猜出的表格当作已验证证据。
第 1 层重叠越大一定越好吗?
对一种常见修复手段追问其代价与边界。
参考解答
不一定。重叠能缓解句子或代码被截断,但过大会制造几乎相同的候选、增加费用并挤占上下文。先识别需要跨边界的关系,再用较小重叠或结构化父子引用保留它。评价时看必要证据覆盖和重复比例,不能只看相似度升高。
第 1 层父块展开会不会绕过权限?
完整上下文需求与数据权限产生冲突时如何取舍。
参考解答
会,若系统把子块的权限错误地当作整个父块权限。展开前验证父块及新增段落的实际 ACL,且只发送当前可读部分。若缺少完整条件导致无法回答,应说明证据不完整,不能为了保持语义而放宽授权。
举一反三:条件变了,怎样推导?
先找出改变的条件,再判断原方案中哪些前提仍成立。下面的案例是教学推演,便于将原理迁移到新问题。
代码库而非普通文章
改变的条件:证据涉及函数及外部调用
延伸问题:函数超过长度预算,切成几块就足够了吗?
推导与参考解答
先保留符号、签名、控制流片段和文件版本,再为依赖建立可导航引用。用户问超时处理时按需读取相关异常分支与被调用函数;不要为了单块完整把整个仓库塞入。代码解释要标明哪些行为取决于外部配置,跨文件必要证据单独检索。
保持不变的原理:保留问题所需的语义关系,不能用文本长度替代行为边界。
合同主条款与附录例外
改变的条件:答案依赖非相邻段落
延伸问题:只展开相邻块能避免漏掉免责条件吗?
推导与参考解答
不能。按条款引用和定义关系构建链接,召回主条款时检查它引用的附录、例外和适用版本。对必要但无权读取的附录保留证据缺口,拒绝给完整结论。标注集中加入此类非相邻证据问题,验证展开策略。
保持不变的原理:上下文完整性由依赖关系决定,物理邻近只是一个线索。
易错点
- 所有文档同一字符长度
- 只有正文没有位置和版本
- 用相似度替代最终正确性
参考资料
依据公开技术资料设计;参考资料支持技术机制,场景与评分标准为本站设计,不代表某公司面试原题。 新增问答与迁移案例用于原理讲解,来源核查与案例运行验证分别记录。
检查自己理解到哪一步
读完后可以对照这些标准解释原理、边界和取舍。掌握程度由你自评;需要进一步验证时,再完成下方小任务。
- 基础达标
- 能指出合同、表格和代码的切分差异。
- 中高级信号
- 提出父子块、去重与必要证据标注。
- 资深信号
- 能隔离变量评测并处理跨版本、权限和解析失败。
巩固练习 按需完成 · 建议 15 分钟
给一段含主条款、例外和表格的文档设计块结构与引用字段。
展开验收要求与检查点
- 例外不与主条款失联
- 表格单位保留
- 每块可定位原文
重点检查
- 按文档结构保留语义边界
- 证据定位包含版本与范围
- 用必要证据覆盖评估切块