旧版主线已经不足以描述当前实现

本文以 2026-09-08 本地 c1609dd12523e780149ec7ac546a34509f907757 为基线。当前 Pilot 使用授权候选池与确定性充分性;早期词法锚点、非空判断和 first-three selector 只可作为历史或兼容机制阅读。本次未重跑上游测试或真实 Provider。1

question + visible conditions
  -> current published authority
  -> Sparse BM25 candidate pool
  -> deterministic sufficiency
  -> immutable Answer Evidence Set
  -> explicitly approved generation route
  -> contract-valid answer or closed unavailability

授权必须发生在排名之前

AuthorizedRetrievalCandidatePool 从当前已发布代际形成普通池,并回查条目的编辑修订、section-source 关系、来源可用性、assurance、applicability、freshness 与访问范围。候选 metadata 只是关系绑定,不是自我授权声明。Candidate Build 分块不能混入。12

Pilot profile 是真正的 sparse_bm25,使用 literal-preserving tokenization、k1=1.5、b=0.75 和深度 20,并确定性去除相同内容与重复条目章节。当前 profile 关闭 reranker、query expansion 和在线 LLM 充分性 judge。3

这组参数是当前工程设置,不是通用最优值。旧 lexical_heuristic_migration 路径仍保留为迁移诊断,不能再作为当前用户默认路径介绍。

Query Condition Set 把隐含前提变成可见输入

QCS 绑定归一化问题和有序条件记录,例如版本、环境、规模和目标。用户可显式提交条件,或从同一私人会话最近的 completed 执行继承;继承仍为新问题生成新的 QCS 身份,并记录来源执行。1

假设用户先限定“单机、现有语料、优先降低延迟”,再问检索替代方案。条件可以被保留供用户检查,但它不是证据;系统不能从全局画像或模型猜测填入用户没给出的规模。

条件缺失若已有经审校的条件分支,可以据此回答;否则明确不足。代价是宽泛问题不一定立刻得到单一结论,收益是推荐不会伪装成无条件适用。

decide_answer_evidence 不读分数来宣布通过

决策器先处理实质冲突、需要复审和没有授权证据的情况,再检查每个候选是否满足决定性条件。还必须存在覆盖问题的 governing recommendation,并补齐比较、诊断、验收或实现问题所需章节。高影响主张须满足对应 Claim-Evidence Links。4

拒绝原因用户需要知道什么
no_eligible_published_evidence没有当前有资格的已发布依据
decision_not_covered有相关知识,但没覆盖这个决策
decisive_condition_missing缺少会改变结论的前提
material_evidence_conflict有不能掩盖的实质冲突
assurance_support_missing当前主张所需证据等级不足
evidence_budget_exceeded必需证据无法完整放入边界
knowledge_needs_review受影响知识需要复审

不足结果不形成支持引用,也不调用生成。它们不是“搜索失败”的同义说法,下一步可能是补条件、补知识、解决冲突或重新审校。

最小充分集合,不是排名前三条

decide_answer_evidence 枚举可行组合,按条目数、摘录总长与稳定身份选取最小可行集合。当前硬边界为最多 3 项、每项 1200 字符、总计 3000 字符;缺少必要证据时拒绝,不静默丢掉支持来挤进预算。截断预览不能冒充完整原段落。14

集合冻结 QCS、条目、来源修订、发布版本、章节、快照及 governing item;citation identity 绑定集合与具体条目。分数和检索诊断不成为引用身份,也不作为模型的权威输入。

这比 results[:3] 更复杂,却让选集规则能被确定性重放。它仍不证明任意真实模型的每个推断都正确;规则本身也需要覆盖测试与真实问题检验。

批准路由可以回退,但不能绕过边界

当前 ADR 0005 已替代永久单 Provider 限制。路由保存一个 primary 与最多三个分别获批的备用项,绑定模型、端点类别、数据范围、超时、总预算和次数。保存草案不等于激活;管理员需提供匹配部署与修订的有效验收记录并完成连接校验。5

approved route captured for this execution
  -> provider A receives frozen payload
  -> eligible normalized failure + budget remains
  -> approved provider B receives SAME payload
  -> valid answer, or generation_unavailable

连接、超时、限流、临时服务或确定性答案/引用契约失败可以按批准顺序继续。证据不足、取消、权限、数据范围、安全或政策拒绝不得借备用模型绕过。每次使用同一冻结问题、条件与证据,不重新检索更容易回答的资料。5

因此“故障后永不回退”已过时,“有可用密钥就自动选模型”也没有被授予权限。

有结果不等于有可支持的答案

完成的执行仍只有四种 outcome:有证据的答案、证据不足、窄白名单非知识库回复、生成不可用。未分类应用错误或冻结输入错配不应伪装成“知识不足”。生成不可用保留执行中的证据身份,但当前闭合公开投影不提供知识回答或支持引用。1

批准路由设计允许的预览上限,不应被写成每个现行响应都展示预览。页面按实际公开投影表达,见回答投影全文。

最终效果与验证缺口

目标是让用户拿到“在这些条件下建议这样做;另一个方案的代价是什么;哪些资料支持结论”的摘要。条件不足说明缺口,模型故障保留明确状态,不以无引用文字填补。

当前源码支持这些对象与路径,日常效果仍取决于真实审校语料、问题覆盖、Provider 激活证据和产品验收。旧 16 查询评测不能证明新策略适合任意团队语料。

来源与范围

来源资格见知识发布全文,证据种类见评测证据全文。代码存在不等于取得 Pilot 或日常运行资格。

参考资料

  1. 当前检索、充分性与执行合同。 ↩ ↩ ↩ ↩ ↩

  2. 授权候选池。 ↩

  3. Pilot policy profile。 ↩

  4. decide_answer_evidence 分支与集合选择。 ↩ ↩

  5. 显式批准生成路由 ADR。 ↩ ↩