外观
第 13 章 Research Brief:Knowledge Base 与检索
研究目标
本章回答一个受限的工程问题:当任务需要外部资料时,Harness 怎样把“找到了若干片段”变成可追溯、可判断新鲜度、可回链到输出的证据包,而不是把整个知识库或高分片段无差别放进 Prompt。
本章承接第 6 章的上下文工程(Context Engineering)。第 6 章讨论模型可见信息如何被选择和组织;本章只讨论外置知识的检索与证据准备。它不定义长期记忆的写入规则(第 7 章)、工具调用协议(第 11 章)、运行环境与权限(第 12 章)、人类批准(第 14 章)或任务结果验收(第 17 章)。
本章要回答的问题
- 知识库(Knowledge Base)、索引(Index)、候选片段和最终证据分别是什么?为什么它们不能互相替代?
- 何时应该检索,何时应直接使用已确认的任务上下文,何时必须停止并重新取证?
- 如何把任务范围、来源优先级、切分边界、元数据、排序、重排和引用回链组织为可审查流程?
- 为什么相似度分数、模型摘要和一次成功搜索都不等于来源支持或事实已核验?
- 面对“当前 API 鉴权方式”这类时间敏感问题,如何拒绝过期、不可定位或范围不匹配的材料?
- 如何在保留来源、时间和限制的前提下,把选中的证据装配到模型上下文?
一手来源与允许用途
| ID | 来源明确表达的内容 | 本章允许用途 | 禁止外推 |
|---|---|---|---|
| C13-REF-01 | Lewis 等人的 RAG 论文将参数化模型与可检索的非参数稠密向量索引结合,并把 provenance 与更新世界知识列为问题。 | 用作“外置可检索知识与生成模型可以分层”的研究背景,以及“检索并不自动解决溯源”的提醒。 | 本书 Evidence Card 的字段、任意 RAG 的质量、对任何资料库的结果或性能承诺。 |
| C13-REF-02 | Anthropic 的工程文章描述了切分、嵌入、语义检索和把相关片段附到 Prompt 的典型 RAG 路径,并讨论词法匹配在精确术语检索中的补充作用。 | 用作“切分会影响上下文、语义与精确匹配可以是不同检索信号”的工程背景。 | 文中实验数字、推荐参数、供应商组合、重排器、Top-K 或成本结论。 |
| C13-REF-03 | OpenAI 当前 Vector stores API 参考包含语义搜索、切块策略、查询和文件属性筛选等该产品接口概念。 | 用作一个产品范围内的例子:索引入口、切块和过滤需要被当作显式设计选择。 | API 字段、默认值、限制、费用、保留、安全或其他产品的实现。 |
详细 URL 与写作日限制见候选资料。
本书模型:检索证据层
以下术语是本书提出的审查模型,正文必须用“本书建议”或“本书模型”表述,不能归因给三项来源:
| 工件 | 解决的问题 | 最小内容 | 不等同于 |
|---|---|---|---|
| Knowledge Base Profile | 可检索资料的边界是什么? | 资料范围、所有者、来源种类、更新责任、敏感性、排除范围 | 模型参数、完整事实库或访问授权 |
| Evidence Unit | 这段材料可被怎样理解? | 稳定来源位置、片段范围、主题、时间、来源种类、已知限制 | 真相、最终答案或独立验收 |
| Retrieval Policy | 哪些候选可被用于此任务? | 任务范围、来源优先级、新鲜度、过滤规则、拒绝条件 | 搜索算法、权限系统或批准记录 |
| Evidence Card | 输出中的一句主张依据什么? | 主张范围、候选标识、来源 URL、访问/核验时间、适用限制、引用位置 | 引文格式标准或真实审计后端 |
| Retrieval Record | 这次检索为何选择或拒绝材料? | 查询摘要、策略版本、候选集合、筛选理由、未知项 | 任务成功或来源内容永久有效 |
范围与非目标
本章讨论资料边界、索引前准备、查询范围、候选筛选、来源优先级、新鲜度、引用回链和检索失败。它不:
- 实现真实向量数据库、嵌入模型、爬虫、文件解析、网页搜索、索引后端、重排服务、访问控制或数据删除;
- 规定特定切块大小、重叠、Top-K、阈值、嵌入模型、分数融合算法、成本、延迟、召回率或基准;
- 把 OpenAI API、Anthropic 工程文章或 RAG 论文的接口、实验、产品机制写成跨系统标准;
- 把检索分数、模型生成的摘要、引用 URL 或纯内存示例说成事实已经被接受;
- 替代第 17 章的验证(Evaluation):检索层只准备可审查证据,不判定任务目标已达成。
计划正文结构
- 从资料堆到证据层: 分开资料库、索引、候选、证据和回答;明确“可搜到”不等于“可引用”。
- Knowledge Base Profile 与 Evidence Unit: 用范围、来源、时间、片段边界和限制控制知识污染与误归因。
- Retrieval Policy: 以任务范围、来源优先级、新鲜度、元数据过滤和拒绝条件决定检索前后门。
- 从查询到引用: 把查询澄清、候选、排序信号、人工/规则筛选、上下文装配和 Evidence Card 连成流水线。
- 分数、覆盖与新鲜度: 解释为什么高相似度、完整段落、一次命中和可访问 URL 都不足以代替范围、日期和主张核对。
- 教学案例: 为“当前 API 鉴权方式”任务优先选择可定位的官方页面,并拒绝范围不明或未核验新鲜度的博客材料;案例不查询真实 API。
- 失败、停止与升级: 对空结果、冲突资料、过期资料、无法定位来源和敏感资料分别给出保守出口。
拟议图示、示例与验证边界
- 图示: “检索到引用输出的证据流水线”。图从任务范围进入 Retrieval Policy,经候选集合、范围/来源/新鲜度筛选和 Evidence Card,最后才装配上下文与输出引用;拒绝路径回到补充查询或停止。图只表达本书模型。
- 最小示例: 纯内存
assessRetrievalEvidence。输入为查询范围、候选元数据、来源种类策略和选中/引用关系;输出allowed、needs_evidence或blocked。不得读取网络、文件、索引、模型、向量库、浏览器、数据库、环境变量、凭证或外部系统。 - 计划测试: 覆盖正常的官方新鲜证据、候选不存在、来源种类不允许、新鲜度未知、范围不匹配、缺稳定位置和缺引用回链。测试只证明教学函数对注入对象的判断。
- 事实核验: 修改动态 API 文档陈述时重读 C13-REF-03;复核文章和论文的限定用途;不记录未实际执行的检索结果。
风险与待核验项
- 检索系统的切块、索引、分数与重排会随模型、语料、语言和配置而改变。本章只讨论审查接口,不声明参数配方。
- “官方”来源仍可能过期、范围不足、环境不适用或不覆盖问题;来源种类通过不代表答案正确。
TODO(verify):未来若接入真实网页搜索、文档解析、向量库、文件上传、产品 API 或企业知识库,必须为具体工具记录权限、数据处理、更新方式、删除策略、实际命令和观察证据;不能复用本章的纯内存测试结果。
Research 完成检查
- [x] 将论文、工程文章、动态产品 API 参考与本书模型分开。
- [x] 为每条可归因陈述写明允许用途与禁止外推。
- [x] 明确与第 6、7、11、12、14、17 章的职责边界。
- [x] 定义后续正文、图示、示例、测试和事实核验的范围。
- [x] 为动态来源写明重新访问条件。
