## 数据构建类专项智能工具链（思维链 · 长上下文与检索增强 · 多轮对话）

数据构建类工具链交付八个工具，分属思维链构建、长上下文数据构建（含检索增强）、多轮对话数据构建三类，对应招标文件 3.2.3.2 至 3.2.3.4 三节（b0919—b0988）。每个工具交付的内容为：功能设计、输入字段与输出结构、参数与约束、处理流程、运行接口、异常码与回退、运行日志、人工复核点、验收用例，以及在本项目真实业务对象上的端到端作业样例与失败对照。

四大数据集的规模目标是预训练 615 亿 Token、指令微调 89 万条、强化学习偏好 6.6 万组、基准测试 0.95 万条。这个量级不可能靠人工撰写堆出来，也不可能靠把现有文档简单切块凑出来。宁夏天地奔牛实业集团有限公司（以下简称甲方）的数据起点是一个很具体的局面：生产业务数据留存完整，历史图纸约 63 万张且每张历史上都配有一份已审核签发的工艺卡片，设备过程参数长期保存，服务工单与运维报警逐条在库；但这些资料的形态是事务记录，不是训练样本。

工艺卡片记录了"这张图最终走了哪几道工序"，没有记录"为什么这样排"；故障工单记录了"换了哪个件"，没有记录"从哪条线索判断到这个件"；技术手册是一本几百页的 PDF，模型要的是带章节上下文、带页码出处、长度落在窗口内的样本。

把事务记录变成训练样本，中间要补三类能力：思维链补推理过程，长上下文补结构与出处，多轮对话补交互轮次与业务闭环。这三类分别由思维链构建类、长上下文数据构建类、多轮对话数据构建类三类工具链承担。这三类的产出互不重叠，在数据集结构上各有归属：长上下文样本主要供预训练与检索增强训练，思维链样本与对话样本主要供指令微调与偏好数据，三类产出的质量评价样本共同构成基准测试集的主体。

取数来源限于已入湖、已登记来源、已完成格式归一与敏感信息初筛的清洗后语料与结构化业务记录，由数据采集与预处理环节交付。各类来源的取数前置条件逐项列于表 2-2、表 2-24、表 2-45；前置条件未落实的来源不进入生产队列，其缺口在数据卡中按来源分列统计。凡涉及甲方源系统现状的判断，均为我方前期调研所了解的情况，以蓝图设计阶段的勘察复核结论为准，勘察结论与此不一致时按勘察结论调整取数通道与排期。

三项技术规则在本章各处一体适用。其一，九类 25 个专项智能工具链的交付总览以专项智能工具链总述一节为准。其二，通用接口规范、血缘追溯与工具链验收要求以质量与验证类工具链一节末的通用要求为准，本章八个工具按其规定实现接口、血缘字段与质量报告格式。其三，训练与推理的服务形态、算力适配与模型接入网关以行业大模型训练推理技术服务相关章节为准；本章产出训练与评测数据，训练推理服务消费这些数据。

### 1、本组工具链的位置、责任边界与交付构成

八个工具链在数据加工主线上处于预处理环节之后、数据集入库之前，分属招标文件 3.2.3.2 至 3.2.3.4 三节所列的三类工具链，统一部署在天地奔牛煤机装备数据智能平台（以下简称奔牛数据智能平台）内。

#### 1.1 在数据加工主线中的位置与责任边界

本组工具链的上游是数据采集与预处理（见数据加工生产环节相关章节）：源系统接入、格式归一、清洗去噪、敏感信息初筛在那里完成，本组拿到的是已入湖、已登记来源的清洗后语料与结构化业务记录。本组工具链的下游是数据集运营与训练推理服务：本组按统一样本规范输出，经质检与审核后入数据集库，由训练推理服务按版本取用。我方在本章范围内不负责模型训练、不负责推理服务部署，也不负责智能场景建设。本包交付的是数据集加工生产、质量评测与场景验证。

#### 图 2-1　数据构建类工具链在加工主线中的位置与数据流向

<svg viewBox="0 0 820 440" xmlns="http://www.w3.org/2000/svg"
     font-family="Noto Sans CJK SC, PingFang SC, SimHei, sans-serif" font-size="13">
  <defs>
    <marker id="ar1" markerWidth="9" markerHeight="9" refX="8" refY="4.5" orient="auto">
      <path d="M0 0 L9 4.5 L0 9 z" fill="#334155"/>
    </marker>
  </defs>

  <rect x="8" y="46" width="150" height="54" rx="5" fill="#f1f5f9" stroke="#334155"/>
  <text x="83" y="68" text-anchor="middle">图纸与工艺卡片</text>
  <text x="83" y="88" text-anchor="middle">63 万张成对样本</text>

  <rect x="8" y="118" width="150" height="54" rx="5" fill="#f1f5f9" stroke="#334155"/>
  <text x="83" y="140" text-anchor="middle">技术手册·行业标准</text>
  <text x="83" y="160" text-anchor="middle">工艺规程·安全制度</text>

  <rect x="8" y="190" width="150" height="54" rx="5" fill="#f1f5f9" stroke="#334155"/>
  <text x="83" y="212" text-anchor="middle">服务工单·运维报告</text>
  <text x="83" y="232" text-anchor="middle">检验记录·故障案例</text>

  <line x1="196" y1="30" x2="196" y2="300" stroke="#64748b" stroke-dasharray="5 4"/>
  <text x="196" y="320" text-anchor="middle" font-size="12">上游边界：采集与预处理交付清洗后语料</text>

  <rect x="236" y="40" width="222" height="62" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="347" y="63" text-anchor="middle">思维链构建类（工具 1–2）</text>
  <text x="347" y="85" text-anchor="middle" font-size="12">自生成 · 人机协同修订</text>

  <rect x="236" y="120" width="222" height="62" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="347" y="143" text-anchor="middle">长上下文构建类（工具 3–5）</text>
  <text x="347" y="165" text-anchor="middle" font-size="12">切分拼接 · RAG · 结构解析</text>

  <rect x="236" y="200" width="222" height="62" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="347" y="223" text-anchor="middle">多轮对话构建类（工具 6–8）</text>
  <text x="347" y="245" text-anchor="middle" font-size="12">模拟生成 · 工单转写 · 筛选</text>

  <path d="M158 73 H232" stroke="#334155" stroke-width="1.3" marker-end="url(#ar1)" fill="none"/>
  <path d="M158 145 H232" stroke="#334155" stroke-width="1.3" marker-end="url(#ar1)" fill="none"/>
  <path d="M158 217 H232" stroke="#334155" stroke-width="1.3" marker-end="url(#ar1)" fill="none"/>
  <path d="M158 100 C 200 100, 200 140, 232 142" stroke="#334155" stroke-width="1" fill="none" stroke-dasharray="4 3" marker-end="url(#ar1)"/>

  <rect x="536" y="40" width="130" height="48" rx="5" fill="#f8fafc" stroke="#334155"/>
  <text x="601" y="60" text-anchor="middle" font-size="12">预训练语料</text>
  <text x="601" y="78" text-anchor="middle" font-size="12">615 亿 Token</text>

  <rect x="536" y="100" width="130" height="48" rx="5" fill="#f8fafc" stroke="#334155"/>
  <text x="601" y="120" text-anchor="middle" font-size="12">指令微调</text>
  <text x="601" y="138" text-anchor="middle" font-size="12">89 万条</text>

  <rect x="536" y="160" width="130" height="48" rx="5" fill="#f8fafc" stroke="#334155"/>
  <text x="601" y="180" text-anchor="middle" font-size="12">偏好数据</text>
  <text x="601" y="198" text-anchor="middle" font-size="12">6.6 万组</text>

  <rect x="536" y="220" width="130" height="48" rx="5" fill="#f8fafc" stroke="#334155"/>
  <text x="601" y="240" text-anchor="middle" font-size="12">基准测试</text>
  <text x="601" y="258" text-anchor="middle" font-size="12">0.95 万条</text>

  <path d="M458 71 H532" stroke="#334155" stroke-width="1.3" marker-end="url(#ar1)" fill="none"/>
  <text x="495" y="34" text-anchor="middle" font-size="12">推理样本</text>
  <path d="M458 151 H532" stroke="#334155" stroke-width="1.3" marker-end="url(#ar1)" fill="none"/>
  <text x="495" y="116" text-anchor="middle" font-size="12">长上下文样本</text>
  <path d="M458 231 H532" stroke="#334155" stroke-width="1.3" marker-end="url(#ar1)" fill="none"/>
  <text x="495" y="196" text-anchor="middle" font-size="12">对话样本</text>

  <line x1="700" y1="30" x2="700" y2="300" stroke="#64748b" stroke-dasharray="5 4"/>
  <text x="700" y="320" text-anchor="middle" font-size="12">下游边界：训推服务按版本取用</text>

  <rect x="712" y="100" width="100" height="108" rx="5" fill="#f1f5f9" stroke="#334155"/>
  <text x="762" y="140" text-anchor="middle" font-size="12">训练与推理</text>
  <text x="762" y="160" text-anchor="middle" font-size="12">技术服务</text>
  <text x="762" y="180" text-anchor="middle" font-size="12">（另章）</text>
  <path d="M666 154 H708" stroke="#334155" stroke-width="1.3" marker-end="url(#ar1)" fill="none"/>

  <rect x="236" y="348" width="576" height="52" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="524" y="370" text-anchor="middle">奔牛数据智能平台平台底座：统一模型网关 · 血缘与版本登记 · 质检与审核 · 脱敏与审计</text>
  <text x="524" y="390" text-anchor="middle" font-size="12">八个工具链共用，口径与接口规范见通用接口、追溯与验收要求一节</text>
  <path d="M347 262 V344" stroke="#334155" stroke-width="1" stroke-dasharray="4 3" fill="none"/>
  <path d="M601 268 V344" stroke="#334155" stroke-width="1" stroke-dasharray="4 3" fill="none"/>
</svg>

图 2-1　数据构建类工具链在加工主线中的位置与数据流向。数据来源：招标文件第五章 3.2.3.1 智能工具链交付清单（b0917）、3.2.3.2–3.2.3.4 节；数据集规模口径取自招标文件逐数据集规模表。

#### 1.2 八个工具链的交付构成

本章交付的八个工具链及其与招标文件条目的对应关系如表 2-1。每个工具链按同一组交付项给出：现场问题与能力定位、功能设计、输入字段与输出结构、参数与约束、处理流程、运行接口、验收口径。异常码与回退动作随各工具的「任务创建入参契约、调用样例与异常回退」小节给出，运行日志、人工复核点与验收用例八个工具统一列于第 7 节，三个跨工具的端到端作业样例列于第 6 节。

表 2-1　本章交付的八个工具链与招标文件条目对应关系

| 序号 | 工具链名称 | 招标文件条目 | 覆盖单元 | 主要产出物 |
|---|---|---|---|---|
| 1 | 大模型自生成思维链工具链 | 3.2.3.2.1 | b0922–b0931 | 结构化推理样本、自一致性筛选结果 |
| 2 | 人机协同思维链标注工具链 | 3.2.3.2.2 | b0932–b0938 | 修订后推理样本、修改差异记录、仲裁档案 |
| 3 | 文档切分与拼接工具链 | 3.2.3.3.1 | b0942–b0945 | 文档对象、滑窗长上下文样本、来源映射表 |
| 4 | RAG 数据构建工具链 | 3.2.3.3.2 | b0946–b0958 | 查询—上下文—回答三元组、RAG 评测样本与指标 |
| 5 | 文档结构解析工具链 | 3.2.3.3.3 | b0959–b0961 | 章节树、结构化段落、混合切分片段 |
| 6 | 对话模拟生成工具链 | 3.2.3.4.1 | b0965–b0971 | 多轮对话样本、角色标签 |
| 7 | 结构化工单转对话工具链 | 3.2.3.4.2 | b0972–b0978 | 工单转写对话样本、补全标记、脱敏记录 |
| 8 | 对话质量筛选工具链 | 3.2.3.4.3 | b0979–b0988 | 质量评分、低质样本清单、分层采样集、筛选报告 |

八个工具链由我方统一设计、开发与交付，部署在奔牛数据智能平台平台内，对外以统一的任务接口暴露，涉及大模型调用的环节一律经平台统一模型网关接入。网关侧采用当期能力评测领先的通用大模型，可替换、可评测、可随代升级，样本上只记录模型标识与版本号，不绑定具体型号，模型换代时存量样本的血缘记录保持可追溯。
### 2、思维链构建类工具链（3.2.3.2）

#### 2.1 甲方的现场问题与本类工具链的能力定位

**现场缺口。** 甲方业务记录多半只留下结论，很少留下判断过程。典型如：

- **工艺判断**：备料工艺人员读多视图图纸，要识别牌号、板厚、轮廓、孔与方孔、坡口与倒角、压弯线与粗糙度等，再在分厂封闭的 28 道工序中选型排序并校核依赖与禁止条件；工艺卡片上通常只有工序号、设备编码、工装样板号、材料定额，「孔为何排在压弯前」「为何须先退火」等判断未落盘。
- **故障分析**：远程运维报警多、故障标签少，报警与真实故障缺少可核对证据链，维修事实多在纸面工单，「从哪条线索判到哪个部件」的路径未结构化。
- **质量归因 / 安全合规 / 知识推理**：检验结论与不合格处置、制度条款适用、选型与参数校核等，同样常见「有结论、缺步骤、缺依据定位」。

五类任务共同缺口是**可训练、可评测的推理轨迹**：结果多在系统里，过程多在资深人员经验里。

**能力定位。** 本类工具链不声称把专家脑中过程原样拷贝出来，而是在成对事实约束下，建设一条可验收的推理样本生产线：

1. **以成对事实为锚**——如图纸与工艺卡、报警段与维修结论、检验记录与不合格品处置票、制度条款与适用结论；锚必须来自甲方真实业务，不由模型编造。
2. **由模型生成候选推理过程**——在锚与已检索背景材料上补出步骤、答案与依据引用（工具 1）。
3. **由标注人员与领域专家修订**——步骤级增删改与仲裁，使过程符合本企业规程与现场口径（工具 2）。
4. **用一致性与事实匹配筛选**——筛掉编造、违规或站不住的路径；优选路径进指令微调，合格负样本可进偏好数据。

因此，思维链样本是把「有结果、无过程」的业务记录补成可训练对象的**主要路径**。可信性依赖三件事同时成立：**锚真实、过程经专家修订或复核、筛选判据可核对**。

本类交付的是推理样本及其质量与版本记录；不承担模型训练部署，也不替代业务部门做工艺或故障结论裁决。工具 1 与工具 2 的功能、接口与验收见后文各节。

#### 2.2 可处理的数据与产出物

招标文件列明本类工具链须能够处理行业知识片段、工艺规程、设备手册、故障案例、质量检验记录、安全制度、专家题库、业务场景模板、提示词模板等数据，生成思维链训练样本等数据（b0921）。各类输入在甲方的落点、取数依赖与对应的推理样本类型如表 2-2。

表 2-2　思维链构建类工具链的输入数据、取数依赖与产出样本类型

| 招标文件所列输入 | 在甲方的具体落点 | 取数与前置依赖 | 产出的推理样本类型 |
|---|---|---|---|
| 行业知识片段 | 刮板输送机选型校核知识、链条安全系数口径、工作面类型分化规则 | 由文档结构解析工具链（工具 5）输出的章节级片段 | 知识推理类 |
| 工艺规程 | 备料分厂 28 道工序字典、加工方法分档规则、中性层系数表 | 需工艺部门确认正式工序字典版本 | 工艺判断类 |
| 设备手册 | 刮板输送机安装使用维护手册、减速器与电机说明书 | 企业文档系统只读导出 | 知识推理类、故障分析类 |
| 故障案例 | 远程运维平台报警日志与 SOS 服务工单的配对记录 | 需报警与维修事实的事件级配对，缺口须回填 | 故障分析类 |
| 质量检验记录 | 质量管理系统检验记录、交检拍照、不合格品处置票 | 缺陷描述为文字，与工艺参数未关联 | 质量问题归因类 |
| 安全制度 | 企业安全管理制度、作业规程、安全技术措施 | 协同办公系统文档只读导出 | 安全合规判断类 |
| 专家题库 | 由领域专家按场景编制的问题与标准答案集 | 本项目新建，随标注工作同步积累 | 五类通用，兼作基准测试候选 |
| 业务场景模板 | 六个专业场景与五个通用场景的任务描述模板 | 与场景验证方案共用一套场景定义 | 五类通用 |
| 提示词模板 | 本工具链自建并版本化管理的思维链提示词库 | 工具链自身资产 | 五类通用 |

产出侧统一为一种样本结构（见 2.3.4 节的字段定义），按推理样本类型打标签分流：工艺判断类与质量问题归因类主要进入产品工艺设计、制造过程、质量三个数据域的指令微调集，故障分析类进入制造过程与质量域，知识推理与安全合规判断类覆盖四个数据域。同一问题的多条推理路径经自一致性筛选后，优选路径进指令微调集，被淘汰但仍可读的路径与优选路径配对后进偏好数据集。这是偏好数据 6.6 万组的主要来源之一，不另设生产线。

#### 2.3 大模型自生成思维链工具链（3.2.3.2.1）

##### 2.3.1 思维链提示词模板体系与版本治理

招标文件要求支持按业务场景、任务类型、难度等级、输出格式和推理深度配置思维链提示词模板，并支持模板版本管理、变量注入、批量渲染、灰度发布和回滚（b0923）（b0924）。

模板是本工具链的核心可配置资产，也是样本质量的主要变量。工具链把模板拆成五个配置维度与一组可注入变量，模板本体只写推理结构与输出约束，业务事实一律通过变量注入，这样同一套模板可以在四个数据域之间复用，换域只换变量源。五个维度的取值口径如表 2-3。

表 2-3　思维链提示词模板的五个配置维度

| 维度 | 取值 | 对样本的影响 | 配置依据 |
|---|---|---|---|
| 业务场景 | 产品选型、板材备料、库存控制、热处理、焊接、装备健康诊断，以及问制度、问技术、问标书、问数据、合同合规审查 | 决定注入哪一类背景材料与术语表 | 与场景验证方案的场景定义一致 |
| 任务类型 | 知识推理、故障分析、工艺判断、质量问题归因、安全合规判断 | 决定推理骨架与答案依据的形式 | 招标文件 b0920 所列五类 |
| 难度等级 | 一级（单跳事实）、二级（两跳关联）、三级（多约束校核）、四级（证据冲突下的判断） | 决定推理步数区间与是否注入干扰材料 | 按基准测试集难度分层需要设定 |
| 输出格式 | 纯文本步骤、带编号步骤、JSON 结构化步骤、步骤加证据引用 | 决定解析器与校验规则 | 按下游训练任务的格式要求 |
| 推理深度 | 浅（2–3 步）、中（4–6 步）、深（7 步以上并允许回溯） | 决定最大长度与停止条件 | 按任务类型与难度等级联动设定 |

变量注入支持三类来源：知识库检索结果（由工具 4 提供）、结构化业务记录字段（如工序字典项、物料主数据字段）、以及上一轮生成的中间结果。注入前做长度预算与缺失校验，必填变量缺失时任务不进生成队列，直接落入待料清单并给出缺哪个字段，避免生成一批背景材料为空的废样本。

模板版本管理按"草稿—评审—灰度—全量—归档"五态推进。每个模板有唯一标识与递增版本号，修改模板必产生新版本，不允许原地覆盖；样本上记录的是模板标识加版本号，因此任何一条历史样本都能复原出当时用的是哪一版提示词。

灰度发布按批次比例放量，默认先在 5% 的待生成任务上试跑一轮，比对灰度批与基线批在自一致性通过率、事实匹配率、人工抽检合格率三项指标上的差异；三项中有两项不低于基线，方可放量至全量。回滚是把当前生效版本指回上一个稳定版本，已生成的样本不删除，改为标记"由已回滚模板版本生成"并进入复核队列——模板出了问题，样本的处置由人来定，工具不替人做删除决定。

##### 图 2-2　思维链提示词模板的生命周期与灰度回滚机制

<svg viewBox="0 0 820 300" xmlns="http://www.w3.org/2000/svg"
     font-family="Noto Sans CJK SC, PingFang SC, SimHei, sans-serif" font-size="13">
  <defs>
    <marker id="ar2" markerWidth="9" markerHeight="9" refX="8" refY="4.5" orient="auto">
      <path d="M0 0 L9 4.5 L0 9 z" fill="#334155"/>
    </marker>
  </defs>
  <rect x="12" y="40" width="120" height="50" rx="5" fill="#f1f5f9" stroke="#334155"/>
  <text x="72" y="70" text-anchor="middle">草稿 v0.n</text>
  <rect x="180" y="40" width="120" height="50" rx="5" fill="#f1f5f9" stroke="#334155"/>
  <text x="240" y="63" text-anchor="middle">评审</text>
  <text x="240" y="81" text-anchor="middle" font-size="12">领域专家会签</text>
  <rect x="348" y="40" width="120" height="50" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="408" y="63" text-anchor="middle">灰度 5% 批次</text>
  <text x="408" y="81" text-anchor="middle" font-size="12">与基线批对照</text>
  <rect x="516" y="40" width="120" height="50" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="576" y="63" text-anchor="middle">全量生效</text>
  <text x="576" y="81" text-anchor="middle" font-size="12">版本号冻结</text>
  <rect x="684" y="40" width="124" height="50" rx="5" fill="#f8fafc" stroke="#334155"/>
  <text x="746" y="63" text-anchor="middle">归档</text>
  <text x="746" y="81" text-anchor="middle" font-size="12">仅供血缘复原</text>

  <path d="M132 65 H176" stroke="#334155" stroke-width="1.3" marker-end="url(#ar2)" fill="none"/>
  <path d="M300 65 H344" stroke="#334155" stroke-width="1.3" marker-end="url(#ar2)" fill="none"/>
  <path d="M468 65 H512" stroke="#334155" stroke-width="1.3" marker-end="url(#ar2)" fill="none"/>
  <path d="M636 65 H680" stroke="#334155" stroke-width="1.3" marker-end="url(#ar2)" fill="none"/>

  <rect x="300" y="140" width="320" height="64" rx="5" fill="#f1f5f9" stroke="#334155"/>
  <text x="460" y="162" text-anchor="middle">放量判据：自一致性通过率 · 事实匹配率</text>
  <text x="460" y="180" text-anchor="middle">人工抽检合格率</text>
  <text x="460" y="197" text-anchor="middle" font-size="12">三项中两项不低于基线方可放量</text>
  <path d="M408 90 V136" stroke="#334155" stroke-width="1.3" marker-end="url(#ar2)" fill="none"/>
  <text x="430" y="118" font-size="12">灰度批指标</text>
  <path d="M576 136 V94" stroke="#334155" stroke-width="1.3" marker-end="url(#ar2)" fill="none"/>
  

  <rect x="12" y="222" width="286" height="56" rx="5" fill="#f8fafc" stroke="#334155"/>
  <text x="155" y="244" text-anchor="middle">回滚：生效版本指回上一稳定版</text>
  <text x="155" y="263" text-anchor="middle" font-size="12">已生成样本不删除，标记并转复核队列</text>
  <path d="M300 182 C 200 200, 180 210, 155 218" stroke="#334155" stroke-width="1.3" fill="none" marker-end="url(#ar2)"/>
  <rect x="174.0" y="187.4" width="40.0" height="15.0" fill="#ffffff" stroke="none" data-halo="1"/><text x="176" y="200" font-size="12">不达标</text>

  <rect x="640" y="222" width="168" height="56" rx="5" fill="#f8fafc" stroke="#334155"/>
  <text x="724" y="244" text-anchor="middle" font-size="12">样本记录模板标识</text>
  <text x="724" y="263" text-anchor="middle" font-size="12">＋版本号（可复原）</text>
  <path d="M576 90 C 650 140, 700 180, 724 218" stroke="#334155" stroke-width="1" fill="none" stroke-dasharray="4 3" marker-end="url(#ar2)"/>

  <rect x="586.0" y="102.9" width="56.0" height="19.0" fill="#ffffff" stroke="none" data-halo="1"/><text x="590" y="118" font-size="12">达标放量</text>
</svg>

图 2-2　思维链提示词模板的生命周期与灰度回滚机制。数据来源：招标文件 3.2.3.2.1 节第（1）条（b0923）（b0924）；放量判据中的三项指标口径与本章 2.3.5 节自一致性筛选判据一致。
##### 2.3.2 批量生成与任务调度

招标文件要求支持调用一个或多个大模型批量生成带推理过程的数据样本，并能够配置采样温度、候选条数、最大长度、停止词、输出 Schema、失败重试和批量任务调度策略（b0925）（b0926）（b0927）。

生成作业以"批次"为管理单位。一个批次绑定一套模板版本、一份输入清单、一组生成参数和一个或多个模型标识，批次创建后参数即冻结，中途改参数须新建批次。这样做是为了让批次成为可比较的单位，否则事后无法判断某批样本的质量差异来自模板还是来自参数。生成参数的配置项与默认取值如表 2-4。

表 2-4　批量生成的参数配置项

| 参数项 | 取值范围 | 本项目默认口径 | 设置理由 |
|---|---|---|---|
| 模型标识 | 经统一模型网关注册的可用模型，支持单模型或多模型并行 | 按任务类型配置 2–3 个模型并行生成 | 多模型并行是自一致性投票的前提，也避免单一模型的系统性偏差 |
| 采样温度 | 0–1.2 | 工艺判断与安全合规判断类 0.3–0.5，故障分析与知识推理类 0.6–0.8 | 强约束任务降温保稳定，开放性任务升温保路径多样 |
| 候选条数 | 1–8 | 三级以下难度 3 条，三级及以上 5 条 | 投票需要奇数条以上候选，难题多采样 |
| 最大长度 | 按模型上下文窗口与推理深度联动设定 | 浅 1024、中 2048、深 4096 Token | 与推理深度配置对应，防止深度推理被截断 |
| 停止词 | 可配置多组 | 输出结束标记、下一问题起始标记、重复步骤标记 | 截断失控输出，减少后处理成本 |
| 输出 Schema | JSON Schema 定义，按输出格式维度选取 | 结构化步骤格式使用统一 Schema（见表 2-7） | Schema 校验失败即判本次生成无效 |
| 失败重试 | 重试次数、退避间隔、是否降级 | 最多 3 次，指数退避，第 3 次允许降级到备用模型 | 网关限流与瞬时失败是批量作业的常态 |
| 调度策略 | 并发度、优先级、配额、时间窗 | 按数据域设配额，夜间窗口跑大批量，白天留并发给人机协同任务 | 与标注与复核作业错峰，避免占满网关配额 |

调度侧按"数据域—任务类型—批次"三级队列组织。每个数据域有独立的 Token 配额与并发上限，防止某一域的大批量作业把网关占满；批次内按输入清单分片，分片失败只重跑该片，不重跑整批。作业状态落库，可按批次查询进度、成功数、失败数、失败原因分布。失败原因按网关侧（限流、超时、拒答）、格式侧（Schema 校验不通过、字段缺失）、内容侧（空输出、重复输出、答案与锚不符）三类归并统计，这份分布本身就是模板与参数调优的依据。

##### 2.3.3 任务分解与依据引用的生成约束

招标文件要求输出的结构化推理样本至少包含问题、背景材料、推理过程、答案和依据五项（b0928）。推理过程与依据这两项的生成不能交给模型自由发挥，否则同一类任务的样本在步数、颗粒度与引用密度上会散成一片，后续的步骤级核验与依据覆盖率都无从计算。本工具因此在生成前先做任务分解，在生成后逐步校验依据引用。

任务分解是把一个问题拆成有序的子目标序列，再由子目标驱动推理步骤。分解骨架按任务类型预置，不由模型自定；难度等级决定子目标数的区间，三级及以上的任务允许出现条件分支子目标（如"若孔位落在弯曲影响区则改排序"）。分解结果写入样本的 `decomposition` 字段，每个子目标带编号、目标描述与期望产出类型；推理步骤上的 `goal_id` 指回其所属子目标，使步骤与子目标可逐一对齐。必备子目标缺失的样本不进入筛选环节，直接退回重新生成，重新生成两次仍缺失的转人工补充。五类任务类型的分解骨架如表 2-5。

表 2-5　五类任务类型的分解骨架与必备子目标

| 任务类型 | 分解骨架 | 必备子目标 | 子目标数区间 | 必备子目标缺失时的处置 |
|---|---|---|---|---|
| 工艺判断 | 要素识别 → 工序归属 → 约束校核 → 顺序确定 → 参数回写 | 约束校核、顺序确定 | 一、二级 3–4；三、四级 4–6 | 退回重新生成；两次仍缺则转人工补充子目标后再生成 |
| 故障分析 | 现象归纳 → 前提确认 → 候选部件枚举 → 证据比对 → 部件定位与处置 | 候选部件枚举、证据比对 | 一、二级 3–5；三、四级 5–7 | 同上；候选部件仅一项的判为枚举不成立，一并退回 |
| 质量问题归因 | 不合格项定位 → 判定依据检索 → 工序关联 → 成因候选 → 处置路径 | 判定依据检索、成因候选 | 一、二级 3–4；三、四级 4–6 | 同上 |
| 安全合规判断 | 作业情形归类 → 适用条款检索 → 条款逐项比对 → 合规结论 → 整改要求 | 适用条款检索、条款逐项比对 | 一、二级 3–4；三、四级 4–5 | 同上；未检出适用条款的转人工，不以"无相关规定"收尾 |
| 知识推理 | 问题要素拆解 → 知识点检索 → 关系推导 → 结论归纳 | 知识点检索、关系推导 | 一、二级 2–4；三、四级 4–6 | 同上 |

表 2-5　数据来源：任务类型取自招标文件 3.2.3.2 节第（1）条所列五类（b0920）；难度等级与子目标数的联动口径见本章表 2-3 难度等级一行。

依据引用的四项约束如表 2-6。其中第四项是本工具的防漏口径：算术换算、格式转换与对上一步结论的复述这三类步骤本来就无外部依据可引，若不设豁免，模型会为凑引用而给算术步骤挂一条不相干的出处；若豁免不加限定，无依据推理又会从这个口子出去。做法是把豁免类型封闭为上述三类，豁免须在 `ref_exempt` 字段写明类型，豁免步骤计入依据覆盖率的分母扣减项并在批次报告中单列占比，占比超过设定上限的批次回查分解骨架是否把实质判断拆成了换算步骤。

表 2-6　依据引用的四项约束与校验

| 约束项 | 口径 | 校验方式 | 不满足时的处置 |
|---|---|---|---|
| 引用定位粒度 | 引用须定位到源文档标识、版本、页码与原文字符区间，口径同本章表 2-41 的溯源字段 | 逐条回查片段库，校验字符区间在该版本文档内有效 | 定位无效的引用项判废，该步骤转未接地 |
| 主辅依据分列 | 一个步骤引用多项时，分主依据与辅依据；主依据有且仅有一项，为该步结论的直接出处 | 校验主依据项数等于一 | 主依据缺失或多于一项的步骤退回重新生成 |
| 应引用步骤的覆盖 | 含判据、数值、标准号或条款的步骤为应引用步骤，由规则识别 | 应引用步骤中有主依据的占比，即依据覆盖率（见本章表 2-22 第二项） | 覆盖率低于批次基线的，该批次转人工抽检并回查模板的引证要求 |
| 免引用的封闭豁免 | 仅算术换算、格式转换、对上一步结论的复述三类可免引用，须在 `ref_exempt` 字段写明类型 | 校验豁免类型在三类之内；统计豁免步骤占比 | 豁免类型不在三类之内的判为未接地；豁免占比超上限的批次回查分解骨架 |

表 2-6　数据来源：依据项与字段口径依招标文件 3.2.3.2.1 节第（3）条对结构化推理样本字段的要求（`b0928`、`b0929`）；覆盖率的计算口径见本章表 2-22。

分解与引用之后的三道判据不在本小节重复：推理步骤的中间核验与首错定位见 2.3.6，同一问题多条路径的答案一致性见 2.3.5 表 2-8 第一行，错误推理的剔除与淘汰路径的去向见 2.3.5 末段。四者合起来构成推理样本从生成到入池的完整判定链。

##### 2.3.4 结构化推理样本的字段定义

招标文件要求输出结构化推理样本，样本字段至少包含问题、背景材料、推理步骤、最终答案、答案依据、模型名称、提示词版本、生成批次和质量状态（b0928）（b0929）。

工具链按表 2-7 定义样本结构。表中前九项是招标文件明文要求的字段，其余为满足血缘、追溯与后续加工所需的补充字段；补充字段与通用接口、追溯与验收要求一节的血缘字段规范保持一致，不另立口径。

表 2-7　结构化推理样本字段定义

| 字段 | 类型 | 是否招标文件明文要求 | 说明 |
|---|---|---|---|
| sample_id | 字符串 | 否（血缘必需） | 全局唯一样本标识，按数据域与批次编码 |
| question | 文本 | 是 | 问题。由专家题库、场景模板渲染或从业务记录反向构造 |
| context | 文本数组 | 是 | 背景材料。每项带来源文档标识、章节标题与页码 |
| reasoning_steps | 对象数组 | 是 | 推理步骤。每步含步序号、步骤文本、本步引用的背景材料项、本步结论 |
| final_answer | 文本 | 是 | 最终答案 |
| answer_evidence | 对象数组 | 是 | 答案依据。指向背景材料项或外部文档的定位信息 |
| model_name | 字符串 | 是 | 模型标识。记网关注册标识与版本号，不记商业型号 |
| prompt_version | 字符串 | 是 | 提示词模板标识与版本号 |
| batch_id | 字符串 | 是 | 生成批次标识 |
| quality_status | 枚举 | 是 | 质量状态：待筛选／自一致性通过／自一致性淘汰／待人工复核／已修订／已采纳／已废弃 |
| task_type | 枚举 | 否 | 任务类型，取表 2-3 五类 |
| scene_code | 字符串 | 否 | 业务场景编码 |
| difficulty | 枚举 | 否 | 难度等级，一至四级 |
| consistency_score | 数值 | 否 | 自一致性得分，见 2.3.5 节 |
| sampling_group | 字符串 | 否 | 同一问题的多路采样分组标识，用于投票与偏好对构造 |
| lineage | 对象 | 否 | 血缘信息：原始数据标识、处理链路、工具版本、规则版本、质检结果、审核状态 |
| audit_trail | 对象数组 | 否 | 修改与审核留痕，由工具 2 写入 |

每步推理显式记录"本步引用了哪一项背景材料"，这一设计是为了让事实匹配度可计算：如果某一步的结论里出现了背景材料中没有的具体数值或型号，规则校验即可直接标出。这比事后用模型整体打分更可靠，也更便于向评审与验收方解释判据。

一条工艺判断类样本的完整样例如下（取自板材备料场景，字段值已按脱敏规则处理）：

```json
{
  "sample_id": "GYSJ-CL-2027Q1-000812",
  "task_type": "工艺判断",
  "scene_code": "BLBL-01",
  "difficulty": "三级",
  "question": "某刮板输送机中部槽封板零件，材料 Q355B，板厚 16mm，轮廓含两处 R40 圆弧过渡，图纸标注一处 45°坡口（坡口面粗糙度 切割面质量按等级评定）、四个 φ22 通孔、一条压弯线（折弯角 90°）。请在备料分厂工序字典范围内确定工序顺序，并说明判断依据。",
  "context": [
    {"doc_id": "GYZD-BL-V3", "title": "备料分厂工序字典（28 道）", "page": 2, "text": "工序字典含下料类 6 道、成形类 5 道、孔加工类 4 道、坡口类 3 道、热处理类 3 道、表面类 4 道、辅助类 3 道……"},
    {"doc_id": "GYGC-BL-07", "title": "板材备料工艺规程·压弯件展开长计算", "page": 11, "text": "压弯件展开长按中性层公式计算，中性层系数按板厚与折弯半径分档查表……"},
    {"doc_id": "GYGC-BL-07", "title": "板材备料工艺规程·工序排序禁止条件", "page": 14, "text": "压弯工序之后不得安排影响弯曲区域尺寸精度的孔加工；坡口加工宜在轮廓成形之后……"}
  ],
  "reasoning_steps": [
    {"step": 1, "text": "该零件为板类件，含轮廓、孔、坡口、压弯四类加工要求，须先确定各类要求的工序归属。", "refs": ["GYZD-BL-V3#p2"], "conclusion": "涉及下料类、孔加工类、坡口类、成形类四类工序。"},
    {"step": 2, "text": "板厚 16mm，本件轮廓须与后续坡口加工衔接，对切割面垂直度与粗糙度有要求；按工序字典中下料类的方法分档规则，该板厚区间且对切割面质量有要求的，取等离子数控切割——其切割面质量等级与热影响区宽度优于火焰切割，单件工时亦更短。火焰数控切割在本板厚同样可用，分档规则将其列为切割面质量要求较低时的可选方法。", "refs": ["GYZD-BL-V3#p2"], "conclusion": "下料工序取等离子数控切割。"},
    {"step": 3, "text": "工艺规程规定压弯之后不得安排影响弯曲区域尺寸精度的孔加工，四个 φ22 通孔中须判断是否落在弯曲影响区。按图纸孔位标注，四孔均距压弯线 60mm 以上，超出板厚 3 倍的影响区范围。", "refs": ["GYGC-BL-07#p14"], "conclusion": "孔加工可安排在压弯之前。"},
    {"step": 4, "text": "规程规定坡口加工宜在轮廓成形之后，本件轮廓由下料工序一次成形，故坡口工序排在下料之后。坡口位于本件直边段、不在弯曲影响区内，排在压弯之前或之后均不改变坡口面角度；此处排在压弯之前，理由是压弯后工件呈折弯状态，坡口机装夹与行走受限，平板状态下加工更易保证角度一致性。", "refs": ["GYGC-BL-07#p14"], "conclusion": "坡口工序排在下料与孔加工之后、压弯之前。"},
    {"step": 5, "text": "压弯工序需按中性层公式换算展开长，板厚 16mm、折弯角 90°，中性层系数按分档表查取后代入计算，展开长作为下料尺寸回写至下料工序的材料定额。", "refs": ["GYGC-BL-07#p11"], "conclusion": "压弯排在末位，并向下料工序回写展开长。"}
  ],
  "final_answer": "工序顺序为：等离子数控切割下料（按展开长下料）→ 钻孔（四个 φ22 通孔）→ 坡口加工（45°，切割面质量按 GB/T 15579 等级评定）→ 压弯（90°）。展开长按中性层公式计算后回写下料工序材料定额。",
  "answer_evidence": [
    {"doc_id": "GYZD-BL-V3", "page": 2, "quote": "下料类方法分档规则"},
    {"doc_id": "GYGC-BL-07", "page": 14, "quote": "压弯工序之后不得安排影响弯曲区域尺寸精度的孔加工"},
    {"doc_id": "GYGC-BL-07", "page": 11, "quote": "压弯件展开长按中性层公式计算"}
  ],
  "model_name": "gw-model-a@2027.01",
  "prompt_version": "COT-GYPD-v2.3",
  "batch_id": "B-2027Q1-CL-0042",
  "quality_status": "自一致性通过",
  "consistency_score": 0.84,
  "sampling_group": "SG-000812",
  "lineage": {"source": ["DWG-XXXXXX", "GYK-XXXXXX"], "pipeline": "工具5→工具4→工具1", "tool_version": "cot-gen-1.4.0", "rule_version": "BL-RULE-v1.2", "qc_result": "pass", "audit_status": "待专家复核"}
}
```

样例核对要点：背景材料取自甲方工艺文件并带出处；第 3 步含弯曲影响区阈值判断（工艺卡通常不落盘）；答案含「向下料工序回写展开长」，覆盖业务闭环而非单结论。样例中的文档标识与图号按脱敏规则处理，正式生产时由平台按真实标识填充。

##### 2.3.5 多路采样与自一致性筛选

招标文件要求支持多路采样和自一致性投票，对同一问题生成多条推理路径，并按答案一致性、推理完整性、事实匹配度和规则约束筛选高可信样本（b0930）（b0931）。

四项判据各管一件事，合起来才构成筛选。答案一致性管"结论是否稳定"，推理完整性管"过程是否完整"，事实匹配度管"有没有编造"，规则约束管"是否违反本企业的硬规定"。四项的计算口径、判据与不达标处置如表 2-8。

表 2-8　自一致性筛选的四项判据与处置

| 判据 | 计算口径 | 通过条件（初始基线） | 不达标处置 |
|---|---|---|---|
| 答案一致性 | 同一采样组内各路径最终答案按任务类型规范化后聚类，取最大簇占比 | 多数簇占比不低于 0.6；枚举型答案要求完全一致，数值型答案允许在规程规定公差内视为一致 | 占比在 0.4–0.6 之间转人工复核；低于 0.4 判问题本身表述不清，退回题目修订 |
| 推理完整性 | 步数落在模板设定的深度区间内，且每步均有非空结论、无跳步引用 | 步数在区间内且跳步引用数为 0 | 步数越界或存在跳步引用的路径直接淘汰，不进复核 |
| 事实匹配度 | 推理步骤与答案中出现的实体、数值、型号、标准号，逐一回查背景材料与知识库；可回查命中的占比 | 命中率不低于 0.9，且不存在"背景材料中无此数值"的硬性不匹配项 | 存在硬性不匹配项直接淘汰；命中率 0.8–0.9 转人工复核 |
| 规则约束 | 按场景规则库校验，如备料工序排序禁止条件、安全制度中的禁止性条款、热处理工艺参数窗口 | 无规则冲突 | 任一规则冲突直接淘汰，并把冲突条目记入样本的淘汰原因 |

四项判据的阈值在首批 2,000 条样本的人工全检结果上校准，校准方法是以人工判定为真值，调阈值使漏判（本应淘汰而通过）优先于误判（本应通过而淘汰）得到控制。本环节的承诺落在可实测、可追溯的三条上：首批校准后漏判率给出实测值并写入质量报告，此后每月以 200 条随机抽样复核一次，漏判率逐步接近校准目标；单月实测漏判率高于校准值 50% 以上时，该月样本批次整体转人工复核，并回查是模板、模型版本还是规则库变更导致。这是本工具链的回退路径。

通过筛选的路径标记为"自一致性通过"，进入人机协同修订或直接入待采纳池。被淘汰的路径不删除：淘汰原因为"答案一致性不足"或"推理完整性不足"但事实匹配无硬性问题的路径，与同组优选路径配对构成偏好数据的负样本；因事实不匹配或规则冲突淘汰的路径另池存放，作为数据生成控制与评测类工具链的问题样本库输入。

##### 图 2-3　多路采样与自一致性筛选的处置流向

<svg viewBox="0 0 820 400" xmlns="http://www.w3.org/2000/svg"
     font-family="Noto Sans CJK SC, PingFang SC, SimHei, sans-serif" font-size="13">
  <defs>
    <marker id="ar3" markerWidth="9" markerHeight="9" refX="8" refY="4.5" orient="auto">
      <path d="M0 0 L9 4.5 L0 9 z" fill="#334155"/>
    </marker>
  </defs>
  <rect x="12" y="30" width="150" height="54" rx="5" fill="#f1f5f9" stroke="#334155"/>
  <text x="87" y="52" text-anchor="middle">同一问题</text>
  <text x="87" y="71" text-anchor="middle" font-size="12">3–5 路采样 · 多模型</text>

  <rect x="212" y="18" width="150" height="40" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="287" y="43" text-anchor="middle" font-size="12">① 推理完整性</text>
  <rect x="212" y="70" width="150" height="40" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="287" y="95" text-anchor="middle" font-size="12">② 规则约束</text>
  <rect x="212" y="122" width="150" height="40" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="287" y="147" text-anchor="middle" font-size="12">③ 事实匹配度</text>
  <rect x="212" y="174" width="150" height="40" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="287" y="199" text-anchor="middle" font-size="12">④ 答案一致性投票</text>

  <path d="M162 57 C 190 57, 190 38, 208 38" stroke="#334155" stroke-width="1.2" fill="none" marker-end="url(#ar3)"/>
  <path d="M287 58 V66" stroke="#334155" stroke-width="1.2" marker-end="url(#ar3)" fill="none"/>
  <path d="M287 110 V118" stroke="#334155" stroke-width="1.2" marker-end="url(#ar3)" fill="none"/>
  <path d="M287 162 V170" stroke="#334155" stroke-width="1.2" marker-end="url(#ar3)" fill="none"/>

  <rect x="430" y="18" width="160" height="48" rx="5" fill="#f8fafc" stroke="#334155"/>
  <text x="510" y="38" text-anchor="middle" font-size="12">采纳池</text>
  <text x="510" y="56" text-anchor="middle" font-size="12">自一致性通过</text>

  <rect x="430" y="82" width="160" height="48" rx="5" fill="#f8fafc" stroke="#334155"/>
  <text x="510" y="102" text-anchor="middle" font-size="12">人工复核队列</text>
  <text x="510" y="120" text-anchor="middle" font-size="12">落在中间区间的样本</text>

  <rect x="430" y="146" width="160" height="48" rx="5" fill="#f8fafc" stroke="#334155"/>
  <text x="510" y="166" text-anchor="middle" font-size="12">偏好数据负样本</text>
  <text x="510" y="184" text-anchor="middle" font-size="12">与优选路径配对</text>

  <rect x="430" y="210" width="160" height="48" rx="5" fill="#f8fafc" stroke="#334155"/>
  <text x="510" y="230" text-anchor="middle" font-size="12">问题样本库</text>
  <text x="510" y="248" text-anchor="middle" font-size="12">事实不符·规则冲突</text>

  <path d="M362 196 C 400 196, 400 44, 426 42" stroke="#334155" stroke-width="1.2" fill="none" marker-end="url(#ar3)"/>
  <text x="372" y="14" font-size="12">多数簇占比 ≥0.6</text>
  <path d="M362 200 C 400 200, 404 110, 426 106" stroke="#334155" stroke-width="1.2" fill="none" marker-end="url(#ar3)"/>
  
  <path d="M362 206 C 396 210, 400 168, 426 170" stroke="#334155" stroke-width="1.2" fill="none" marker-end="url(#ar3)"/>
  <path d="M362 94 C 396 94, 400 230, 426 234" stroke="#334155" stroke-width="1.2" fill="none" marker-end="url(#ar3)"/>
  <path d="M362 142 C 392 142, 398 232, 426 236" stroke="#334155" stroke-width="1.2" fill="none" marker-end="url(#ar3)"/>

  <rect x="640" y="60" width="168" height="80" rx="5" fill="#f1f5f9" stroke="#334155"/>
  <text x="724" y="86" text-anchor="middle" font-size="12">人机协同思维链</text>
  <text x="724" y="105" text-anchor="middle" font-size="12">标注工具链（工具 2）</text>
  <text x="724" y="126" text-anchor="middle" font-size="12">修订后回流至采纳池</text>
  <path d="M590 106 H636" stroke="#334155" stroke-width="1.3" marker-end="url(#ar3)" fill="none"/>
  <path d="M724 60 C 724 30, 640 30, 594 38" stroke="#334155" stroke-width="1.2" fill="none" marker-end="url(#ar3)"/>

  <rect x="12" y="300" width="796" height="62" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="410" y="322" text-anchor="middle">阈值校准：首批 2,000 条人工全检定阈值；月度 200 条抽样复核</text>
  <text x="410" y="342" text-anchor="middle" font-size="12">回退：单月实测漏判率高于校准值 50% 以上，该月批次整体转人工复核并回查模板／模型版本／规则库变更</text>
  <path d="M410 258 V296" stroke="#334155" stroke-width="1" stroke-dasharray="4 3" fill="none"/>

  <rect x="364.0" y="221.9" width="73.4" height="18.0" fill="#ffffff" stroke="none" data-halo="1"/><text x="368" y="236" font-size="12">0.4–0.6 区间</text>
</svg>

图 2-3　多路采样与自一致性筛选的处置流向。数据来源：招标文件 3.2.3.2.1 节第（4）条（b0930）（b0931）；四项判据口径与阈值见本章表 2-8。

##### 2.3.6 步骤级可信度与首错步骤定位

自一致性筛选解决的是「几条推理路径的最终答案是否互相一致」。它管用，但它看不见一件事：**过程错而结论对。** 一条推理链在第三步引用了错误的工艺窗口，后面两步又恰好把偏差抵消回去，最终答案与其他路径一致，于是这条链被判为高可信并入库。对通用语料来说这类样本危害有限；对本项目来说它是危险的——一条过程错误的工艺推理样本，教给模型的是一套错的判断依据，而这个错误在训练中不会被摊薄，只会被学会。备料二十八道工序的排序规则、压弯件展开长的中性层取值、热处理的保温时间档位，这些地方的过程错误尤其不能靠答案一致来兜。

因此本工具在路径级判据之上，再加一层步骤级判据。

**步骤级可信度怎么得出。** 做法不依赖人工标注，也不依赖另训一个判分模型，用的是推理链自身的可续写性：把一条链按步骤切开，从某一步骤之后截断，让模型从该处续写若干次，统计这些续写能到达正确答案的比例。这个比例就是该步骤的后续成功率——若从第三步往后怎么续都走不到正确答案，说明第三步本身已经偏了；若从第三步往后多次续写大多能到达正确答案，说明第三步是可靠的。逐步骤算出后续成功率，即得到整条链的步骤级可信度分布。

筛选规则随之升级为两条同时成立：答案在多条路径间一致，**且**链上没有低分步骤。只满足前者的链不再直接入候选集，而是转入人工复核队列，并在界面上标出低分步骤的位置。

「低分」要给到门限，否则这一层无从核对。步骤级判分的参数与分档如表 2-9。门限取值在首批标定集上校准，校准方法与本章 2.3.5 的四项判据一致：以专家逐步骤判定为真值，调门限使「把走偏的步骤判成可信」这一类错误优先得到控制。

表 2-9　步骤级可信度的判分口径与分档

| 项 | 口径 | 首期取值 | 说明 |
|---|---|---|---|
| 截断位置 | 按步骤树的节点序逐步截断，不按字符位置 | 全部可步骤化节点 | 切分不成立的链退回路径级判据，不强行切分 |
| 每探测点续写条数 | 从同一前缀独立续写，生成参数与本批一致 | 4 至 8 条 | 与本章 2.3.2 的调度与成本登记共用一套计量 |
| 到达正解的判定 | 续写所得最终答案按任务类型规范化后，与本采样组多数簇比对 | 同表 2-8 答案一致性口径 | 口径复用，避免同一事实两处标准 |
| 步骤后续成功率 | 该探测点续写中到达正解的条数占比 | 取值 0 至 1 | 逐节点计算，按节点序排列 |
| 可信档 | 后续成功率不低于高门限 | 不低于 0.75 | 该步骤予以保留 |
| 可疑档 | 介于两门限之间 | 0.35 至 0.75 | 标记待核，不单独淘汰 |
| 有害档 | 低于低门限，且前一步骤处于可信档 | 低于 0.35 | 判为推理走偏的起点候选 |

表 2-9　数据来源：判定口径复用本章表 2-8 答案一致性的规范化与多数簇定义；门限取值为首期设定，属待验证目标，随标定集扩充复标，复标记录入库。

**首错步骤怎么定位。** 知道「链上有低分步骤」还不够，要指出是哪一步最先出错，专家才省力。做法是在链上做二分：先在中点处截断续写，若续写成功率仍高，说明错误在后半段；若已经偏低，说明错误在前半段；在确定的那一半里继续二分。链长为若干步时，定位所需的采样轮次只随链长的对数增长，开销可控。定位结果写入输出记录的首错步骤字段，连同该步骤所依赖的背景材料片段一并传给人机协同标注工具（见 2.4 节）。

有三种情形不输出首错步骤，三者的去向不同，分别如下。链上全部步骤处于可信档，判为无首错，按整条可信处理；后续成功率曲线出现多次升降，判为多处错误，整条链转人工且**不派发单步工位**，因为在多处出错的链上指定一个单步会把复核人的注意力引偏；步骤切分不成立，退回路径级判据。**不输出首错步骤本身也是一种结论**，它决定样本去向，因此要写入定位状态字段而不是留空。

本层能力在样本上新增的字段如表 2-10。字段随样本入库并纳入血缘，命名口径与本章表 2-7 的字段定义一致。通用要求的血缘条款要求每条样本可关联其处理链路与质检结果，步骤级判分与首错定位的结果因此逐项定义为样本字段，由字段承载而非由文字表述承载。

表 2-10　步骤级判分与定位在样本上新增的字段

| 字段 | 类型 | 必填 | 含义 |
|---|---|---|---|
| `step_scores` | 数组 | 否 | 各步骤的后续成功率与所属档位，按节点序排列；未判分时为空 |
| `first_error_step` | 整数 | 否 | 首错步骤的节点序号；无首错或未定位时置空，由下一字段说明原因 |
| `locate_state` | 枚举 | 是 | 定位状态：已定位／无首错／多处错误／不可步骤化／未判分 |
| `locate_confidence` | 数值 | 否 | 定位置信度，取相邻两次二分判断的成功率落差 |
| `step_sampling_cost` | 整数 | 是 | 本条样本在判分与定位上实际消耗的续写条数，用于成本统计 |

表 2-10　数据来源：字段命名与类型口径依本章表 2-7 公共字段定义；必填项依通用要求中处理链路与质检结果须可关联的条款。

**这一层的三项作用都落在可度量的事情上。**

第一条，它把专家的工作从「读完整条链再判断对错」降到「看一个被指出来的步骤」。一条二十步的工艺推理链，专家通读一遍要几分钟，而定位到首错步骤后只需确认一步。专家处理时长是可以实测的，这是降本的直接证据，而不是一句「提高效率」。

第二条，它顺带产出本项目最干净的偏好数据。强化学习偏好数据集要六点六万组，偏好对的信号质量取决于「好与坏的差别是否明确」。用整条路径的优劣配对，好坏差别混在二十步里；用同一前缀下的好步骤与坏步骤配对——前缀完全相同，只有这一步不同，一个走得通一个走不通——信号就干净得多。这类步骤级偏好对由本工具的采样过程自然产生，不需要额外的构造工序。

步骤级配对与路径级配对同指偏好数据集的六点六万组，两者的分工与计数规则如下。路径级配对取自整条路径的优选与淘汰（见 2.3.5），刻画的是结论与整体推理质量的差异；步骤级配对取自同一前缀的分叉，刻画的是单步判断的差异。两类在样本上以配对类型字段区分，**同一条路径不得同时作为两类配对的来源重复入库；偏好数据集的规模按配对条数一次计数，不叠加。** 各工具对六点六万组的贡献比例以本章 5.2 节的对账表为准。

第三条，它可实现且不依赖训练。整套做法只需要多次采样与一个判分依据，不需要先训练一个过程判分模型。若后续具备训练条件，可以把采样得到的步骤分作为监督信号，蒸馏成一个轻量的过程判分模型，把采样开销进一步降下来；但这是可选的后续优化，不是本期的前提。

**本层的三处实现口径如下。** 一是步骤切分：按换行、序号标记与显式步骤词三重规则切分，三重都切不开的链标记为不可步骤化，退回路径级判据处置——不假装所有链都结构整齐。二是续写采样数：首期取每个探测点四到八次，二分定位的总开销约为链长的对数倍乘以每次采样数，这个口径写入成本统计，与本章 2.3.2 的调度与成本登记共用一套计量。三是事实匹配度的判定：步骤中引用的工艺参数、标准条款与设备档案，经知识库检索核对；检索不到对应证据的步骤判为**不可验证**，而不是判为**错误**——两者处置不同，不可验证转人工确认，错误直接淘汰。把这两种情形混为一谈，会把知识库覆盖不全的责任记到样本质量上。

**第三项配套做法是采样预算按难度自适应。** 候选条数不固定在一个值上：先采四条，若答案已高度一致即停止，不一致则逐步加采至上限。这样同一算力下能覆盖更多问题，预算也自动流向难题。每条样本登记本次实际用掉的采样预算，用于成本统计。

与此配套的还有一条必须讲明的限制：**步骤级判分不对全部样本开启。** 若全量开启，单条样本的生成开销成倍上升，而多数样本并不需要——答案高度一致、事实匹配命中率高的链，按表 2-8 的口径直接采纳即可。触发范围因此按表 2-8 的既有判据划定：答案一致性落在人工复核带内（多数簇占比 0.4 至 0.6）、或事实匹配度处于中档（命中率 0.8 至 0.9）、或任务难度为三级及以上的样本进入步骤级判分；其余样本不判分，其定位状态记为「未判分」并按答案级口径采纳。

这条规则把增量算力投在最可能出问题的样本上，并使步骤级判分的开销可按批次预先估算、事后核对——每条样本登记本次实际消耗的续写条数，批次报告按任务类型汇总，与 2.3.2 的成本统计合并出账。不加触发条件的全量判分在产能上不可行，触发范围因此按上述三项条件划定并随批次实测复核。

表 2-11　步骤级判据的三项首期基线、度量方式与回退

| 判据 | 首期基线 | 度量方式 | 未达基线时的回退 |
|---|---|---|---|
| 步骤级判分与专家判断的一致率 | 首期按不低于 75% 设定，随标定集扩充趋向改善 | 抽取一批链由专家逐步骤判定，与工具的步骤分比对，按步骤计一致率 | 低于门限则步骤分仅作提示不作筛选依据，筛选退回答案级自一致性口径 |
| 首错步骤定位的命中率 | 首期按不低于 70% 设定 | 专家确认的首错位置与工具指出位置相同的比例；相邻一步计为部分命中并单列 | 低于门限则界面只高亮低分步骤集合、不声称首错位置，避免误导复核 |
| 启用步骤级筛选后偏好对的人工采纳率 | 不低于路径级配对的采纳率水平 | 两种来源的偏好对各抽一批送专家判定，比较采纳率 | 不改善则偏好对仍按路径级配对生成，步骤级配对转为备选来源 |

表 2-11　数据来源：判据定义依招标文件 3.2.3.2.1 节第（4）条对多路采样与自一致性筛选的要求（`b0930`、`b0931`）；三项基线为本方案设定的首期目标，属待验证目标，随首批实测结果调整后报招标方确认。三项中任一未达门限，按表中回退执行，均退回本章 2.3.5 的路径级口径，不影响本工具的交付完整性。

##### 图 2-4　步骤级可信度、首错定位与三条分流

<svg viewBox="0 0 820 404" xmlns="http://www.w3.org/2000/svg"
     font-family="Noto Sans CJK SC, PingFang SC, SimHei, sans-serif" font-size="12.5">
  <defs>
    <marker id="t2a3a" markerWidth="9" markerHeight="9" refX="8" refY="4.5" orient="auto">
      <path d="M0 0 L9 4.5 L0 9 z" fill="#334155"/></marker>
  </defs>

  <rect x="20" y="24" width="180" height="50" rx="5" fill="#f1f5f9" stroke="#334155"/>
  <text x="110" y="44" text-anchor="middle">同一问题多路采样</text>
  <text x="110" y="62" text-anchor="middle" font-size="11.5">先采 4 条，不一致则加采</text>

  <rect x="232" y="24" width="180" height="50" rx="5" fill="#f1f5f9" stroke="#334155"/>
  <text x="322" y="44" text-anchor="middle">按步骤切开</text>
  <text x="322" y="62" text-anchor="middle" font-size="11.5">切不开的退回路径级判据</text>

  <rect x="444" y="24" width="190" height="50" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="539" y="44" text-anchor="middle">逐步骤算后续成功率</text>
  <text x="539" y="62" text-anchor="middle" font-size="11.5">从该步续写，看能否达正解</text>

  <rect x="666" y="24" width="134" height="50" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="733" y="44" text-anchor="middle">二分定位首错</text>
  <text x="733" y="62" text-anchor="middle" font-size="11.5">轮次随链长对数增长</text>

  <path d="M200 49 H228" stroke="#334155" stroke-width="1.3" marker-end="url(#t2a3a)" fill="none"/>
  <path d="M412 49 H440" stroke="#334155" stroke-width="1.3" marker-end="url(#t2a3a)" fill="none"/>
  <path d="M634 49 H662" stroke="#334155" stroke-width="1.3" marker-end="url(#t2a3a)" fill="none"/>

  <rect x="150" y="104" width="520" height="46" rx="5" fill="#e2e8f0" stroke="#334155"/>
  <text x="410" y="124" text-anchor="middle" font-size="13">判据：答案在多路间一致　且　链上无低分步骤</text>
  <text x="410" y="142" text-anchor="middle" font-size="11.5">只满足前一项的链不再直接入库</text>

  <path d="M733 74 V104 H670" stroke="#334155" stroke-width="1.3" marker-end="url(#t2a3a)" fill="none"/>

  <path d="M250 150 V196" stroke="#334155" stroke-width="1.3" marker-end="url(#t2a3a)" fill="none"/>
  <path d="M410 150 V196" stroke="#334155" stroke-width="1.3" marker-end="url(#t2a3a)" fill="none"/>
  <path d="M570 150 V196" stroke="#334155" stroke-width="1.3" marker-end="url(#t2a3a)" fill="none"/>

  <rect x="20" y="198" width="226" height="64" rx="5" fill="#f1f5f9" stroke="#334155"/>
  <text x="133" y="218" text-anchor="middle">两项均成立</text>
  <text x="133" y="236" text-anchor="middle" font-size="11.5">入候选集，按比例抽检</text>
  <text x="133" y="253" text-anchor="middle" font-size="11.5">记采样预算与步骤分分布</text>

  <rect x="286" y="198" width="248" height="64" rx="5" fill="#f1f5f9" stroke="#334155"/>
  <text x="410" y="218" text-anchor="middle">有低分步骤或不可验证</text>
  <text x="410" y="236" text-anchor="middle" font-size="11.5">转人工：界面定位到首错步骤</text>
  <text x="410" y="253" text-anchor="middle" font-size="11.5">并高亮其依赖的背景材料片段</text>

  <rect x="574" y="198" width="226" height="64" rx="5" fill="#f1f5f9" stroke="#334155"/>
  <text x="687" y="218" text-anchor="middle">判定为错误的步骤</text>
  <text x="687" y="236" text-anchor="middle" font-size="11.5">与同前缀的好步骤配对</text>
  <text x="687" y="253" text-anchor="middle" font-size="11.5">成步骤级偏好对</text>

  <path d="M410 262 V292" stroke="#334155" stroke-width="1.3" marker-end="url(#t2a3a)" fill="none"/>
  <text x="418" y="281" font-size="11.5">首错步骤字段随样本传递</text>
  <path d="M687 262 V292 H540" stroke="#334155" stroke-width="1.3" stroke-dasharray="5 3"
        marker-end="url(#t2a3a)" fill="none"/>

  <rect x="150" y="294" width="390" height="44" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="345" y="314" text-anchor="middle">人机协同思维链标注（2.4 节）</text>
  <text x="345" y="331" text-anchor="middle" font-size="11.5">工位按首错步骤排队，不按样本排队</text>

  <rect x="20" y="352" width="780" height="40" rx="5" fill="#ffffff" stroke="#64748b" stroke-dasharray="4 3"/>
  <text x="410" y="368" text-anchor="middle" font-size="11.5">检索不到证据的步骤判为「不可验证」转人工，不判为「错误」直接淘汰——两者处置不同</text>
  <text x="410" y="385" text-anchor="middle" font-size="11.5">三项基线任一未达门限，按表 2-11 退回 2.3.4 的路径级口径</text>
</svg>

图 2-4　步骤级可信度、首错定位与三条分流。数据来源：筛选判据依招标文件 3.2.3.2.1 节第（4）条（`b0930`、`b0931`）；步骤级判据的基线与回退见表 2-11；偏好对的用途与规模口径见数据集建设分节强化学习偏好数据集一节。

##### 2.3.7 处理流程

工具 1 的一次完整作业按七步推进，各步的输入、动作、产出与质检点如表 2-12。表中"异常处置"一列给出每一步失败时的去向，保证作业不会在中途静默停下。

表 2-12　大模型自生成思维链工具链的处理流程

| 步 | 输入 | 动作 | 产出 | 质检点 | 异常处置 |
|---|---|---|---|---|---|
| 1 | 场景编码、任务类型、问题来源 | 组装输入清单：从专家题库取题，或由业务记录反向构造问题 | 待生成问题清单 | 问题表述完整性、是否与评测集重复 | 与评测集重复的问题剔除并记录；表述不完整的退回题目修订 |
| 2 | 问题清单、模板版本 | 检索背景材料（调用工具 4 检索接口），做长度预算 | 带背景材料的渲染输入 | 必填变量是否齐备、材料长度是否超限 | 必填变量缺失的条目入待料清单，不进生成队列 |
| 3 | 渲染输入、生成参数、模型集合 | 多模型多路采样生成 | 原始生成结果 | Schema 校验、空输出与重复输出检测 | 校验失败按重试策略重试；三次仍失败记入失败清单并统计原因 |
| 4 | 原始生成结果 | 解析为结构化样本，写入表 2-7 各字段与血缘 | 结构化推理样本 | 字段完整性、步骤引用指向是否有效 | 引用指向无效的样本直接判废并计入格式侧失败 |
| 5 | 同一采样组的多条样本 | 按表 2-8 四项判据筛选 | 通过／淘汰／待复核三类 | 四项判据实测值与基线对照 | 判据实测值偏离基线超限时暂停该批放量，先回查模板与模型版本 |
| 6 | 通过与待复核样本 | 分流：通过样本入采纳池，待复核样本派发至工具 2 | 分流结果 | 分流比例是否异常 | 待复核比例超过设定上限时降低生成温度或提高材料检索覆盖后重跑 |
| 7 | 批次全部结果 | 生成批次质量报告，更新数据卡 | 质量报告、淘汰原因分布 | 报告字段完整性 | 报告缺项不得关闭批次 |

第 2 步约定：背景材料由检索链路提供并带出处，不由生成模型自行回忆；材料已知，方可做事实匹配校验。

##### 2.3.8 接口与验收口径

工具 1 对外提供的接口如表 2-13。接口风格、鉴权、异常重试与状态回调遵循通用接口、追溯与验收要求一节的统一规范。

表 2-13　大模型自生成思维链工具链的接口

| 接口 | 方法 | 入参要点 | 出参要点 |
|---|---|---|---|
| 模板注册与版本发布 | POST | 模板本体、五个维度取值、变量清单、目标发布态 | 模板标识、版本号、校验结果 |
| 模板批量渲染预览 | POST | 模板标识与版本、变量样本集、渲染条数 | 渲染结果样例、长度预算、缺失变量清单 |
| 生成批次创建 | POST | 输入清单、模板版本、生成参数（表 2-4）、模型标识集合 | 批次标识、预估 Token 消耗、排队位置 |
| 批次状态查询 | GET | 批次标识 | 进度、成功／失败数、失败原因分布 |
| 样本结果获取 | GET | 批次标识、质量状态过滤、分页或流式 | 符合表 2-7 的样本集，支持 JSON／JSONL／Parquet |
| 自一致性筛选触发 | POST | 采样组范围、判据阈值覆盖项 | 筛选结果统计、各判据淘汰数 |
| 批次重试 | POST | 批次标识、仅重试失败分片标志 | 新分片状态 |
| 质量报告导出 | GET | 批次／来源／任务类型／数据集版本维度 | 质量指标与问题样本清单 |

验收口径：我方提供可运行的演示样例一套（含模板、输入清单、生成参数与完整产出样本）、输入输出样例各不少于 20 条、配置说明与接口说明文档、以及在甲方环境中跑通的测试报告。测试报告须给出首批校准后的四项判据实测值、人工全检一致率，以及一次完整的模板灰度与回滚演练记录。
##### 2.3.9 任务创建入参契约、调用样例与异常回退

表 2-14　工具 1 的任务创建入参契约

| 字段 | 类型 | 必填 | 缺省与约束 |
|---|---|---|---|
| `selector.input_list` | 引用或列表 | 是 | 业务问题清单引用，或问题标识集合 |
| `params.template_version` | 引用 | 是 | 思维链提示词模板版本；模板内容本身不经接口传递 |
| `params.generation` | 结构 | 是 | 生成参数，取值项见本章表 2-4 |
| `params.model_refs` | 列表 | 否 | 统一网关登记的模型标识与版本集合；缺省取该任务类型的当前择优选用项 |
| `params.sampling_group_size` | 整数 | 否 | 多路采样的每组条数，缺省按任务类型预置；大于 1 时自一致性筛选自动启用 |
| `params.consistency_criteria` | 结构 | 否 | 四项判据的阈值覆盖项（判据见本章表 2-8），缺省取当前标定值 |
| `params.context_source` | 引用 | 是 | 背景材料来源：由工具 4 提供的三元组集合或检索服务引用 |
| `output.dataset_ref` | 引用 | 是 | 结果落点 |

调用样例与受理返回：

```json
{
  "client_request_id": "REQ-2027Q1-COT-0033",
  "selector": {"input_list": "QSET-PROCESS-2027Q1@v2"},
  "params": {
    "template_version": "COT-GYPD-v2.3",
    "generation": {"task_type": "工艺判断", "difficulty": "三级", "max_steps": 8, "require_refs": true},
    "model_refs": ["gw-model-a@2027.01", "gw-model-b@2026.12"],
    "sampling_group_size": 5,
    "consistency_criteria": {"answer_agreement_min": 0.6, "ref_hit_required": true},
    "context_source": "DS-RAG-2027Q1/process@v3"
  },
  "output": {"dataset_ref": "DS-SFT-2027Q1/cot", "formats": ["jsonl"]}
}
```

```json
{
  "task_id": "T-COT-002188",
  "accepted_at": "2027-02-20T01:40:12+08:00",
  "param_check": "passed",
  "batch_count": 24,
  "estimated_tokens": 41800000,
  "resolved_template_version": "COT-GYPD-v2.3",
  "idempotent_hit": false
}
```

表 2-15　工具 1 的异常与回退

| 异常码 | 异常情形 | 错误类 | 返回要点 | 回退动作 |
|---|---|---|---|---|
| `TC01-101` | 模板版本已回滚或处于草稿态 | 参数类 | 所传版本、当前生效版本 | 不受理；使用已回滚版本的作业不予创建（口径见本章表 2-55 第 1 步同理） |
| `TC01-201` | 背景材料来源不可读或版本不存在 | 输入类 | 来源引用、失败原因 | 任务不启动；不以无背景材料的方式生成推理过程 |
| `TC01-301` | 模型网关限流或暂时不可用 | 执行类（批次级） | 失败批次、网关状态 | 按退避策略自动重试三次；仍失败的批次挂起，已完成批次结果照常可取 |
| `TC01-401` | 同一采样组内答案分歧超限 | 策略类 | 分歧分布、判据阈值 | 该组按表 2-8 判据处置，不取多数答案强行定稿 |
| `TC01-402` | 推理步骤引用不到依据 | 策略类 | 样本标识、缺失的引用项 | 该条不进入优选路径；是否保留为负样本按筛选判据决定 |
| `TC01-403` | 整批自一致性通过率骤降 | 策略类 | 通过率、与近期批次比对 | 批次挂起，检查模板版本与背景材料来源是否变化，不自动放行 |

接口层面可当场核对的点有两条：`model_refs` 回传的是网关登记标识与版本而不是品牌型号；构造一个模板版本为草稿态的请求，接口须在受理前返回参数类错误。质量口径仍按本章 2.3.8 节的验收口径执行。

#### 2.4 人机协同思维链标注工具链（3.2.3.2.2）

模型自生成的推理路径即使通过了自一致性筛选，也只能说"几条路径互相不矛盾且没有明显编造"，不能说"这就是本企业资深工程师的判断方式"。把前者变成后者，靠的是领域专家在步骤层面上动手改。本工具链提供的是改的工位、改的留痕与改完之后的去向，不是把专家的工作替掉。

##### 2.4.1 步骤级编辑与差异留痕

招标文件要求支持人机协同标注流程，标注人员与领域专家可对模型生成的推理步骤进行新增、删除、合并、拆分、重排和重写，并保留修改前后差异（b0933）（b0934）。

推理步骤在工具内部按有序步骤树组织：每一步是一个节点，节点上挂步骤文本、引用的背景材料项与本步结论；合并与拆分会改变节点数，重排会改变节点序。六类编辑操作的语义与差异记录内容如表 2-16。操作类型按六类分别记录，不合并为一条"修改前后文本差异"，原因是这些操作的分布本身是信号：如果某个场景的样本里"新增步骤"占压倒多数，说明提示词设定的推理深度偏浅；如果"重写"集中在某一类步骤上，说明模板里对该类判断的约束写得不够。这份分布会定期回流到模板优化。

表 2-16　六类编辑操作的语义与差异记录

| 操作 | 语义 | 典型使用情形 | 差异记录内容 |
|---|---|---|---|
| 新增 | 在指定位置插入新步骤 | 模型跳过了一个必要的校核环节，如漏掉弯曲影响区判断 | 插入位置、新步骤全文、引用项、操作人角色、时间戳 |
| 删除 | 移除冗余或错误步骤 | 模型重复论述同一判断，或引入与本题无关的推导 | 被删步骤全文、删除原因枚举（冗余／错误／无关／违规） |
| 合并 | 将相邻多步合为一步 | 模型把一次查表动作拆成三步，颗粒度过细 | 被合并步骤序号集合、合并后全文 |
| 拆分 | 将一步拆为多步 | 一步里同时完成了查表与换算两个判断，无法单独核对 | 原步骤全文、拆分后各步全文与边界位置 |
| 重排 | 调整步骤顺序 | 推理顺序与工艺实际顺序不符 | 调整前后序号映射表 |
| 重写 | 保留步序，改写内容 | 判断方向对但依据引错、数值引错或表述不规范 | 修改前后全文、字符级差异、引用项变更 |

专家工位的派活方式在此要定一条规矩：**按首错步骤排队，不按样本排队。** 工具 1 的步骤级判据已经指出了每条可疑链的首错位置（见 2.3.6），这个字段随样本传到本工具，专家界面打开即定位到该步骤，并同时高亮该步骤所依赖的背景材料片段。差别在于专家要做的事：按样本排队时，专家要从第一步读到最后一步、自己找出问题在哪，一条二十步的工艺推理链通读一遍就要几分钟；按首错步骤排队时，专家确认或改写被指出的那一步即可，其后的步骤若因这一步修正而连带失效，由工具重新续写候选再交专家确认。

这件事的成效用一个数衡量：**单条样本的专家处理时长。** 首期以按样本排队的实测时长为基线，启用按首错步骤排队后逐月比对。时长取自工位系统的操作日志，可直接统计，不需估算；该数若无改善，说明首错定位的命中率不足（见表 2-11 第二项），处置是回查定位环节而非继续推广。首错定位命中率低于门限时，界面退回「只高亮低分步骤集合、不声称首错位置」的处置，避免把专家的注意力引到错的地方——这比不指出位置更坏。

还要补一句关于专家否定的处置：定位结果是建议而非结论，专家可在工位上否定该定位并标注真实的首错位置，这条标注回流用于校准表 2-9 的分档门限，并计入表 2-11 第二项的命中率度量——**否定本身即为标定样本，不是废弃动作。**

每一次编辑都生成一条修订记录，记录链按时间顺序挂在样本的 audit_trail 字段上。样本始终保留原始生成版本，修订版本以增量方式叠加，任何时点都可以回看"模型原来怎么说、人改成了什么、谁改的、为什么改"。这一点对本项目有直接价值：甲方的工艺知识长期存在于人的经验中，修订记录是第一次把"专家不同意模型哪里"这件事结构化记录下来，其本身就是企业规则沉淀的素材。

这份素材要用起来，而不是只存着。本项目把修订动作按类型归档，按月统计分布，并把统计结果作为两件事的输入。

归档的类型有五类：事实错误（引用的参数、标准条款或设备档案与实际不符）、步骤缺失（漏掉了必要的校核或换算环节）、顺序颠倒（推理顺序与工艺实际顺序不符）、越权结论（给出了超出所给材料能支撑的判断）、依据缺失（结论对但说不出依据）。这五类不是凭空分的，它们对应着模型在工艺推理上五种不同的系统性毛病，处置办法也不同——事实错误要补知识库与收紧检索校核，步骤缺失要改模板里的推理深度设定，顺序颠倒要在模板中显式给出工序约束，越权结论要加材料边界提示，依据缺失要加引证要求。

统计结果的第一个去向是模板优化，即本节 2.4.2 的第一条回流路径：某一类修订动作在某个场景上集中出现，就改该场景的模板，改完后看下一月的分布有没有下来。第二个去向是**错误模式清单**：把五类动作在各业务域、各任务类型上的分布整理成一份清单，这份清单一方面进质量治理报告，另一方面是基准测试集题型设计的输入——模型在哪一类上错得多，基准集就该在哪一类上多出题。这样一来，人机协同就不只是一道工序，而是一条有输出的闭环：专家的修订动作既改好了这一条样本，也改进了下一批样本的生成方式与下一轮评测的出题方式。

##### 图 2-5　步骤树编辑与差异留痕

<svg viewBox="0 0 820 320" xmlns="http://www.w3.org/2000/svg"
     font-family="Noto Sans CJK SC, PingFang SC, SimHei, sans-serif" font-size="13">
  <defs>
    <marker id="ar4" markerWidth="9" markerHeight="9" refX="8" refY="4.5" orient="auto">
      <path d="M0 0 L9 4.5 L0 9 z" fill="#334155"/>
    </marker>
  </defs>
  <text x="110" y="24" text-anchor="middle" font-size="12">模型原始版本 v1</text>
  <rect x="30" y="36" width="160" height="34" rx="4" fill="#f1f5f9" stroke="#334155"/>
  <text x="110" y="58" text-anchor="middle" font-size="12">① 识别加工要求</text>
  <rect x="30" y="80" width="160" height="34" rx="4" fill="#f1f5f9" stroke="#334155"/>
  <text x="110" y="102" text-anchor="middle" font-size="12">② 选下料方法</text>
  <rect x="30" y="124" width="160" height="34" rx="4" fill="#f1f5f9" stroke="#334155"/>
  <text x="110" y="146" text-anchor="middle" font-size="12">③ 排坡口与压弯</text>
  <rect x="30" y="168" width="160" height="34" rx="4" fill="#f1f5f9" stroke="#334155"/>
  <text x="110" y="190" text-anchor="middle" font-size="12">④ 给出工序顺序</text>

  <text x="410" y="24" text-anchor="middle" font-size="12">专家修订版本 v2</text>
  <rect x="330" y="36" width="160" height="34" rx="4" fill="#eef2f7" stroke="#334155"/>
  <text x="410" y="58" text-anchor="middle" font-size="12">① 识别加工要求</text>
  <rect x="330" y="80" width="160" height="34" rx="4" fill="#eef2f7" stroke="#334155"/>
  <text x="410" y="102" text-anchor="middle" font-size="12">② 选下料方法（重写）</text>
  <rect x="330" y="124" width="160" height="34" rx="4" fill="#fefce8" stroke="#334155"/>
  <text x="410" y="146" text-anchor="middle" font-size="12">③ 判断弯曲影响区（新增）</text>
  <rect x="330" y="168" width="160" height="34" rx="4" fill="#eef2f7" stroke="#334155"/>
  <text x="410" y="190" text-anchor="middle" font-size="12">④ 坡口（拆分）</text>
  <rect x="330" y="212" width="160" height="34" rx="4" fill="#eef2f7" stroke="#334155"/>
  <text x="410" y="234" text-anchor="middle" font-size="12">⑤ 压弯并回写展开长</text>

  <path d="M190 53 H326" stroke="#64748b" stroke-width="1" stroke-dasharray="3 3" fill="none"/>
  <path d="M190 97 H326" stroke="#64748b" stroke-width="1" stroke-dasharray="3 3" fill="none"/>
  <path d="M190 141 C 250 141, 260 185, 326 185" stroke="#64748b" stroke-width="1" fill="none" stroke-dasharray="3 3"/>
  <path d="M190 185 C 250 185, 260 229, 326 229" stroke="#64748b" stroke-width="1" fill="none" stroke-dasharray="3 3"/>
  <text x="258" y="120" font-size="12">步序映射</text>

  <rect x="560" y="36" width="248" height="210" rx="5" fill="#f8fafc" stroke="#334155"/>
  <text x="684" y="60" text-anchor="middle" font-size="12">修订记录（挂于 audit_trail）</text>
  <text x="576" y="84" font-size="12">· 操作类型：重写／新增／拆分</text>
  <text x="576" y="106" font-size="12">· 修改前后全文与字符级差异</text>
  <text x="576" y="128" font-size="12">· 引用背景材料项的变更</text>
  <text x="576" y="150" font-size="12">· 操作人角色（标注员／领域专家）</text>
  <text x="576" y="172" font-size="12">· 时间戳与版本号</text>
  <text x="576" y="194" font-size="12">· 修改原因枚举与自由说明</text>
  <text x="576" y="222" font-size="12">原始版本不覆盖，增量叠加可逐版回看</text>
  <path d="M490 141 H556" stroke="#334155" stroke-width="1.3" marker-end="url(#ar4)" fill="none"/>
  <text x="498" y="132" font-size="12">逐次写入</text>

  <rect x="30" y="268" width="778" height="40" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="419" y="293" text-anchor="middle" font-size="12">操作类型分布按场景统计，回流至提示词模板优化：新增占比高→推理深度偏浅；重写集中→模板约束不足</text>
</svg>

图 2-5　步骤树编辑与差异留痕。数据来源：招标文件 3.2.3.2.2 节第（1）条（b0933）（b0934）；示例步骤取自本章 2.3.4 节板材备料工艺判断样例。

##### 2.4.2 优质样本的三条回流路径

招标文件要求支持将修订后的优质样本回流至提示词模板优化、模型评测和后续 SFT 数据生产环节（b0935）（b0936）。

三条回流路径的触发条件、回流内容与承接方不同，工具链分别实现，不混为一谈。

第一条回流到提示词模板优化。回流内容不是样本本身，是修订记录的统计量：按场景与任务类型汇总六类操作的占比、被删步骤的原因分布、被新增步骤的内容聚类。模板维护人据此改模板，改完走表 2-3 的灰度流程。触发节奏为每积累 500 条修订样本或每两周触发一次，取先到者。

第二条回流到模型评测。修订后经专家确认的样本中，按来源与时间双重切分划出一部分，锁定为评测用金标准，自划出之日起不再进入任何训练集。这件事必须在样本生产期就做，不能等到评测前再划。若同一批标注样本既用于训练又用于评测，评测结果会系统性偏高，验收看到的指标反映不了上线表现。划出比例按基准测试集 0.95 万条的规模需求反推，划出的样本在血缘上打不可逆的隔离标记，取用接口对训练类调用方直接不可见。

第三条回流到后续指令微调数据生产。确认采纳的样本按数据域归集，经格式转换后入指令微调集。转换规则是：问题与背景材料合成指令输入，推理步骤与最终答案合成期望输出；同一问题的优选路径与被淘汰路径配对，入偏好数据集。这里的"配对"有一个前提条件：被淘汰路径必须是因一致性或完整性不足被淘汰，而非因事实不符或规则冲突被淘汰；后者作为负样本会把错误事实带进训练，应进问题样本库而不是偏好集。

##### 图 2-6　修订后样本的三条回流路径与隔离边界

<svg viewBox="0 0 820 330" xmlns="http://www.w3.org/2000/svg"
     font-family="Noto Sans CJK SC, PingFang SC, SimHei, sans-serif" font-size="13">
  <defs>
    <marker id="ar5" markerWidth="9" markerHeight="9" refX="8" refY="4.5" orient="auto">
      <path d="M0 0 L9 4.5 L0 9 z" fill="#334155"/>
    </marker>
  </defs>
  <rect x="12" y="120" width="170" height="70" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="97" y="148" text-anchor="middle">专家修订并确认</text>
  <text x="97" y="170" text-anchor="middle" font-size="12">的推理样本</text>

  <rect x="300" y="24" width="210" height="60" rx="5" fill="#f1f5f9" stroke="#334155"/>
  <text x="405" y="48" text-anchor="middle" font-size="12">① 提示词模板优化</text>
  <text x="405" y="68" text-anchor="middle" font-size="12">回流修订操作统计量，非样本</text>

  <rect x="300" y="116" width="210" height="78" rx="5" fill="#f1f5f9" stroke="#334155"/>
  <text x="405" y="140" text-anchor="middle" font-size="12">② 评测用金标准</text>
  <text x="405" y="160" text-anchor="middle" font-size="12">按来源与时间双重切分划出</text>
  <text x="405" y="180" text-anchor="middle" font-size="12">打不可逆隔离标记</text>

  <rect x="300" y="226" width="210" height="78" rx="5" fill="#f1f5f9" stroke="#334155"/>
  <text x="405" y="250" text-anchor="middle" font-size="12">③ 指令微调与偏好数据</text>
  <text x="405" y="270" text-anchor="middle" font-size="12">优选路径入 SFT 集</text>
  <text x="405" y="290" text-anchor="middle" font-size="12">一致性淘汰路径配对入偏好集</text>

  <path d="M182 140 C 240 140, 250 56, 296 54" stroke="#334155" stroke-width="1.3" fill="none" marker-end="url(#ar5)"/>
  <rect x="204.0" y="84.4" width="100.4" height="17.0" fill="#ffffff" stroke="none" data-halo="1"/><text x="206" y="98" font-size="12">每 500 条或每两周</text>
  <path d="M182 155 H296" stroke="#334155" stroke-width="1.3" marker-end="url(#ar5)" fill="none"/>
  <path d="M182 172 C 240 172, 250 262, 296 264" stroke="#334155" stroke-width="1.3" fill="none" marker-end="url(#ar5)"/>

  <rect x="620" y="24" width="188" height="60" rx="5" fill="#f8fafc" stroke="#334155"/>
  <text x="714" y="48" text-anchor="middle" font-size="12">模板新版本进灰度</text>
  <text x="714" y="68" text-anchor="middle" font-size="12">见图 2-2</text>
  <path d="M510 54 H616" stroke="#334155" stroke-width="1.3" marker-end="url(#ar5)" fill="none"/>

  <rect x="620" y="126" width="188" height="60" rx="5" fill="#f8fafc" stroke="#334155"/>
  <text x="714" y="150" text-anchor="middle" font-size="12">基准测试集 0.95 万条</text>
  <text x="714" y="170" text-anchor="middle" font-size="12">训练类调用方不可见</text>
  <path d="M510 155 H616" stroke="#334155" stroke-width="1.3" marker-end="url(#ar5)" fill="none"/>

  <rect x="620" y="236" width="188" height="60" rx="5" fill="#f8fafc" stroke="#334155"/>
  <text x="714" y="260" text-anchor="middle" font-size="12">89 万条 · 6.6 万组</text>
  <text x="714" y="280" text-anchor="middle" font-size="12">按数据域归集入库</text>
  <path d="M510 265 H616" stroke="#334155" stroke-width="1.3" marker-end="url(#ar5)" fill="none"/>

  <line x1="566" y1="100" x2="566" y2="215" stroke="#64748b" stroke-dasharray="5 4"/>
  <text x="566" y="214" text-anchor="middle" font-size="12"> </text>
  <rect x="540.0" y="96.4" width="52.0" height="17.0" fill="#ffffff" stroke="none" data-halo="1"/><text x="566" y="110" text-anchor="middle" font-size="12">隔离边界</text>
</svg>

图 2-6　修订后样本的三条回流路径与隔离边界。数据来源：招标文件 3.2.3.2.2 节第（2）条（b0935）（b0936）；数据集规模口径取自招标文件逐数据集规模表。

##### 2.4.3 多人交叉标注、专家仲裁与低一致性复核

招标文件要求支持多人交叉标注、专家仲裁和低一致性样本复核，并能够记录争议原因、裁决结论、审核状态和全过程审计信息（b0937）（b0938）。

交叉标注按任务难度分档派发：一级与二级难度样本单人标注加抽检，三级与四级难度样本固定双人独立标注，涉及安全合规判断的样本一律双人独立标注。双人独立标注意味着第二位标注人看不到第一位的结果，这一点在工具层面强制，不依赖流程纪律。

两份标注结果的一致性在三个粒度上分别计算，如表 2-17。分粒度计算是必要的：两位专家可能最终答案完全一致，但推理路径差异很大，这种情况下样本可用于训练答案，不宜直接用于训练推理过程，需要仲裁确定采用哪条路径。

一致性的报告口径要再说清一层，因为「一致率」这一个数在步骤级标注上是不够用的。简单一致率把每一次比对当成独立的对或错，它没有扣除「两人碰巧一致」的部分，也处理不了步骤级标注固有的两种情况：一是标注对象是结构化的（步骤序列有增删，两份标注的步骤数可能不同，无法逐位对齐），二是存在缺失（某位标注人对某一步未作判断）。因此本工具的一致性除报一致率外，同时报一个**一致性系数**——采用可处理多名标注者、可处理缺失值、可处理多种数据类型的那一类系数（克里彭多夫系数），它扣除了偶然一致的部分，在步骤数不等与存在缺失的情形下仍可计算。两个数一并报出：一致率直观，系数可比。

在此基础上还做一件事：对标注者建立能力画像。做法是统计每位标注者的历史判定与最终裁决结论之间的偏离度，按偏离度给其判定赋权重，于是聚合真值不再是简单多数，而是**去偏后的加权聚合**。这件事在本项目的规模下有实际意义——六十三万张历史工艺样本的标注产能要靠一支队伍长期维持，队伍里标注者的水平必然有差异，若一律按人数多数决定，一位长期偏离的标注者会持续把结论往一侧拉，而这种影响在逐条抽检里看不出来，只在统计上看得出来。

能力画像的用途是识别需要再培训的标注者，不是用于考核排名。这里有一条处置顺序必须写明：一致性系数低于门限时，**先排查标注规范是否有歧义，再看标注者**。原因很直接——两位尽职的标注者在同一条样本上给出不同判定，最常见的原因是规范对这种情形没写清，而不是其中一位不认真。规范澄清之后重测该批次，若系数回升即为规范问题，若仍不回升再进入标注者维度的分析。把顺序倒过来做，会把规范缺口记在人头上，既不公平也修不好问题。

表 2-17　交叉标注一致性的计算粒度与分流

| 粒度 | 计算方法 | 一致性判定 | 分流处置 |
|---|---|---|---|
| 最终答案 | 按任务类型规范化后比对 | 一致／不一致 | 不一致一律进仲裁 |
| 推理步骤序列 | 步骤对齐后计算编辑距离，归一化为相似度 | 相似度不低于 0.7 视为一致 | 低于 0.7 进仲裁，仲裁只定路径不改答案 |
| 引用依据 | 引用的背景材料项集合求交并比 | 交并比不低于 0.6 视为一致 | 低于 0.6 进复核，核对是否存在引错依据 |

仲裁由领域专家承担，仲裁工位上同时展示两份标注、差异高亮与各自的修改原因，专家可采纳其中一份、合成第三份，或判定问题本身表述有缺陷退回题目修订。仲裁记录的字段包括：争议粒度（答案／路径／依据）、争议原因枚举（规程理解分歧、图纸信息不足、规则版本不一致、术语口径不一致、题目表述歧义、其他）、裁决结论、裁决依据引用、仲裁人角色、裁决时间。争议原因的分布会按月汇总。这份汇总对甲方的价值可能超过样本本身，因为"规程理解分歧"集中出现在哪些条款上，直接指出了哪些工艺规程需要澄清或补充。

审核状态按"待标注—标注中—待仲裁—已仲裁—待终审—已采纳／已退回"推进，状态迁移与操作人角色绑定，标注人不能自审，仲裁人不能仲裁自己参与标注的样本。全过程审计信息包括每一次状态迁移的操作人角色、时间、入参与出参摘要，审计日志只追加不修改，保留期按甲方数据安全管理要求执行。

低一致性样本的复核不止于逐条处置。工具链按场景、任务类型、标注人角色、规则版本四个维度统计一致率，当某一维度的一致率连续两周低于设定基线时触发专项复核：先查是不是标注规范对该类情形没有写明，再查是不是题目来源有系统性问题，最后才考虑标注人培训。这一排查顺序是故意这样定的。一致率低通常是规范问题而不是人的问题，先改规范比先培训人有效。

##### 2.4.4 处理流程与样例

工具 2 的作业流程按六步推进，如表 2-18。

表 2-18　人机协同思维链标注工具链的处理流程

| 步 | 输入 | 动作 | 产出 | 质检点 | 异常处置 |
|---|---|---|---|---|---|
| 1 | 待复核样本、难度分档规则 | 派发任务：三级及以上难度与安全合规类双盲派发 | 标注任务批次 | 双盲设置是否生效、派发量是否超岗位承载 | 双盲设置失效时任务不予创建 |
| 2 | 标注任务 | 标注人执行六类编辑操作，逐次记录差异 | 修订版本与修订记录 | 每次操作是否带修改原因 | 无修改原因的操作不予提交 |
| 3 | 同一样本的多份标注 | 按表 2-17 三粒度计算一致性 | 一致性结果、待仲裁清单 | 三粒度阈值是否按当前版本 | 阈值版本不一致时重算 |
| 4 | 待仲裁样本 | 专家仲裁，记录争议原因与裁决依据 | 仲裁记录、最终版本 | 仲裁人是否参与过该样本标注 | 存在利益冲突时改派其他仲裁人 |
| 5 | 已仲裁样本 | 终审确认，写入审核状态 | 已采纳或已退回 | 终审人角色权限 | 退回样本注明退回原因与可否重做 |
| 6 | 已采纳样本 | 按三条路径回流（见 2.4.2 节） | 模板优化统计量、金标准、训练集 | 隔离标记是否写入成功 | 隔离标记写入失败则本次回流回滚 |

一条修订记录的样例（对应图 2-5 中的"新增"操作）：

```json
{
  "record_id": "REV-000812-003",
  "sample_id": "GYSJ-CL-2027Q1-000812",
  "from_version": "v2",
  "to_version": "v3",
  "operation": "新增",
  "position": {"after_step": 2},
  "new_step": {"step": 3, "text": "工艺规程规定压弯之后不得安排影响弯曲区域尺寸精度的孔加工，需先判断四个 φ22 通孔是否落在弯曲影响区。按图纸孔位标注，四孔距压弯线均在 60mm 以上，超出板厚 3 倍的影响区范围。", "refs": ["GYGC-BL-07#p14"], "conclusion": "孔加工可安排在压弯之前。"},
  "reason_code": "漏校核环节",
  "reason_note": "原路径直接给出工序顺序，未校核孔位与弯曲影响区的关系；该校核是本厂规程的硬性要求。",
  "operator_role": "领域专家",
  "timestamp": "2027-02-14T09:37:00+08:00",
  "char_diff_summary": {"inserted": 112, "deleted": 0, "modified": 0}
}
```

这条记录的 reason_code 为"漏校核环节"，是六类编辑操作统计中最值得关注的一类——它直接指出提示词模板对该任务类型的推理深度要求偏浅。按 2.4.2 节第一条回流路径，这类原因码的累计占比超过阈值即触发模板修订。

##### 2.4.5 接口与验收口径

表 2-19　人机协同思维链标注工具链的接口

| 接口 | 方法 | 入参要点 | 出参要点 |
|---|---|---|---|
| 标注任务派发 | POST | 样本范围、难度分档规则、标注人角色与人数、是否双盲 | 任务批次标识、派发明细 |
| 步骤编辑提交 | POST | 样本标识、操作序列（六类操作）、修改原因、引用项变更 | 新版本号、差异摘要、校验结果 |
| 样本版本与差异查询 | GET | 样本标识、版本区间 | 各版本全文、字符级差异、操作人角色与时间 |
| 一致性计算 | POST | 标注批次标识、三个粒度的阈值覆盖项 | 三粒度一致性结果、待仲裁清单 |
| 仲裁提交 | POST | 样本标识、争议粒度、原因枚举、裁决结论与依据 | 仲裁记录标识、后续状态 |
| 回流触发 | POST | 回流路径（模板优化／金标准／训练集）、样本范围 | 回流批次标识、隔离标记写入结果 |
| 审计日志导出 | GET | 时间区间、样本范围、操作人角色 | 只追加日志的导出文件 |
| 一致率统计 | GET | 场景／任务类型／标注人角色／规则版本维度 | 一致率时序与低于基线的维度清单 |

验收口径：我方提供标注工位的演示样例（含双盲派发、六类编辑操作、仲裁与回流全流程录屏或分步截图）、输入输出样例、配置说明与接口说明、测试报告。测试报告须给出首批样本的三粒度一致率实测值、仲裁率、争议原因分布，以及一次由低一致率触发的专项复核记录。本工具链不设"一致率达到某一固定数值"的绝对承诺，设的是基线加改进口径：首批测得的一致率作为基线写入报告，此后按月统计，趋向于逐步提高；连续两个统计周期低于基线时按上述排查顺序处置并记录结论。
##### 2.4.6 任务创建入参契约、调用样例与异常回退

表 2-20　工具 2 的任务创建入参契约

| 字段 | 类型 | 必填 | 缺省与约束 |
|---|---|---|---|
| `selector.sample_scope` | 结构 | 是 | 待标注样本范围，可按批次、质量状态或难度分档筛选 |
| `params.difficulty_rule_version` | 引用 | 是 | 难度分档规则版本，决定派发给哪一类标注角色 |
| `params.annotator_roles` | 结构 | 是 | 标注人角色与人数（记角色不记姓名） |
| `params.double_blind` | 布尔 | 否 | 是否双盲派发，缺省按任务类型预置 |
| `params.consistency_thresholds` | 结构 | 否 | 三个粒度的一致性阈值覆盖项（粒度见本章表 2-17） |
| `params.arbitration_rule_version` | 引用 | 是 | 仲裁规则版本 |

```json
{
  "client_request_id": "REQ-2027Q1-COTA-0017",
  "selector": {"sample_scope": {"batch_id": "B-2027Q1-CL-0042", "quality_status": "自一致性通过", "difficulty": ["三级", "四级"]}},
  "params": {
    "difficulty_rule_version": "DIFF-v1.1",
    "annotator_roles": {"标注人员": 4, "领域专家": 2},
    "double_blind": true,
    "consistency_thresholds": {"step_level": 0.75, "conclusion_level": 0.90, "ref_level": 0.85},
    "arbitration_rule_version": "ARB-COT-v1.0"
  },
  "output": {"dataset_ref": "DS-SFT-2027Q1/cot-reviewed", "formats": ["jsonl"]}
}
```

表 2-21　工具 2 的异常与回退

| 异常码 | 异常情形 | 错误类 | 返回要点 | 回退动作 |
|---|---|---|---|---|
| `TC02-101` | 双盲派发所需人数不足 | 参数类 | 所需人数、可用人数 | 不受理；不降为单人标注后仍按双盲口径计一致性 |
| `TC02-201` | 样本未通过上游自一致性筛选 | 输入类 | 样本标识、上游状态 | 不派发；修订未经筛选的样本会把人力投在待淘汰内容上 |
| `TC02-102` | 编辑操作不在六类之内 | 参数类 | 所提交的操作类型 | 拒绝该次提交；六类操作的语义见本章表 2-16 |
| `TC02-401` | 一致率低于基线 | 策略类 | 三粒度实测值、基线 | 按本章 2.4.5 节的排查顺序处置并记录结论，不调整统计口径达标 |
| `TC02-402` | 仲裁规则无对应条款 | 策略类 | 争议粒度、规则覆盖范围 | 转专家裁决，结论与理由进规则补充队列 |
| `TC02-403` | 上游模板或规程改版 | 策略类 | 受影响的样本范围 | 按本章表 2-23 的分档处置，不整批回溯重写 |

接口层面可当场核对的点：差异查询能按版本区间取出字符级差异与操作人角色，且日志为只追加形态——取一条已修订样本，核对其各版本可逐一还原。质量口径按本章 2.4.5 节执行。

#### 2.5 本类工具链的推理质量评估与样本版本追溯

前三个环节分别由 2.3.2、2.4.1 与 2.3.4 三节交代，此处补齐评估与追溯。

##### 2.5.1 推理质量评估的四类口径

自一致性筛选判断的是"这条路径能不能留"，推理质量评估回答的是另一个问题："这一批样本整体处在什么水平，比上一批好还是差。"两者的判据有重叠但用途不同：前者是逐条的闸门，后者是批次级的度量，是质量报告与验收的依据。四类评估口径如表 2-22。

表 2-22　推理质量评估的四类口径

| 口径 | 评估对象 | 计算方式 | 用途 |
|---|---|---|---|
| 步骤有效率 | 单条样本 | 有明确结论且被后续步骤或最终答案引用的步骤数，占总步骤数的比例 | 识别"凑步数"的样本；批次均值低说明推理深度配置与任务难度不匹配 |
| 依据覆盖率 | 单条样本 | 推理步骤中引用了背景材料的步骤数占应引用步骤数的比例；应引用步骤由任务类型决定 | 识别无依据推理；工艺判断与安全合规判断类要求高于知识推理类 |
| 专家修订率 | 批次 | 经人机协同环节产生实质修订（新增、删除、重写三类操作）的样本占送审样本的比例，按操作类型分列 | 衡量模型生成质量的趋势；修订率随模板迭代趋向下降 |
| 难度分布符合度 | 批次 | 实际难度分布与目标难度分布的偏差 | 防止批次整体偏易；偏差超限的批次补生成高难度样本 |

四类口径在质量报告中按批次、来源、任务类型与数据集版本四个维度呈现，格式与通用质量报告规范一致。四项的首批实测值作为基线写入报告，后续按批次对照。本工具链不对这四项承诺固定数值。它们受任务难度与文档质量影响，不同数据域的合理区间不同；承诺的是基线公开、逐批对照、低于基线时给出原因分析与处置记录。

有一项评估需要单独说明：推理过程的正确性无法单凭自动化手段完全判定。工具链能自动判出"引用了不存在的数值""违反了成文规则""步骤间逻辑断裂"，判不出"依据都对但判断方向错了"。后者只能由领域专家判断，因此专家抽检是推理质量评估不可替代的一环。本项目的安排是：每批次按不低于 5% 的比例由领域专家抽检推理方向的正确性，抽检结果单列为一项指标，与自动化指标并列呈现，不合并计算。把人判的和机器判的混成一个数，会让验收时无法分辨质量到底来自哪一侧。

##### 2.5.2 样本版本追溯

样本版本追溯要回答四个具体问题：这条样本当初是怎么生成的、后来被谁改过什么、它现在属于哪个数据集版本、以及如果上游的某份文件更新了，哪些样本需要重做。前三个问题由血缘字段与修订链回答，第四个问题需要反向索引。

正向追溯链由表 2-7 的 lineage 字段与 audit_trail 字段共同承载：lineage 记录生成时的全部版本信息（原始数据标识、处理链路、工具版本、模型版本、提示词版本、规则版本、质检结果、审核状态），audit_trail 按时间顺序记录每一次修订与审核。给定一条样本，可以逐项复原出它的生成条件与修改历史。

反向索引是追溯能力的另一半，也是实际运行中用得更多的一半。工具链维护"源文档—样本"与"规则版本—样本"两张反向索引：某份工艺规程发布新版本时，通过第一张索引可以列出所有以该规程旧版本为依据的样本；某条场景规则修订时，通过第二张索引可以列出所有按旧规则校验通过的样本。列出之后的处置分三档，如表 2-23。

表 2-23　上游变更后的样本处置分档

| 变更类型 | 判定方式 | 处置 |
|---|---|---|
| 实质变更 | 变更涉及被样本引用的具体条款、数值或判据 | 相关样本标记"依据已过期"，退回复核；复核后重做或作废 |
| 非实质变更 | 变更不涉及被引用内容（如排版调整、无关章节修订） | 样本的依据版本号更新，内容不变，不退回 |
| 待判定 | 自动比对无法确定是否涉及被引用内容 | 转人工判定，判定结果记入变更处置记录 |

实质变更与非实质变更的区分依靠片段级的来源映射：样本引用的是某份文档的哪一段、哪些字符区间，新旧版本在该区间上有无差异，这是可以自动比对的。能自动比对的部分走自动判定，比对不确定的部分转人工。这个分档的意义在于避免两种极端：一是文件一改就把全部相关样本作废，代价过高；二是文件改了却无人知道哪些样本受影响，数据集里留下一批以作废依据为基础的样本。

数据集版本关系由平台的数据集版本管理承载，本工具链的责任是保证每条样本携带的版本信息完整、可被索引、且在样本被修订时同步更新。追溯接口的具体形式以通用接口、追溯与验收要求一节为准。
### 3、长上下文数据构建类工具链（3.2.3.3）

#### 3.1 甲方的现场问题与本类工具链的能力定位

招标文件要求这一类工具链提供面向长文档、复杂技术资料、标准规范、知识库和检索增强训练场景的数据构建能力，用于将 PDF、Word、HTML、Markdown、表格、图文混排资料等转化为可用于长文本训练、RAG 训练和评测的结构化样本，覆盖文档解析、语义切分、滑窗拼接、结构还原、向量检索、上下文组装和质量检查七个环节（b0940）。

预训练语料 615 亿 Token 的主体来自文档。甲方的文档资源不缺量：企业文档系统归档了标准、技术手册、工程资料与外部资料，协同办公系统承载制度文件、合同与标书，产品全生命周期管理系统承载图纸与工艺文件。缺的是三样东西。第一样是结构。一份几百页的刮板输送机维护手册在系统里是一个 PDF 文件，章节层级、表格归属、图与图说的对应关系都只存在于版面上，机器读到的是连续的字符流，切出来的片段常常从一句话中间断开。

第二样是出处。通用场景的核心需求是"回答一个问题时能说清依据的是哪一版文件、哪一页",而文档一旦被切成片段，页码与版本信息若不随片段带走，这个需求就无法满足。第三样是长度适配。训练与评测对样本长度有要求，手册里有的章节三百字、有的两万字，直接按章节切会得到一批长度分布极不均匀的样本。

本类工具链的三个工具正好对应这三样：文档结构解析工具链（工具 5）还原结构，文档切分与拼接工具链（工具 3）处理长度适配与来源映射，RAG 数据构建工具链（工具 4）处理检索与出处。三者在流水线上的实际顺序是工具 5 在前、工具 3 在中、工具 4 在后；招标文件的条目顺序是工具 3、4、5。本章按招标文件条目顺序编排，各工具在其小节首行注明在流水线上的上下游。

#### 3.2 可处理的数据与产出物

招标文件列明本类工具链须能够处理技术手册、行业标准、工艺规程、维修手册、设备说明书、招投标文件、知识库文档、PDF/Office/HTML 文件、向量模型和查询模板等数据，生成结构化文档对象、章节树、长上下文样本、RAG 评测样本等（b0941）。各类输入在甲方的落点与产出对应关系如表 2-24。

表 2-24　长上下文数据构建类工具链的输入数据与产出物对应关系

| 招标文件所列输入 | 在甲方的具体落点 | 主要格式 | 产出物 |
|---|---|---|---|
| 技术手册 | 刮板输送机、减速器、电机、液压件的技术手册 | PDF、Word | 章节树、结构化段落、长上下文样本 |
| 行业标准 | 煤矿机械相关国家标准、行业标准与企业标准 | PDF | 章节树、条款级片段、条款引用索引 |
| 工艺规程 | 板材备料、热处理、焊接等工艺规程与作业指导书 | Word、PDF | 结构化段落、规则候选条目、长上下文样本 |
| 维修手册 | 井下装备安装使用维护手册、检修规程 | PDF | 章节树、故障处置片段、RAG 语料 |
| 设备说明书 | 外购件与配套设备说明书 | PDF、图文混排 | 结构化段落、参数表对象 |
| 招投标文件 | 历史标书、技术应答文件、合同文本 | Word、PDF | 章节树、条款级片段、问标书场景语料 |
| 知识库文档 | 经治理入库的知识条目与问答对 | Markdown、结构化 | RAG 语料、评测样本 |
| PDF/Office/HTML 文件 | 上述各类的实际承载格式，另含 Excel 台账与 PPT 培训材料 | PDF、Word、Excel、PPT、HTML、Markdown、TXT | 统一文档对象 |
| 向量模型 | 经平台统一模型网关接入的向量化能力 | 服务接口 | 向量索引 |
| 查询模板 | 按场景配置的查询生成模板 | 工具链自身资产 | 查询—上下文—回答三元组 |

本类工具链的加工对象限于文本与版面类文档；图纸与工艺图的结构化抽取由多模态数据对齐类工具链承担（见对齐与标注类工具链相关章节）。两类工具链在同一份技术手册上分别取用：手册正文归本类，手册中的装配图归多模态类，由文档对象上的要素类型标记区分，同一要素只加工一次。

原生图纸的读取方式按实施调查结论确定，不以前期了解作为既定条件。按前期调研所了解的情况，产品全生命周期管理系统的原生图纸不支持整批导出；该结论为我方前期了解所得，以蓝图设计阶段的勘察复核结论为准，勘察结论与此不一致时按勘察结论调整取数通道与排期。进场后第一个月内完成读取方式的现场核实与试读，核实三项：单次可读批量上限、按图号或项目的检索条件、并发与低峰窗口限制。核实结论确定后在三条接入路径中选定，三条可并用：一是按图号或项目分批调用只读读取接口，批量与并发按源系统给定上限配置；二是在授权范围内挂载文件服务只读目录，按图号清单比对读取；三是由甲方按批次导出并经文件服务交付，我方按清单核收。三条路径的解析一律在内网就地进行。试读结果不足以支撑整体归集时，先归集与试点场景直接相关的图纸分片，其余分片按季度推进，归集进度在数据卡中按分片披露。

#### 3.3 文档切分与拼接工具链（3.2.3.3.1）

本工具在流水线上接收工具 5 输出的结构化文档对象，输出长上下文样本与来源映射表，供预训练语料与长文本训练使用。

##### 3.3.1 多格式导入与版面要素识别

招标文件要求支持 PDF、Word、Excel、PPT、HTML、Markdown、TXT 等多格式文档导入，并能够识别正文、标题、表格、图片、公式、附件、页码和章节层级（b0943）（b0944）。

多格式导入的关键不在于支持的格式数量，而在于对同一格式的不同成因区别对待。甲方的 PDF 至少有三种成因：由 Word 直接导出的电子 PDF（文字层完整，版面信息可解析）、扫描纸质文件得到的影像 PDF（无文字层，须经光学字符识别）、以及由图纸或排版软件输出的图文混排 PDF（文字层存在但阅读顺序混乱）。三者的解析通道完全不同，若不加区分地走同一条通道，影像 PDF 会得到空文本，混排 PDF 会得到顺序错乱的文本。工具链在导入时先做成因判定，再按表 2-25 分派通道。

表 2-25　格式与成因的解析通道分派

| 格式与成因 | 判定方法 | 解析通道 | 可识别要素 | 条件不具备时的退化策略 |
|---|---|---|---|---|
| 电子 PDF | 文字层覆盖率高于阈值且字符位置规整 | 版面分析加文字层抽取 | 正文、标题、表格、图片位置、公式、页码、章节层级 | —— |
| 影像 PDF | 无文字层或覆盖率极低 | 光学字符识别加版面分析 | 正文、标题、表格（框线可识别时）、页码 | 识别置信度低于阈值的页面标记为"待人工校对"，不入训练集，先入待校对队列 |
| 图文混排 PDF | 文字层存在但阅读顺序熵高 | 版面分区后分区内重建阅读顺序 | 正文、标题、图片与图说对应关系 | 分区失败的页面按整页图像处理，文字作为图像说明候选 |
| Word（docx） | —— | 文档对象模型直读 | 全要素，含样式级标题层级、批注、修订痕迹 | 旧版 doc 先转换，转换失败转 PDF 通道 |
| Excel | —— | 工作表与单元格直读 | 表格结构、合并单元格、公式、跨表引用 | 含大量格式化排版的台账按"表格即对象"处理，不强行转为段落 |
| PPT | —— | 幻灯片对象直读 | 标题、文本框、表格、图片、备注 | 以图片为主的页面转图像处理 |
| HTML | —— | 文档树解析 | 标题层级、正文、表格、链接、附件引用 | 页面模板噪声按选择器规则剔除 |
| Markdown／TXT | —— | 直读 | 标题层级（Markdown）、正文 | TXT 无标题结构，按空行与行首特征推断段落 |

要素识别的产出是统一的文档对象，不因输入格式而异。文档对象的顶层记录文档标识、原文件指纹、格式与成因、版本状态、授权范围与密级标记；中层是章节树；底层是段落、表格、图片、公式等要素节点，每个节点带页码、在页内的位置、在章节树中的路径。密级标记随对象一路传递到样本。这是后续授权校验与出域控制的依据，不能到了组装样本时才补。

表格与公式这两类要素单独说明。表格在甲方的技术资料中承载了大量参数要求，如热处理工艺参数窗口、中性层系数分档表、物料定额表，这些表格被切碎后价值归零，因此工具链把表格作为不可分割对象处理：表格整体作为一个要素节点，带表头、表题与所属章节；跨页表格由工具 5 完成拼接后再交给本工具。公式在工艺规程与校核文档中出现（如中性层展开长公式、链条安全系数公式），工具链将其转为可检索的文本表达并保留原始图像，两者同时挂在节点上，检索用文本、人工核对用图像。

##### 3.3.2 滑动窗口拼接与来源映射

招标文件要求支持滑动窗口拼接长上下文样本，可配置窗口长度、重叠比例、最大 Token 数、跨章节拼接策略、EOS 分隔符和来源映射关系（b0945）。

滑窗拼接解决的是长度适配问题，但如果只按长度切，会在句子和表格中间断开。工具链的做法是"先按语义边界划候选点，再按长度在候选点上落窗"：候选点来自章节边界、段落边界、句子边界、表格边界四类，优先级由高到低；落窗时在目标长度附近寻找优先级最高的候选点，落窗位置与目标长度的偏差在容许范围内即接受。参数配置如表 2-26。

表 2-26　滑动窗口拼接的参数配置

| 参数 | 取值范围 | 本项目默认口径 | 说明 |
|---|---|---|---|
| 窗口长度 | 512–32768 Token | 预训练语料 4096，长文本训练 8192 与 16384 两档 | 按下游训练任务的上下文窗口设定 |
| 重叠比例 | 0–30% | 技术手册与标准 10%，工艺规程 15% | 重叠保证跨窗语义连续；过高会在预训练语料中引入重复 |
| 最大 Token 数 | 等于或小于窗口长度 | 等于窗口长度，硬上限 | 超限样本不截断，改为重新落窗 |
| 跨章节拼接策略 | 禁止／同级允许／按父章节允许 | 标准与规程类禁止跨章节，手册类按父章节允许 | 标准条款跨章节拼接会造成条款混淆 |
| EOS 分隔符 | 可配置 | 章节间插入章节分隔标记，文档间插入文档分隔标记 | 让模型学到边界，避免跨文档语义串联 |
| 来源映射粒度 | 窗口级／片段级 | 片段级 | 片段级映射是出处可追溯的前提 |
| 落窗偏差容许 | 0–20% | 15% | 容许偏差换取在语义边界落窗 |

来源映射表是本工具最重要的产出之一，也是整个长上下文构建链条的出处依据。每个长上下文样本携带一张映射表，逐片段记录：源文档标识、源文档版本、章节树路径、页码、段落序号、在原文中的字符区间、要素类型。有了这张表，任何一个长上下文样本都可以被反向定位到原文的具体位置；通用场景中"说清依据的是哪一版文件哪一页"的要求，依赖的就是这张表。

##### 图 2-7　滑动窗口拼接与来源映射的生成过程

<svg viewBox="0 0 820 360" xmlns="http://www.w3.org/2000/svg"
     font-family="Noto Sans CJK SC, PingFang SC, SimHei, sans-serif" font-size="13">
  <defs>
    <marker id="ar6" markerWidth="9" markerHeight="9" refX="8" refY="4.5" orient="auto">
      <path d="M0 0 L9 4.5 L0 9 z" fill="#334155"/>
    </marker>
  </defs>
  <text x="16" y="24" font-size="12">结构化文档对象（来自工具 5）</text>
  <rect x="16" y="34" width="120" height="30" rx="3" fill="#f1f5f9" stroke="#334155"/>
  <text x="76" y="54" text-anchor="middle" font-size="12">§4.1 段落</text>
  <rect x="140" y="34" width="90" height="30" rx="3" fill="#f1f5f9" stroke="#334155"/>
  <text x="185" y="54" text-anchor="middle" font-size="12">§4.1 段落</text>
  <rect x="234" y="34" width="150" height="30" rx="3" fill="#fefce8" stroke="#334155"/>
  <text x="309" y="46.5" text-anchor="middle" font-size="12"><tspan x="309">§4.2 参数表（</tspan><tspan x="309" dy="15.0">不可分割）</tspan></text>
  <rect x="388" y="34" width="110" height="30" rx="3" fill="#f1f5f9" stroke="#334155"/>
  <text x="443" y="54" text-anchor="middle" font-size="12">§4.2 段落</text>
  <rect x="502" y="34" width="140" height="30" rx="3" fill="#f1f5f9" stroke="#334155"/>
  <text x="572" y="54" text-anchor="middle" font-size="12">§4.3 段落</text>
  <rect x="646" y="34" width="162" height="30" rx="3" fill="#f1f5f9" stroke="#334155"/>
  <text x="727" y="54" text-anchor="middle" font-size="12">§4.3 段落</text>

  <text x="16" y="94" font-size="12">候选落窗点（优先级：章节＞段落＞句子＞表格边界）</text>
  <line x1="234" y1="100" x2="234" y2="124" stroke="#334155" stroke-width="2"/>
  <text x="234" y="140" text-anchor="middle" font-size="12">章节</text>
  <line x1="388" y1="104" x2="388" y2="124" stroke="#334155" stroke-width="1.4"/>
  <text x="388" y="140" text-anchor="middle" font-size="12">表格边界</text>
  <line x1="502" y1="100" x2="502" y2="124" stroke="#334155" stroke-width="2"/>
  <text x="502" y="140" text-anchor="middle" font-size="12">章节</text>
  <line x1="140" y1="108" x2="140" y2="124" stroke="#64748b" stroke-width="1"/>
  <text x="140" y="140" text-anchor="middle" font-size="12">段落</text>
  <line x1="646" y1="108" x2="646" y2="124" stroke="#64748b" stroke-width="1"/>
  <text x="646" y="140" text-anchor="middle" font-size="12">段落</text>

  <text x="16" y="178" font-size="12">落窗结果（目标 4096 Token，偏差容许 15%，重叠 10%）</text>
  <rect x="16" y="190" width="372" height="26" rx="3" fill="#eef2f7" stroke="#334155"/>
  <text x="202" y="208" text-anchor="middle" font-size="12">窗口 W1：§4.1–§4.2（表格整体纳入）</text>
  <rect x="340" y="222" width="302" height="26" rx="3" fill="#eef2f7" stroke="#334155"/>
  <text x="491" y="240" text-anchor="middle" font-size="12">窗口 W2：§4.2 尾段–§4.3（重叠段）</text>
  <rect x="594" y="254" width="214" height="26" rx="3" fill="#eef2f7" stroke="#334155"/>
  <text x="701" y="272" text-anchor="middle" font-size="12">窗口 W3：§4.3 续</text>

  <rect x="16" y="300" width="792" height="50" rx="5" fill="#f8fafc" stroke="#334155"/>
  <text x="412" y="320" text-anchor="middle" font-size="12">来源映射表（片段级）：源文档标识 · 版本 · 章节树路径 · 页码 · 段落序号 · 字符区间 · 要素类型</text>
  <text x="412" y="340" text-anchor="middle" font-size="12">每个窗口携带一张映射表；任一片段可反向定位到原文位置，是出处可追溯的唯一依据</text>
  <path d="M202 216 V296" stroke="#334155" stroke-width="1" stroke-dasharray="4 3" marker-end="url(#ar6)" fill="none"/>
  <path d="M491 248 V296" stroke="#334155" stroke-width="1" stroke-dasharray="4 3" marker-end="url(#ar6)" fill="none"/>
  <path d="M701 280 V296" stroke="#334155" stroke-width="1" stroke-dasharray="4 3" marker-end="url(#ar6)" fill="none"/>
</svg>

图 2-7　滑动窗口拼接与来源映射的生成过程。数据来源：招标文件 3.2.3.3.1 节第（1）（2）条（b0943）（b0944）（b0945）；参数口径见本章表 2-26。

##### 3.3.3 文档关联、长度分布与重叠控制

滑窗参数决定单条样本长什么样，另有三件事决定一批样本整体长什么样：片段之间的关联怎么记、样本长度怎么分布、重叠到什么程度算多。三件都在落窗环节一并处理，事后补不回来。

文档关联分三层记录，如表 2-27。前两层已由片段的溯源字段承载（见表 2-41），第三层是本小节新增的文档族标识。设立文档族的用处很直接：同一份维护手册的 V3 与 V4、同一标准的新旧版本、同一台设备的手册与其附录，内容高度重叠，若一部分落进训练集、另一部分落进评测集，评测结果会虚高。文档族标识由文档对象上的标准号、设备型号与文档主题三项合成，同族文档在后续的训练与评测划分中整族同去同留，不逐份划分（口径见本章 5.7 节数据家族隔离一项）。

表 2-27　文档关联的三层标识与用途

| 层级 | 标识字段 | 构成规则 | 用途 | 缺失时的处置 |
|---|---|---|---|---|
| 片段间 | `prev_chunk_id` / `next_chunk_id` | 同一文档内按字符区间顺序串联 | 还原片段前后文；抽检时可回看上下文 | 指针断链的片段不发布，回查切分环节 |
| 文档内 | `section_path` / `section_level` | 章节树路径与层级深度 | 跨章节拼接策略的判定依据；检索时作层级提示 | 结构置信度低的文档整份进待确认队列 |
| 文档间 | `doc_family_id` | 标准号或设备型号、文档主题、文档类型三项合成；历史版本归同一族 | 训练与评测划分时整族同去同留；版本更替时按族回溯受影响样本 | 三项均缺的文档单独成族，并在数据卡中列为待归族项 |

表 2-27　数据来源：前两层字段依本章表 2-41 切分片段的溯源字段；文档族的隔离用法见本章 5.7 节。

长度分布与重叠控制的三项观测量如表 2-28。长度分布之所以要单独管，是因为按语义边界落窗必然带来长度离散：一个三百字的小节与一个两万字的章节走同一套参数，产出的样本长度能差两个数量级。工具的做法是先按窗口档位给出目标条数配比，落窗后统计实测直方图，偏离目标配比的档位在下一轮调整落窗偏差容许值或改用相邻窗口档位，不靠截断或补白把长度拉齐。

表 2-28　长度分布与重叠的三项观测量、首期基线与处置

| 观测量 | 口径 | 首期基线 | 测量方式 | 超出时的处置 |
|---|---|---|---|---|
| 窗口档位分布偏差 | 各窗口档位的实测条数占比与目标配比之差的绝对值 | 单档偏差不高于 0.10，首期以试跑批次实测值写入报告后逐批对照 | 落窗后按档位直接统计，随批次报告输出 | 偏差超限的档位在下一轮调整落窗偏差容许值或改用相邻档位，不截断、不补白 |
| 窗口内重叠比例 | 相邻窗口共享的片段字符数占后一窗口字符数的比例 | 按文档类型取值，见本章表 2-26 重叠比例一行 | 落窗时直接计算并写入 `window_spec` | 实测高于配置值的窗口重新落窗 |
| 跨样本重复率 | 以段落级指纹计，同一批次内指纹重复的片段字符数占批次总字符数的比例 | 首期按不高于 0.08 设定，随语料扩充复标 | 全批次指纹比对，与表 2-34「重复拼接」共用一套指纹口径 | 超限时按采样配额剔除重复片段；因重叠比例配置偏高导致的，回调该文档类型的重叠比例 |

表 2-28　数据来源：重叠比例口径见本章表 2-26；重复检测的指纹口径见本章表 2-34 重复拼接一行与 5.5 节重复检测一项；三项基线为本方案设定的首期目标，属待验证目标，随首批实测结果调整后报招标方确认。

##### 3.3.4 处理流程与样例

工具 3 的作业流程按五步推进：接收结构化文档对象并校验结构置信度；按章节、段落、句子、表格四类边界标出候选落窗点；按窗口参数在候选点上落窗，表格整体纳入不拆分；为每个窗口生成片段级来源映射表；执行质量检查（片段过短、重复拼接、语义断裂、来源缺失、Token 超限五类，见表 2-34 相应行）并分流。结构置信度低于阈值的文档不进入落窗，直接转待校对队列。这一道前置校验的意义在于，结构没还原好的文档无论怎么切都切不对。

一条长上下文样本的产出样例（节选，对应图 2-7 中的窗口 W1）：

```json
{
  "sample_id": "LC-SCS-2027Q1-001204",
  "window_spec": {"target_tokens": 4096, "actual_tokens": 3978, "overlap_ratio": 0.10, "cross_section_policy": "按父章节允许"},
  "text": "【§5 减速器维护】\n5.1 日常检查\n……\n5.2 润滑管理\n……\n<TABLE id=\"T-5-1\" caption=\"减速器润滑油牌号与换油周期\">……</TABLE>\n……",
  "source_map": [
    {"seq": 1, "doc_id": "SCS-SB-V4", "doc_version": "V4", "section_path": "5 减速器维护 / 5.1 日常检查", "page_start": 108, "page_end": 110, "paragraph_seq": "1-14", "char_range": [46012, 47880], "element_type": "正文"},
    {"seq": 2, "doc_id": "SCS-SB-V4", "doc_version": "V4", "section_path": "5 减速器维护 / 5.2 润滑管理", "page_start": 110, "page_end": 111, "paragraph_seq": "1-9", "char_range": [47881, 48950], "element_type": "正文"},
    {"seq": 3, "doc_id": "SCS-SB-V4", "doc_version": "V4", "section_path": "5 减速器维护 / 5.2 润滑管理", "page_start": 111, "page_end": 112, "paragraph_seq": "表 5-1", "char_range": [48951, 49420], "element_type": "表格", "table_id": "T-5-1", "cross_page": true}
  ],
  "split_basis": ["章节", "表格边界"],
  "qc": {"too_short": false, "duplicate": false, "semantic_break": false, "source_missing": false, "token_overflow": false},
  "lineage": {"source": ["SCS-SB-V4"], "pipeline": "工具5→工具3", "tool_version": "doc-chunk-1.3.1", "structure_confidence": 0.93, "security_label": "内部"}
}
```

样例中 seq 3 这一项是跨页表格，cross_page 为真且作为一个不可分割要素整体纳入窗口。若按纯长度切分，这张"润滑油牌号与换油周期"表会被从中间断开，后续用它生成的问答样本就会出现牌号与周期对不上的错误。这类错误在样本层面很难被发现，因为两半各自都是通顺的文本。

##### 3.3.5 接口与验收口径

表 2-29　文档切分与拼接工具链的接口

| 接口 | 方法 | 入参要点 | 出参要点 |
|---|---|---|---|
| 文档导入 | POST | 文件或文件清单、格式声明（可缺省由成因判定）、密级标记、授权范围 | 文档标识、成因判定结果、解析通道、要素统计 |
| 文档对象查询 | GET | 文档标识、要素类型过滤 | 章节树与要素节点，含页码与位置 |
| 滑窗拼接任务创建 | POST | 文档范围、窗口参数（表 2-26）、目标数据集版本 | 任务标识、预估样本条数与 Token 量 |
| 长上下文样本获取 | GET | 任务标识、分页或流式 | 样本正文、来源映射表，支持 JSONL／Parquet |
| 来源反查 | GET | 样本标识与片段序号 | 源文档标识、版本、页码、字符区间 |
| 待校对队列查询 | GET | 文档范围、置信度阈值 | 低置信度页面清单与原因 |

验收口径：我方提供七类格式各不少于 2 份的导入演示样例（其中 PDF 覆盖电子、影像、图文混排三种成因）、滑窗参数三档配置的输出样例、来源反查的双向验证记录、配置说明与接口说明、测试报告。测试报告须给出各格式的要素识别抽样准确率实测值、影像 PDF 转入待校对队列的比例，以及一批样本的来源反查逐条核对结果。要素识别的承诺按可核验的口径给出：按格式分别给出实测准确率基线，低置信度内容显式进待校对队列而不静默入库，并随语料积累逐步接近设定目标。
##### 3.3.6 任务创建入参契约、调用样例与异常回退

表 2-30　工具 3 的任务创建入参契约

| 字段 | 类型 | 必填 | 缺省与约束 |
|---|---|---|---|
| `selector.doc_refs` | 列表 | 是 | 文档对象引用集合；须为已完成结构解析的文档 |
| `params.window` | 结构 | 是 | 滑动窗口参数，取值项见本章表 2-26 |
| `params.cross_section_policy` | 枚举 | 是 | 跨章节拼接口径：禁止／按父章节允许／不限 |
| `params.source_map_granularity` | 枚举 | 否 | 来源映射粒度：段落级／字符区间级，缺省为字符区间级 |
| `params.doc_level_grouping` | 布尔 | 否 | 固定为真；同一文档的片段整份归入同一集合，防止训练与测试同源 |

```json
{
  "client_request_id": "REQ-2027Q1-SEG-0088",
  "selector": {"doc_refs": ["SCS-SB-V4", "SCS-GC-V2", "STD-AQ-2026"]},
  "params": {
    "window": {"target_tokens": 4096, "overlap_ratio": 0.10, "min_tokens": 1024},
    "cross_section_policy": "按父章节允许",
    "source_map_granularity": "字符区间级",
    "doc_level_grouping": true
  },
  "output": {"dataset_ref": "DS-PRETRAIN-2027Q1/longctx", "formats": ["jsonl", "parquet"]}
}
```

表 2-31　工具 3 的异常与回退

| 异常码 | 异常情形 | 错误类 | 返回要点 | 回退动作 |
|---|---|---|---|---|
| `TC03-201` | 文档未完成结构解析 | 输入类 | 文档标识、当前状态 | 不切分；按版面顺序硬切会把表格与标题切碎 |
| `TC03-401` | 单章节长度超出窗口上限 | 策略类 | 章节路径、实际长度 | 按父章节允许的口径拆分并在来源映射中标注拆分点，不静默截断 |
| `TC03-301` | 表格跨页导致片段内表格不完整 | 执行类（条目级） | 表格标识、跨页范围 | 该表所在片段按表边界重新取窗，表不被切开 |
| `TC03-101` | `doc_level_grouping` 被置为假 | 参数类 | 该字段取值 | 拒绝受理；文档级归集是切分隔离的硬约束（口径见工具链（三）8.3） |
| `TC03-302` | 来源映射缺失字符区间 | 执行类（条目级） | 片段标识 | 该片段不发布；缺来源映射的长上下文样本无法溯源 |

接口层面可当场核对的点：取任一长上下文样本，按 `source_map` 能回到原文档的页与字符区间；构造一个 `doc_level_grouping` 为假的请求，接口须拒绝受理。质量口径按本章 3.3.5 节执行。

#### 3.4 RAG 数据构建工具链（3.2.3.3.2）

本工具在流水线上接收工具 5 与工具 3 的产出，输出查询—上下文—回答三元组与 RAG 评测样本，并为思维链构建类工具链提供背景材料检索服务。

##### 3.4.1 检索链路的七个环节

招标文件要求支持 RAG 数据构建能力，能够完成文本向量化、向量库入库、关键词检索、向量检索、混合检索、重排、证据选择和上下文组装（b0947）（b0948）。

这八项动作构成一条完整链路。链路的设计要点不在于每一项用什么算法，而在于两件事：混合检索的权重如何确定，以及证据选择阶段按什么规则取舍。前者决定召回，后者决定生成出来的样本是否站得住。

文本向量化经平台统一模型网关调用向量化能力，向量模型标识与版本记入索引元数据。这一点在本项目有实际必要性：向量模型换代后，旧索引与新查询的向量不在同一空间，必须能查出"哪些索引是用哪个版本建的"，才能判断是否需要重建。索引按知识域分库建设，四个数据域各自独立，跨域检索由上层按授权范围合并，不把不同密级的内容混在一个索引里。

入库时每个片段除向量外同时写入可过滤的元数据：源文档标识与版本、章节树路径、页码、要素类型、业务对象标签（如所属设备型号、所属工序、所属物料类别）、密级标记、生效状态（现行／作废／替代）。生效状态这一项对标准与制度类文档尤其重要。甲方的技术标准与管理制度存在版本更替，作废版本不能被检索到当作依据，但也不能直接删除，因为历史问答的追溯需要它。

关键词检索与向量检索并行执行后做混合。混合不是简单加权求和：两路检索的得分尺度不同，先各自在候选集内做分数归一化，再按场景配置的权重合并。权重按文档类型分档设定：标准与规程类文档的查询常含条款号、型号、标准号这类精确标识，关键词检索权重取高；故障现象描述、工艺判断这类查询语义化程度高，向量检索权重取高。初始权重按场景设定后，以人工标注的查询—相关片段对为校准集做一轮调参，调参结果写入配置并记版本。

重排对混合后的候选集做精排，重排模型同样经统一模型网关接入，可替换、可评测。重排之后进入证据选择：这一步不是取前 N 条，而是按四条规则取舍：同一源文档的连续片段优先合并为一段而不是分列多条；内容高度重复的片段去重保留信息量最大者；作废状态的片段剔除；与查询的实体不匹配的片段剔除（如查询指向某一型号而片段指向另一型号）。实体不匹配的剔除依赖入库时写入的业务对象标签，这也是为什么元数据必须在入库阶段就写全。

上下文组装把选中的证据按原文顺序而非得分顺序排列，补上章节标题作为层级提示，插入片段分隔标记与出处标注，最后做长度预算：超出目标上下文长度时按引用片段裁剪策略裁剪，而不是整段丢弃。

##### 图 2-8　RAG 数据构建链路与责任边界

<svg viewBox="0 0 820 430" xmlns="http://www.w3.org/2000/svg"
     font-family="Noto Sans CJK SC, PingFang SC, SimHei, sans-serif" font-size="13">
  <defs>
    <marker id="ar7" markerWidth="9" markerHeight="9" refX="8" refY="4.5" orient="auto">
      <path d="M0 0 L9 4.5 L0 9 z" fill="#334155"/>
    </marker>
  </defs>
  <rect x="12" y="40" width="140" height="54" rx="5" fill="#f1f5f9" stroke="#334155"/>
  <text x="82" y="62" text-anchor="middle" font-size="12">结构化片段</text>
  <text x="82" y="80" text-anchor="middle" font-size="12">（工具 5／工具 3）</text>

  <rect x="12" y="120" width="140" height="54" rx="5" fill="#f1f5f9" stroke="#334155"/>
  <text x="82" y="142" text-anchor="middle" font-size="12">向量化与入库</text>
  <text x="82" y="160" text-anchor="middle" font-size="12">元数据随片段写入</text>
  <path d="M82 94 V116" stroke="#334155" stroke-width="1.3" marker-end="url(#ar7)" fill="none"/>

  <rect x="12" y="200" width="140" height="70" rx="5" fill="#f8fafc" stroke="#334155"/>
  <text x="82" y="222" text-anchor="middle" font-size="12">元数据：版本·页码</text>
  <text x="82" y="240" text-anchor="middle" font-size="12">业务对象标签·密级</text>
  <text x="82" y="253.3" text-anchor="middle" font-size="12"><tspan x="82">生效状态（现行／</tspan><tspan x="82" dy="15.0">作废）</tspan></text>
  <path d="M82 174 V196" stroke="#334155" stroke-width="1" stroke-dasharray="3 3" fill="none"/>

  <rect x="208" y="30" width="134" height="44" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="275" y="57" text-anchor="middle" font-size="12">关键词检索</text>
  <rect x="208" y="92" width="134" height="44" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="275" y="119" text-anchor="middle" font-size="12">向量检索</text>
  <rect x="208" y="154" width="134" height="56" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="275" y="176" text-anchor="middle" font-size="12">混合：分数归一化</text>
  <text x="275" y="195" text-anchor="middle" font-size="12">权重按文档类型分档</text>

  <path d="M152 140 C 180 140, 184 54, 204 52" stroke="#334155" stroke-width="1.2" fill="none" marker-end="url(#ar7)"/>
  <path d="M152 147 H204" stroke="#334155" stroke-width="1.2" marker-end="url(#ar7)" fill="none"/>
  <path d="M275 74 V88" stroke="#334155" stroke-width="1.2" marker-end="url(#ar7)" fill="none"/>
  <path d="M275 136 V150" stroke="#334155" stroke-width="1.2" marker-end="url(#ar7)" fill="none"/>

  <rect x="392" y="30" width="134" height="44" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="459" y="57" text-anchor="middle" font-size="12">重排（经网关）</text>
  <rect x="392" y="92" width="134" height="80" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="459" y="114" text-anchor="middle" font-size="12">证据选择四条规则</text>
  <text x="459" y="128.3" text-anchor="middle" font-size="12"><tspan x="459">连续片段合并·</tspan><tspan x="459" dy="15.0">重复去重</tspan></text>
  <text x="459" y="156.9" text-anchor="middle" font-size="12"><tspan x="459">作废剔除·实体不匹配</tspan><tspan x="459" dy="15.0">剔除</tspan></text>
  <rect x="392" y="190" width="134" height="56" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="459" y="212" text-anchor="middle" font-size="12">上下文组装</text>
  <text x="459" y="231" text-anchor="middle" font-size="12">原文顺序·出处标注</text>

  <path d="M342 182 C 370 182, 376 54, 388 52" stroke="#334155" stroke-width="1.2" fill="none" marker-end="url(#ar7)"/>
  <path d="M459 74 V88" stroke="#334155" stroke-width="1.2" marker-end="url(#ar7)" fill="none"/>
  <path d="M459 172 V186" stroke="#334155" stroke-width="1.2" marker-end="url(#ar7)" fill="none"/>

  <rect x="576" y="40" width="150" height="70" rx="5" fill="#f1f5f9" stroke="#334155"/>
  <text x="651" y="62" text-anchor="middle" font-size="12">三元组生成</text>
  <text x="651" y="80" text-anchor="middle" font-size="12">查询·上下文·回答</text>
  <text x="651" y="98" text-anchor="middle" font-size="12">＋证据来源与置信度</text>
  <path d="M526 218 C 556 218, 560 90, 572 82" stroke="#334155" stroke-width="1.3" fill="none" marker-end="url(#ar7)"/>

  <rect x="576" y="130" width="150" height="56" rx="5" fill="#f1f5f9" stroke="#334155"/>
  <text x="651" y="152" text-anchor="middle" font-size="12">质量检查八类问题</text>
  <text x="651" y="171" text-anchor="middle" font-size="12">见表 2-34</text>
  <path d="M651 110 V126" stroke="#334155" stroke-width="1.3" marker-end="url(#ar7)" fill="none"/>

  <rect x="576" y="206" width="150" height="56" rx="5" fill="#f1f5f9" stroke="#334155"/>
  <text x="651" y="228" text-anchor="middle" font-size="12">RAG 评测样本</text>
  <text x="651" y="247" text-anchor="middle" font-size="12">六项指标见表 2-35</text>
  <path d="M651 186 V202" stroke="#334155" stroke-width="1.3" marker-end="url(#ar7)" fill="none"/>

  <rect x="752" y="130" width="56" height="132" rx="5" fill="#f8fafc" stroke="#334155"/>
  <text x="780" y="180" text-anchor="middle" font-size="12">人工</text>
  <text x="780" y="200" text-anchor="middle" font-size="12">复核</text>
  <text x="780" y="220" text-anchor="middle" font-size="12">状态</text>
  <path d="M726 158 H748" stroke="#334155" stroke-width="1.2" marker-end="url(#ar7)" fill="none"/>
  <path d="M726 234 H748" stroke="#334155" stroke-width="1.2" marker-end="url(#ar7)" fill="none"/>

  <rect x="12" y="300" width="796" height="46" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="410" y="322" text-anchor="middle" font-size="12">本工具链产出训练与评测数据；检索服务同时供思维链构建类工具链取背景材料</text>
  <text x="410" y="339" text-anchor="middle" font-size="12">在线问答检索与模型推理属训练推理技术服务范围，本工具链不承担在线服务</text>

  <rect x="12" y="360" width="796" height="40" rx="5" fill="#f8fafc" stroke="#334155"/>
  <text x="410" y="385" text-anchor="middle" font-size="12">回退：召回不足或证据不相关超阈值的查询转人工补充标注；向量模型换代时按索引元数据判断重建范围</text>
</svg>

图 2-8　RAG 数据构建链路与责任边界。数据来源：招标文件 3.2.3.3.2 节第（1）（3）条（b0947）（b0948）（b0951）（b0952）（b0953）。

##### 3.4.2 查询—上下文—回答三元组的生成与证据留痕

招标文件要求支持基于检索结果自动生成查询、上下文、回答三元组，并保留证据来源、引用片段、页码、置信度和人工复核状态（b0949）（b0950）。

三元组的生成方向有两条，工具链都支持，用途不同。

正向生成从查询出发：查询来自查询模板渲染、专家题库或历史问答记录，走检索链路得到上下文，再由大模型基于上下文生成回答。这条路径贴近实际使用形态，适合生成评测样本。

反向生成从文档出发：先取一段结构化片段，由大模型基于该片段生成若干个"该片段能回答的问题"，再把这些问题投回检索链路，只有当检索能把原片段召回到前列时，该问题才被保留为有效查询。这条路径的好处是覆盖面可控——可以保证每一份重要文档都被覆盖到，不会出现"手册第 7 章没有任何一条训练样本"的情况；同时它自带一道检验：如果一个问题连它的来源片段都召回不出来，说明这个问题表述有问题或索引有问题，这本身是有价值的诊断信号。

本项目的配比口径是：预训练与检索增强训练用样本以反向生成为主，保证文档覆盖；评测样本以正向生成为主，并要求查询来源可追溯到专家题库或真实问答记录，避免评测题与训练题同源。

三元组的字段定义如表 2-32。

表 2-32　查询—上下文—回答三元组的字段定义

| 字段 | 说明 |
|---|---|
| triple_id | 三元组唯一标识 |
| query | 查询文本 |
| query_origin | 查询来源：模板渲染／专家题库／历史问答／反向生成 |
| context | 组装后的上下文全文，含片段分隔标记与出处标注 |
| evidence | 证据数组，每项含源文档标识、版本、章节路径、页码、引用片段原文、在原文中的字符区间、检索得分、重排得分 |
| answer | 回答文本 |
| answer_grounding | 回答中每个论断与 evidence 项的对应关系 |
| confidence | 置信度，由检索得分、重排得分与接地性校验结果合成 |
| review_status | 人工复核状态：未复核／复核通过／复核修订／复核驳回 |
| review_record | 复核记录：复核人角色、时间、修订内容、驳回原因 |
| lineage | 血缘信息，口径同表 2-7 |

answer_grounding 字段是"引用准确率"与"答案接地性"两项指标可计算的前提：回答被切成论断单元，每个论断单元指向它所依据的 evidence 项，没有对应项的论断即为未接地论断。这个设计让"答案是否有出处"从一个主观判断变成一个可统计的数字。

一条 RAG 三元组样例如下（取自装备健康诊断场景的维修手册问答）：

```json
{
  "triple_id": "RAG-ZBJK-2027Q1-004137",
  "query": "刮板输送机减速器运行中出现油温持续升高但振动值正常，按维护手册应依次检查哪些项，判断顺序的依据是什么？",
  "query_origin": "专家题库",
  "context": "【来源 1｜《刮板输送机安装使用维护手册》V4 · 第 5 章 减速器维护 · 第 112 页】减速器正常工作油温不应超过规定上限，油温异常升高时按下列顺序排查：润滑油量与油位、润滑油品质与更换周期、冷却水流量与水温、轴承状态、齿轮啮合状况……\n【来源 2｜同上 · 第 5 章 · 第 114 页】油温升高而振动值未同步升高时，优先从润滑与冷却环节排查；若振动值同步升高，应优先排查轴承与齿轮……\n【来源 3｜《减速器润滑油管理规定》V2 · 第 3 条 · 第 2 页】润滑油更换周期按运行小时数与油品检测结果双重判定……",
  "evidence": [
    {"doc_id": "SCS-SB-V4", "version": "V4", "section": "5 减速器维护 / 5.3 异常处置", "page": 112, "quote": "油温异常升高时按下列顺序排查：润滑油量与油位、润滑油品质与更换周期、冷却水流量与水温、轴承状态、齿轮啮合状况", "char_range": [48213, 48302], "retrieval_score": 0.81, "rerank_score": 0.93},
    {"doc_id": "SCS-SB-V4", "version": "V4", "section": "5 减速器维护 / 5.3 异常处置", "page": 114, "quote": "油温升高而振动值未同步升高时，优先从润滑与冷却环节排查", "char_range": [49880, 49932], "retrieval_score": 0.76, "rerank_score": 0.95},
    {"doc_id": "RHY-GL-V2", "version": "V2", "section": "3 更换周期", "page": 2, "quote": "润滑油更换周期按运行小时数与油品检测结果双重判定", "char_range": [1204, 1252], "retrieval_score": 0.68, "rerank_score": 0.71}
  ],
  "answer": "应先排查润滑与冷却环节，再排查传动部件。具体顺序为：一、核查润滑油量与油位；二、核查润滑油品质与是否超过更换周期；三、核查冷却水流量与进水温度；四、在前三项均正常时再排查轴承状态与齿轮啮合状况。判断顺序的依据是手册中关于振动值是否同步升高的分支规定：本例振动值正常，说明传动部件的机械状态暂无明显异常迹象，故优先从润滑与冷却环节入手；润滑油是否需要更换按运行小时数与油品检测结果双重判定，不单以时间判断。",
  "answer_grounding": [
    {"claim": "先排查润滑与冷却环节，再排查传动部件", "evidence_idx": [1]},
    {"claim": "排查顺序为油位、油品与更换周期、冷却水流量与水温、轴承与齿轮", "evidence_idx": [0]},
    {"claim": "润滑油更换周期按运行小时数与油品检测结果双重判定", "evidence_idx": [2]}
  ],
  "confidence": 0.88,
  "review_status": "复核通过",
  "review_record": {"role": "领域专家", "time": "2027-02-18T10:24:00+08:00", "modification": "将原回答中的具体油温数值删去，改为引用手册规定上限，避免写入未经确认的数值", "reject_reason": null},
  "lineage": {"source": ["SCS-SB-V4", "RHY-GL-V2"], "pipeline": "工具5→工具4", "tool_version": "rag-build-1.6.2", "index_version": "IDX-ZBJK-2027Q1-03", "embed_model": "gw-embed-b@2026.11", "rerank_model": "gw-rerank-a@2026.12", "qc_result": "pass", "audit_status": "已采纳"}
}
```

样例复核要点：专家将具体油温数值改为引用手册「规定上限」。模型常把事实补成定点数值，手册多为区间或条件式；此类修订应写入生成约束。

##### 3.4.3 检索参数配置

招标文件要求支持 RAG 检索参数配置，能够配置 Top-K、召回阈值、重排模型、metadata filter、上下文长度、证据去重策略和引用片段裁剪策略，满足不同知识库、不同任务和不同上下文窗口的检索增强数据构建需求（b0951）（b0952）（b0953）。

参数不按"一套默认值通吃"设计，而按知识库类型分档预置，这样现场配置时只需选档并微调，不必逐项从零设定。分档口径如表 2-33。

表 2-33　检索参数的分档配置口径

| 参数 | 标准与规程库 | 技术手册与说明书库 | 工单与案例库 | 制度与合同库 |
|---|---|---|---|---|
| Top-K（检索） | 20 | 30 | 40 | 20 |
| Top-K（重排后保留） | 5 | 8 | 10 | 5 |
| 召回阈值 | 0.55 | 0.50 | 0.45 | 0.55 |
| 关键词／向量权重 | 6∶4 | 4∶6 | 3∶7 | 5∶5 |
| 重排模型 | 经网关注册的重排能力，按评测结果择优选用，可随代升级 | 同左 | 同左 | 同左 |
| metadata filter | 生效状态＝现行；标准号／条款号精确匹配优先 | 设备型号与部件类别匹配 | 设备型号、故障类别、时间窗 | 生效状态＝现行；密级与授权范围校验 |
| 上下文长度 | 2048 | 4096 | 4096 | 2048 |
| 证据去重策略 | 同条款仅保留现行版本；相似度高于 0.9 的片段去重 | 同章节连续片段合并；相似度高于 0.92 去重 | 同工单号片段合并；相似度高于 0.88 去重 | 同条款仅保留现行版本 |
| 引用片段裁剪策略 | 按句裁剪，保留完整条款句 | 按段裁剪，保留段首结论句 | 按对话轮裁剪，保留现象与处置两端 | 按句裁剪，不跨条款裁剪 |

四档的差异来自知识库自身的性质。标准与规程库的查询多含精确标识且答案不容改写，所以关键词权重高、保留条数少、裁剪必须保完整条款句。工单与案例库的单条内容短但同类数量多，所以检索条数放大、去重阈值放低。制度与合同库涉及授权与密级，metadata filter 必须做授权范围校验。这一项是硬约束，不是性能选项。

参数配置以版本化方式保存，每个三元组记录生成时所用的配置版本。调参走与模板相同的灰度流程：在校准集上先评估，六项质量指标中至少四项不低于当前基线才放量生效，不达标则保持原配置。

##### 3.4.4 长上下文与 RAG 样本的质量检查

招标文件要求支持长上下文和 RAG 样本质量检查，能够识别片段过短、重复拼接、语义断裂、来源缺失、Token 超限、证据不相关、引用缺失和答案幻觉八类问题（b0954）（b0955）。

八类问题的检测方法分两个通道：规则通道处理可计算的问题，模型通道处理需要语义判断的问题。两个通道的结果合并后形成质量标记，不互相替代：规则通道便宜、可解释、结果稳定，应当尽可能多承担；模型通道处理剩下的部分，并且其判定结果须经抽检校验。检测口径如表 2-34。

表 2-34　八类质量问题的检测方法与处置

| 问题类型 | 通道 | 检测方法 | 处置 |
|---|---|---|---|
| 片段过短 | 规则 | 片段字符数或 Token 数低于下限；下限按知识库类型设定 | 尝试与相邻片段合并；合并后仍过短则剔除并计入覆盖缺口 |
| 重复拼接 | 规则 | 样本内片段两两相似度超阈值；跨样本指纹重复 | 去重保留信息量最大者；跨样本重复按采样配额控制 |
| 语义断裂 | 规则＋模型 | 规则查片段首尾是否在句中断开；模型判相邻片段语义连续性 | 重新落窗；无法修复的样本退回切分环节 |
| 来源缺失 | 规则 | 来源映射表字段完整性校验，缺源文档标识、版本或页码即判失败 | 直接判不合格，不进数据集；回查文档对象是否解析不全 |
| Token 超限 | 规则 | 按目标窗口的分词口径计数 | 重新落窗或按裁剪策略裁剪，不做尾部截断 |
| 证据不相关 | 模型 | 逐条评估 evidence 与 query 的相关性，低于阈值计为不相关 | 不相关证据剔除；剔除后证据数不足下限的三元组转人工补充标注 |
| 引用缺失 | 规则 | answer_grounding 中存在无对应 evidence 的论断单元 | 标记未接地论断；未接地论断占比超阈值的样本转人工复核 |
| 答案幻觉 | 规则＋模型 | 规则查答案中的实体、数值、标准号是否在 evidence 中出现；模型判答案是否可由上下文推出 | 存在实体或数值硬性不符者直接判不合格；模型判定存疑者转人工复核 |

这里的"答案幻觉"检测要说清一件事：规则通道只能查出"答案里的数字在证据里找不到"这类硬性不符，查不出"数字对但推理错"。后者由模型通道加人工抽检承担。本环节的承诺由两条构成：硬性不符项按规则逐条拦截并给出实测拦截率，模型通道的判定以月度 200 条人工抽检校验其准确率并公布，整体幻觉率随规则库与提示词约束的积累逐步下降；当某一批次的人工抽检幻觉率高于基线一定幅度时，该批次整体转人工复核，并回查是索引、检索参数还是生成约束导致。这是本环节的回退路径。

##### 3.4.5 RAG 评测数据生成与质量评价

招标文件要求支持 RAG 评测数据生成和质量评价，能够围绕查询、上下文、回答三元组输出召回率、引用准确率、证据相关性、回答一致性、答案接地性和人工复核状态等指标，支撑 RAG 数据集训练、评测和验收（b0956）（b0957）（b0958）。

六项指标的计算口径必须先定清楚，否则验收时各说各话。口径如表 2-35。表中"初始基线"一列的数值是本项目拟定的起测口径，首批评测集建成后以实测值替换并写入质量报告；"验收方式"一列说明该指标在验收时如何核验。

表 2-35　RAG 评测的六项指标口径

| 指标 | 计算口径 | 初始基线 | 验收方式 |
|---|---|---|---|
| 召回率 | 对带标准证据标注的评测查询，检索链路在重排后保留集内命中标准证据的比例 | 不低于 0.85 | 抽取评测集 200 条，由复核人逐条核对标准证据是否命中 |
| 引用准确率 | answer_grounding 中指向的 evidence 项，经人工判定确实支持该论断的比例 | 不低于 0.90 | 抽取 200 条回答，逐论断核对 |
| 证据相关性 | evidence 各项与 query 相关性判定为相关的比例 | 不低于 0.85 | 模型判定加人工抽检双通道，以人工为准 |
| 回答一致性 | 同一查询在配置不变条件下多次生成，回答语义一致的比例 | 不低于 0.90 | 同查询重复生成 3 次，比对关键论断 |
| 答案接地性 | 回答中已接地论断单元占全部论断单元的比例 | 不低于 0.92 | 按 answer_grounding 自动统计并抽检校验 |
| 人工复核状态 | 评测集中复核通过样本占比，以及驳回原因分布 | 评测集逐条复核，首期覆盖率不低于 0.95，趋向逐条覆盖 | 查复核记录完整性与未复核条目清单 |

评测集建设有两条纪律。其一，评测集与训练集按来源与时间双重切分隔离：来源切分指评测用文档与训练用文档不重叠，时间切分指以某一时点为界，该时点之后入库的文档优先划入评测集；两条同时生效，隔离标记写入血缘且不可逆。其二，评测集必须包含一类"应当拒答"的查询，即知识库中确实没有依据的问题。

通用场景的核心需求之一是"在没有依据时能够明确地不回答"，如果评测集里全是有答案的问题，这项能力就测不出来。本项目按不低于 10% 的比例在评测集中设置无依据查询，标准答案是"知识库中无相关依据"，回答给出具体内容的判为错误。

质量评价报告按批次、来源、任务类型和数据集版本四个维度生成，报告内容包括六项指标值、与上一版本的对比、低于基线的维度清单与问题样本清单。报告格式与通用接口、追溯与验收要求一节规定的质量报告格式一致。

##### 3.4.6 处理流程

工具 4 的作业流程按八步推进，如表 2-36。流程分两条支线：索引构建支线（第 1–2 步）在知识库变更时执行，样本生成支线（第 3–8 步）按批次执行。

表 2-36　RAG 数据构建工具链的处理流程

| 步 | 输入 | 动作 | 产出 | 质检点 | 异常处置 |
|---|---|---|---|---|---|
| 1 | 结构化片段、元数据 | 向量化并写入索引；记录向量模型标识与版本 | 向量索引 | 入库条数与片段数是否一致、元数据字段完整性 | 元数据缺失的片段不入库并列入清单 |
| 2 | 索引、校准集 | 混合检索权重调参，按文档类型分档固化 | 检索参数配置版本 | 校准集上的召回率 | 低于基线则保持原配置，不放量 |
| 3 | 查询来源或片段范围 | 按正向或反向方向生成查询 | 查询集合 | 反向生成的查询能否召回其来源片段 | 召回不到来源片段的查询剔除并记录 |
| 4 | 查询集合、参数档位 | 执行检索、重排、证据选择、上下文组装 | 组装后的上下文与证据清单 | 证据条数是否达下限、作废版本是否已剔除 | 证据条数不足的查询转人工补充标注 |
| 5 | 查询与上下文 | 调用模型生成回答，并产出论断与证据的对应关系 | 回答与接地关系 | 未接地论断占比 | 超阈值的三元组转人工复核 |
| 6 | 三元组 | 执行八类质量检查 | 质检结果与问题样本清单 | 硬性不匹配项是否为零 | 存在硬性不匹配的直接判不合格 |
| 7 | 合格三元组 | 按用途分流：训练用入库，评测用按来源与时间切分划出并打隔离标记 | 训练集与评测集 | 隔离标记写入结果、两集是否有交集 | 存在交集则本次划分回滚重做 |
| 8 | 评测集 | 执行评测，生成六项指标报告 | 评测报告 | 六项指标与基线对照、无依据查询占比 | 低于基线的指标须给出原因分析并记录处置 |

第 7 步的"两集是否有交集"是一道硬性校验：训练集与评测集一旦出现交集，后续所有评测结论都不可信，因此这一步校验失败即整体回滚，不做部分修补。

##### 3.4.7 接口与验收口径

表 2-37　RAG 数据构建工具链的接口

| 接口 | 方法 | 入参要点 | 出参要点 |
|---|---|---|---|
| 索引创建与重建 | POST | 片段范围、知识域、向量模型标识、元数据映射 | 索引标识与版本、入库条数、失败清单 |
| 检索（供取证） | POST | 查询、参数档位或逐项参数、metadata filter、授权上下文 | 候选片段、检索与重排得分、元数据 |
| 三元组生成任务 | POST | 生成方向（正向／反向）、查询来源、参数配置版本、目标条数 | 任务标识、预估条数与消耗 |
| 三元组获取 | GET | 任务标识、复核状态过滤、分页或流式 | 符合表 2-32 的三元组，支持 JSON／JSONL／Parquet／CSV |
| 质量检查触发 | POST | 样本范围、八类问题的阈值覆盖项 | 各类问题命中数、问题样本清单 |
| 评测集划分 | POST | 文档范围、来源与时间切分规则、无依据查询比例 | 评测集标识、隔离标记写入结果 |
| 评测执行与报告 | POST／GET | 评测集标识、被评对象（检索配置版本） | 六项指标值、与上版对比、低于基线清单 |
| 复核提交 | POST | 三元组标识、复核结论、修订内容、驳回原因 | 新复核状态、血缘更新结果 |

验收口径：我方提供完整演示样例一套（覆盖索引创建、四档参数检索、正反双向三元组生成、八类质量检查、评测执行与报告）、输入输出样例各不少于 20 条、四档参数配置说明、接口说明、测试报告。测试报告须给出六项指标在甲方真实文档上的实测值、无依据查询的拒答判定结果、一次向量模型换代后的索引重建范围判定记录。
##### 3.4.8 任务创建入参契约、调用样例与异常回退

表 2-38　工具 4 的任务创建入参契约

| 字段 | 类型 | 必填 | 缺省与约束 |
|---|---|---|---|
| `selector.query_set` | 引用 | 是 | 查询集引用与版本 |
| `selector.corpus_ref` | 引用 | 是 | 片段库引用；须与工具 3 的产出同版本 |
| `params.index_config_version` | 引用 | 是 | 索引配置版本，含向量化模型的网关登记标识 |
| `params.retrieval` | 结构 | 是 | 检索参数，分档口径见本章表 2-33 |
| `params.quality_checks` | 列表 | 否 | 启用的质量问题检测项（八类见本章表 2-34），缺省八类全开 |
| `params.metrics` | 列表 | 否 | 需要产出的评测指标（六项见本章表 2-35），缺省六项全出 |

```json
{
  "client_request_id": "REQ-2027Q1-RAG-0121",
  "selector": {"query_set": "QSET-STD-2027Q1@v1", "corpus_ref": "DS-PRETRAIN-2027Q1/longctx@v2"},
  "params": {
    "index_config_version": "IDX-2027.01",
    "retrieval": {"top_k": 8, "rerank": true, "score_floor": 0.35, "chunk_expand": "父章节"},
    "quality_checks": ["证据不足", "证据冲突", "答非所问", "引用错位", "跨文档混淆", "时效过期", "术语歧义", "重复片段"],
    "metrics": ["证据召回率", "证据精确率", "答案可依据率", "引用准确率", "冗余率", "拒答恰当率"]
  },
  "output": {"dataset_ref": "DS-SFT-2027Q1/rag", "formats": ["jsonl"]}
}
```

表 2-39　工具 4 的异常与回退

| 异常码 | 异常情形 | 错误类 | 返回要点 | 回退动作 |
|---|---|---|---|---|
| `TC04-101` | 片段库版本与索引配置不配套 | 参数类 | 两者版本 | 不受理；索引须在同版本片段库上重建 |
| `TC04-301` | 向量化服务不可用 | 执行类 | 失败阶段 | 降级为关键词检索并标记降级完成，降级批次的指标单列不并入总体 |
| `TC04-401` | 检索结果为空 | 策略类 | 查询标识、检索参数 | 该查询产出拒答样本而非编造回答；拒答样本按配额保留 |
| `TC04-402` | 证据与回答冲突 | 策略类 | 冲突点、检出方法 | 该三元组进人工复核，不自动采信回答一侧 |
| `TC04-403` | 文档时效过期 | 策略类 | 文档标识、版本日期 | 按表 2-34 处置，过期文档的三元组单独标记，不进入指令微调主集 |
| `TC04-404` | 指标低于基线 | 策略类 | 指标名、实测值与基线 | 按本章 3.4.7 节的回退口径处置 |

接口层面可当场核对的点：构造一个检索无结果的查询，返回须为拒答样本且标明原因；向量化服务不可用时，返回须显式标记降级而不是静默改用关键词检索。质量口径按本章 3.4.7 节执行。

#### 3.5 文档结构解析工具链（3.2.3.3.3）

本工具是长上下文构建链条的第一道，上游接收采集与预处理环节交付的文档文件，下游向工具 3 与工具 4 输出结构化文档对象与章节树。

##### 3.5.1 文档结构化解析的六项能力

招标文件要求支持文档结构化解析，能够完成标题层级识别、目录结构还原、段落归并、页眉页脚剔除、跨页表格拼接、公式和图文说明转换（b0960）。

六项中前四项处理的是"版面噪声与结构丢失"，后两项处理的是"跨页与非文本要素"。这六项在甲方的文档上各有具体难点，解析方法与条件不具备时的退化策略如表 2-40。

表 2-40　六项解析能力的方法、难点与退化策略

| 解析项 | 方法 | 在甲方文档上的具体难点 | 退化策略 |
|---|---|---|---|
| 标题层级识别 | 多信号融合：字号与字重、编号模式、缩进、与正文的间距、Word 样式名 | 早期技术手册编号体系不统一，同一手册内混用"第 1 章／1.／一、"三套编号；部分扫描件无字号信息 | 编号模式与字号信号冲突时以编号模式为准；两者均缺失的文档按单层结构处理并标记"结构置信度低" |
| 目录结构还原 | 优先解析文档自带目录页并与正文标题对齐校验，无目录页时由标题层级自底向上构建 | 目录页页码与正文实际页码存在偏移（扫描件常见）；部分手册目录不完整 | 目录与正文对齐失败率超阈值时放弃目录页，改用正文标题构建，并记录放弃原因 |
| 段落归并 | 按行间距、首行缩进、断字与标点特征判定段落边界，跨页续段按语义连续性合并 | 两栏排版的标准文本跨栏续段；手册中大量以换行代替段落的说明文字 | 两栏版面先做分栏再归并；分栏失败的页面按单栏处理并标记 |
| 页眉页脚剔除 | 跨页重复内容检测加位置约束 | 页眉中含章节名，剔除后丢失章节线索；页脚中含版本号与受控标识，属有用元数据 | 页眉中的章节名提取为结构信号后再剔除；页脚中的版本号与受控标识提取为文档元数据后再剔除，不直接丢弃 |
| 跨页表格拼接 | 表头重复检测、列数与列宽对齐、续表标记识别 | 工艺参数表跨三页以上且中间页无表头；部分表格跨页处被页眉打断 | 列对齐置信度低于阈值时不拼接，各页表格独立成对象并标记"疑为同一表格"，转人工确认 |
| 公式与图文说明转换 | 公式转为可检索文本表达并保留原始图像；图与图说按位置邻接与编号匹配建立对应 | 工艺规程中的公式含自定义符号；图说编号与图编号不一致的情形存在 | 公式转换置信度低时仅保留图像并标记"公式未转换"；图说匹配失败的图保留为无说明图像对象，不强行配对 |

退化策略要求错误显式分流：标记「结构置信度低」的文档进待人工确认队列，不静默入预训练语料；标记「疑为同一表格」的对象须人工确认后再用于问答生成。

##### 图 2-9　文档结构解析流程与置信度分流

<svg viewBox="0 0 820 380" xmlns="http://www.w3.org/2000/svg"
     font-family="Noto Sans CJK SC, PingFang SC, SimHei, sans-serif" font-size="13">
  <defs>
    <marker id="ar8" markerWidth="9" markerHeight="9" refX="8" refY="4.5" orient="auto">
      <path d="M0 0 L9 4.5 L0 9 z" fill="#334155"/>
    </marker>
  </defs>
  <rect x="12" y="46" width="124" height="56" rx="5" fill="#f1f5f9" stroke="#334155"/>
  <text x="74" y="68" text-anchor="middle" font-size="12">文档文件</text>
  <text x="74" y="87" text-anchor="middle" font-size="12">含成因判定结果</text>

  <rect x="168" y="46" width="124" height="56" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="230" y="68" text-anchor="middle" font-size="12">版面分析</text>
  <text x="230" y="87" text-anchor="middle" font-size="12">分栏·区块·阅读序</text>
  <path d="M136 74 H164" stroke="#334155" stroke-width="1.3" marker-end="url(#ar8)" fill="none"/>

  <rect x="324" y="18" width="130" height="40" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="389" y="43" text-anchor="middle" font-size="12">页眉页脚剔除</text>
  <rect x="324" y="66" width="130" height="40" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="389" y="91" text-anchor="middle" font-size="12">标题层级识别</text>
  <rect x="324" y="114" width="130" height="40" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="389" y="139" text-anchor="middle" font-size="12">段落归并</text>
  <rect x="324" y="162" width="130" height="40" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="389" y="187" text-anchor="middle" font-size="12">跨页表格拼接</text>
  <rect x="324" y="210" width="130" height="40" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="389" y="235" text-anchor="middle" font-size="12">公式与图说转换</text>
  <path d="M292 74 C 308 74, 310 40, 320 38" stroke="#334155" stroke-width="1.2" fill="none" marker-end="url(#ar8)"/>
  <path d="M292 76 H320" stroke="#334155" stroke-width="1.2" marker-end="url(#ar8)" fill="none"/>
  <path d="M292 80 C 308 80, 310 134, 320 136" stroke="#334155" stroke-width="1.2" fill="none" marker-end="url(#ar8)"/>
  <path d="M292 84 C 306 84, 310 182, 320 184" stroke="#334155" stroke-width="1.2" fill="none" marker-end="url(#ar8)"/>
  <path d="M292 88 C 304 88, 310 230, 320 232" stroke="#334155" stroke-width="1.2" fill="none" marker-end="url(#ar8)"/>

  <rect x="486" y="66" width="130" height="92" rx="5" fill="#f1f5f9" stroke="#334155"/>
  <text x="551" y="90" text-anchor="middle" font-size="12">目录结构还原</text>
  <text x="551" y="110" text-anchor="middle" font-size="12">自带目录优先</text>
  <text x="551" y="128" text-anchor="middle" font-size="12">与正文标题对齐校验</text>
  <text x="551" y="148" text-anchor="middle" font-size="12">失败则自底向上构建</text>
  <path d="M454 100 H482" stroke="#334155" stroke-width="1.3" marker-end="url(#ar8)" fill="none"/>

  <rect x="648" y="30" width="160" height="64" rx="5" fill="#f8fafc" stroke="#334155"/>
  <text x="728" y="54" text-anchor="middle" font-size="12">结构化文档对象</text>
  <text x="728" y="73" text-anchor="middle" font-size="12">章节树＋要素节点</text>
  <text x="728" y="89" text-anchor="middle" font-size="12">带页码·位置·密级</text>

  <rect x="648" y="112" width="160" height="64" rx="5" fill="#f8fafc" stroke="#334155"/>
  
  
  

  <path d="M616 100 C 632 100, 634 64, 644 62" stroke="#334155" stroke-width="1.3" fill="none" marker-end="url(#ar8)"/>
  <text x="614" y="52" font-size="12">置信度达标</text>
  <path d="M616 124 C 632 124, 634 142, 644 144" stroke="#334155" stroke-width="1.3" fill="none" marker-end="url(#ar8)"/>
  <text x="600" y="188" font-size="12">置信度不达标</text>

  <rect x="12" y="276" width="796" height="46" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="410" y="298" text-anchor="middle" font-size="12">混合切分：章节 ＞ 段落 ＞ 句子 ＞ 语义边界 ＞ 表格边界 ＞ Token 长度，按优先级逐级让位</text>
  <text x="410" y="315" text-anchor="middle" font-size="12">切分结果保留源文档标识 · 页码 · 标题层级 · 段落序号 · 上下文关系（前后片段指针）</text>
  <path d="M728 176 V272" stroke="#334155" stroke-width="1" stroke-dasharray="4 3" fill="none"/>
  <path d="M728 94 V272" stroke="#334155" stroke-width="1" stroke-dasharray="4 3" fill="none"/>

  <rect x="12" y="336" width="796" height="34" rx="5" fill="#f8fafc" stroke="#334155"/>
  <text x="410" y="358" text-anchor="middle" font-size="12">下游：工具 3 做滑窗拼接 · 工具 4 做向量化与检索 · 思维链构建类取背景材料</text>

  <rect x="682.0" y="120.9" width="92.0" height="19.0" fill="#f8fafc" stroke="none" data-halo="1"/><text x="728" y="136" text-anchor="middle" font-size="12">待人工确认队列</text>

  <rect x="688.0" y="139.9" width="80.0" height="20.0" fill="#f8fafc" stroke="none" data-halo="1"/><text x="728" y="155" text-anchor="middle" font-size="12">结构置信度低</text>

  <rect x="682.0" y="155.9" width="92.0" height="20.0" fill="#f8fafc" stroke="none" data-halo="1"/><text x="728" y="171" text-anchor="middle" font-size="12">疑为同一表格等</text>
</svg>

图 2-9　文档结构解析流程与置信度分流。数据来源：招标文件 3.2.3.3.3 节第（1）（2）条（b0960）（b0961）；解析项与退化策略见本章表 2-40。

##### 3.5.2 混合切分与溯源字段

招标文件要求支持按章节、段落、句子、语义边界、表格边界和 Token 长度进行混合切分，切分结果须保留原始文档来源、页码、标题层级、段落序号和上下文关系（b0961）。

六类切分依据按优先级联合使用：章节→段落→句子→语义；表格边界为硬约束；Token 长度仅为上限。前述边界都无法满足长度要求时，才允许在最接近的句子边界处强制落点。高层级边界优先，以保持片段语义完整、利于检索召回。

「按 Token 长度切分」仅作其他切分的长度上限，不作独立切分方式。若以长度为首要依据，易在句中或表中断开。

切分结果携带的溯源字段如表 2-41。这些字段与来源映射表（表 2-26 所述）在内容上一致，差别在于：本表描述的是单个片段自身携带的字段，来源映射表描述的是一个长上下文样本所含多个片段的集合映射，两者是同一套溯源信息在不同粒度上的呈现，不是两套口径。

表 2-41　切分片段的溯源字段

| 字段 | 说明 |
|---|---|
| chunk_id | 片段唯一标识 |
| doc_id / doc_version | 源文档标识与版本 |
| page_start / page_end | 起止页码；跨页片段两者不同 |
| section_path | 标题层级路径，如"5 减速器维护 / 5.3 异常处置" |
| section_level | 片段所属标题的层级深度 |
| paragraph_seq | 在所属章节内的段落序号 |
| char_range | 在源文档规范化文本中的字符区间 |
| element_type | 要素类型：正文／表格／公式／图说／列表／附件引用 |
| prev_chunk_id / next_chunk_id | 上下文关系指针，用于还原片段的前后文 |
| split_basis | 本片段的切分依据：章节／段落／句子／语义／表格边界／长度强制 |
| confidence | 结构解析置信度，低于阈值的片段不进训练集 |
| security_label | 密级标记与授权范围，随片段传递 |

split_basis 字段的用途是质量回溯：如果某批样本质量偏低，可以直接统计这批样本中"长度强制"切分的占比，若占比明显偏高，说明文档的结构解析不充分，应回到解析环节而不是在切分参数上反复试。

##### 3.5.3 处理流程与样例

工具 5 的作业流程按六步推进：文件接入与成因判定；版面分析（分栏、区块、阅读顺序重建）；页眉页脚剔除并提取其中的章节线索与版本元数据；标题层级识别与目录结构还原并做对齐校验；段落归并、跨页表格拼接、公式与图说转换；结构置信度评定与分流（达标出结构化文档对象，不达标进待人工确认队列）。六步之后按混合切分优先级输出片段。

一份技术手册的解析产出样例（章节树节选与一个片段）：

```json
{
  "doc_id": "SCS-SB-V4",
  "doc_version": "V4",
  "origin": "电子 PDF",
  "meta_from_footer": {"版本号": "V4", "受控标识": "受控文件", "编制年份": "2024"},
  "section_tree": [
    {"level": 1, "title": "5 减速器维护", "page_start": 106, "page_end": 121, "children": [
      {"level": 2, "title": "5.1 日常检查", "page_start": 108, "page_end": 110},
      {"level": 2, "title": "5.2 润滑管理", "page_start": 110, "page_end": 112, "elements": [{"type": "表格", "table_id": "T-5-1", "caption": "减速器润滑油牌号与换油周期", "cross_page": true, "pages": [111, 112]}]},
      {"level": 2, "title": "5.3 异常处置", "page_start": 112, "page_end": 118}
    ]}
  ],
  "toc_alignment": {"toc_page_detected": true, "aligned_titles": 142, "total_titles": 148, "offset_corrected": 2, "result": "采用自带目录"},
  "structure_confidence": 0.93
}
```

```json
{
  "chunk_id": "CH-SCS-SB-V4-005311",
  "doc_id": "SCS-SB-V4", "doc_version": "V4",
  "page_start": 112, "page_end": 112,
  "section_path": "5 减速器维护 / 5.3 异常处置",
  "section_level": 2,
  "paragraph_seq": 3,
  "char_range": [48213, 48302],
  "element_type": "正文",
  "text": "油温异常升高时按下列顺序排查：润滑油量与油位、润滑油品质与更换周期、冷却水流量与水温、轴承状态、齿轮啮合状况。",
  "prev_chunk_id": "CH-SCS-SB-V4-005310",
  "next_chunk_id": "CH-SCS-SB-V4-005312",
  "split_basis": "段落",
  "confidence": 0.95,
  "security_label": "内部"
}
```

两段样例的衔接：章节树记录跨页表，第二段取自表后正文；若跨页表未拼接，表残片会混入正文片段。双重溯源字段便于抽检定位。

##### 3.5.4 接口与验收口径

表 2-42　文档结构解析工具链的接口

| 接口 | 方法 | 入参要点 | 出参要点 |
|---|---|---|---|
| 解析任务创建 | POST | 文档范围、解析项开关、置信度阈值、密级标记 | 任务标识、按文档的解析结果摘要 |
| 章节树获取 | GET | 文档标识 | 章节树、各节点页码区间与要素统计 |
| 要素节点获取 | GET | 文档标识、要素类型过滤、章节路径过滤 | 要素节点全文与属性 |
| 混合切分任务 | POST | 文档范围、切分优先级配置、长度上限、表格处理策略 | 片段集合、切分依据分布统计 |
| 片段获取 | GET | 任务标识、分页或流式 | 符合表 2-41 的片段，支持 JSONL／Parquet |
| 待确认队列查询与处置 | GET／POST | 文档范围、确认结论 | 待确认项清单；确认后重新解析的结果 |
| 解析质量报告 | GET | 文档范围、批次 | 六项解析能力的抽样准确率、低置信度占比、问题清单 |

验收口径：我方提供演示样例一套（覆盖表 2-40 六项解析能力，其中跨页表格与两栏排版标准各不少于 1 例）、输入输出样例、配置说明与接口说明、测试报告。测试报告须给出六项解析能力在甲方真实文档上的抽样准确率实测值、低置信度文档占比、以及待人工确认队列的处置记录。历史文档的结构还原程度与原始资料品质直接相关：扫描质量差、编号体系混乱的早期资料，其可还原的结构层级有限。本方案的承诺因此落在三条上：解析结果的置信度可判、低置信度内容显式分流、覆盖程度随规则与模型迭代逐步提高，各档资料的实测覆盖率在质量报告中分别列示。
##### 3.5.5 任务创建入参契约、调用样例与异常回退

表 2-43　工具 5 的任务创建入参契约

| 字段 | 类型 | 必填 | 缺省与约束 |
|---|---|---|---|
| `selector.file_refs` | 列表 | 是 | 原件引用；按只读授权范围读取 |
| `params.channel_policy` | 结构 | 否 | 格式与成因到解析通道的分派覆盖项（口径见本章表 2-25），缺省按文件类型自动分派 |
| `params.capabilities` | 列表 | 否 | 启用的六项解析能力（见本章表 2-40），缺省六项全开 |
| `params.confidence_thresholds` | 结构 | 否 | 高低两档阈值，缺省取当前标定值 |
| `params.degrade_policy` | 结构 | 否 | 各能力的退化策略覆盖项（见本章表 2-40），缺省按能力预置 |

```json
{
  "client_request_id": "REQ-2027Q1-DOC-0245",
  "selector": {"file_refs": [{"doc_id": "SCS-SB-V4", "file_hash": "<文件指纹>"}, {"doc_id": "STD-AQ-2026", "file_hash": "<文件指纹>"}]},
  "params": {
    "capabilities": ["章节树还原", "段落结构化", "表格还原", "图题与图注关联", "页眉页脚剥离", "公式与符号保留"],
    "confidence_thresholds": {"high": 0.90, "low": 0.60},
    "degrade_policy": {"表格还原": "降为单元格文本并标记结构未还原"}
  },
  "output": {"dataset_ref": "DS-DOC-2027Q1/parsed", "formats": ["jsonl"]}
}
```

表 2-44　工具 5 的异常与回退

| 异常码 | 异常情形 | 错误类 | 返回要点 | 回退动作 |
|---|---|---|---|---|
| `TC05-101` | 文件格式不在支持范围 | 参数类 | 文件标识、实际格式 | 不受理该文件，其余文件照常执行 |
| `TC05-301` | 扫描质量不足以还原章节层级 | 执行类（条目级） | 文档标识、实测质量指标 | 按退化策略输出平铺段落并标记层级未还原，不按页码猜测层级 |
| `TC05-302` | 跨页续表的表头无法确定 | 执行类（条目级） | 表格标识、跨页范围 | 续表部分单独输出并标记表头待确认，不复制上页表头充数 |
| `TC05-401` | 解析置信度落在低档 | 策略类 | 文档标识、置信度 | 进人工标注队列，工具输出仅作参考（口径见本章 3.5 节置信度分流） |
| `TC05-402` | 公式或专用符号无法保留 | 策略类 | 位置、符号类型 | 原样保留图像片段并标记，不以近似字符替代 |

接口层面可当场核对的点：取一份跨页续表的文档，续表部分须标记表头待确认；取一份低清扫描件，输出须标记层级未还原而不是给出一个看似完整的章节树。质量口径按本章 3.5.4 节执行，并与场景验证一侧的表格解析四层精度口径对齐（见通用场景验证方案相关章节）。

### 4、多轮对话数据构建类工具链（3.2.3.4）

#### 4.1 甲方的现场问题与本类工具链的能力定位

招标文件要求这一类工具链提供面向智能客服、设备运维、专家问答、业务协同、故障排查等场景的多轮对话数据生产能力，用于构建具有上下文连续性、角色一致性、业务闭环和可追溯来源的对话样本，覆盖角色剧本配置、多智能体对话生成、工单转写、脱敏、对话质量筛选和分层采样六个环节（b0963）。

甲方业务判断多在多轮追问中收敛，而非单轮问答。售前选型接口参数常经多方协商、电子留痕不足；健康诊断排查亦需先问测点、工况、检修史再收敛到部件。单轮样本易训出「未问清前提即给完整结论」的行为。

本类工具链的三个工具分工明确：对话模拟生成工具链（工具 6）从角色剧本出发造对话，解决的是"覆盖面"问题——现场缺的那些没有电子留痕的协商过程，只能靠构造；结构化工单转对话工具链（工具 7）从真实工单出发转写，解决的是"真实性"问题。

SOS 服务工单、CRM 售后记录、运维报告里有真实的现象描述与处置结论；对话质量筛选工具链（工具 8）解决的是"可用性"问题，两类来源的样本都要过它这一道。构造的对话覆盖面好但真实性弱，转写的对话真实性强但覆盖面受历史记录限制，本项目两条路都走，在数据集中按比例配比，比例按场景分别设定并记入数据卡。

#### 4.2 可处理的数据与产出物

招标文件列明本类工具链须能够处理角色剧本、业务场景模板、领域知识库、问题种子、SOS 工单、CRM 售后记录、运维报告、维修闭环记录、评分规则和敏感词规则等数据，生成多轮对话样本、角色标签、脱敏记录、质量评分、低质样本清单等（b0964）。各类输入的落点与取数前提如表 2-45。

表 2-45　多轮对话数据构建类工具链的输入数据与取数前提

| 招标文件所列输入 | 在甲方的具体落点 | 取数前提 | 用于哪个工具 |
|---|---|---|---|
| 角色剧本 | 按七类业务场景配置的角色定义 | 本项目新建，须经业务口确认角色的知识边界 | 工具 6 |
| 业务场景模板 | 六个专业场景与五个通用场景的任务模板 | 与场景验证方案共用场景定义 | 工具 6 |
| 领域知识库 | 经治理入库的手册、规程、标准与知识条目 | 由工具 4 提供检索服务 | 工具 6、工具 7 |
| 问题种子 | 专家题库、历史问答记录、常见问题清单 | 部分需由业务口整理提供 | 工具 6 |
| SOS 工单 | 售后服务与备件管理系统的服务工单、派工与备件出库记录 | 该系统与远程运维平台的事件未打通，工单与报警的配对需另行建立 | 工具 7 |
| CRM 售后记录 | 客户关系管理系统的项目与商机信息 | 系统正在上线，历史数据较少 | 工具 7 |
| 运维报告 | 远程运维平台的报警日志与巡检、检修记录 | 报警不少但故障标签很少，维修事实多在纸面 | 工具 7 |
| 维修闭环记录 | 不合格品票、改造方案流转记录、返修处置记录 | 协同办公系统只读导出；缺陷描述为文字，未与工艺参数关联 | 工具 7 |
| 评分规则 | 七维评分规则与各维度评分锚点 | 本项目新建，须经业务口会签 | 工具 8 |
| 敏感词规则 | 敏感实体识别规则与替换策略 | 须与甲方数据安全管理要求对齐 | 工具 7、工具 8 |

这里要如实指出两处取数缺口，它们影响工具 7 的产出规模：其一，服务工单与运维报警之间没有事件级配对，"某次报警对应某次维修"这种关系需要回填建立，不是现成可导出的数据；其二，CRM 系统正在上线、历史数据较少，售后记录类样本的规模在首期会受限。两处缺口的处理方式是在数据卡上如实统计覆盖度并随进度更新，不以构造样本充抵真实样本。构造与转写两类样本在数据集中分别标记来源，不混计。

#### 4.3 对话模拟生成工具链（3.2.3.4.1）

##### 4.3.1 角色剧本配置

招标文件要求支持配置用户、助手、专家、维修人员、质检人员、调度人员等多类角色剧本，并可定义角色目标、知识边界、表达风格、任务约束和安全边界（b0966）（b0967）。

角色剧本约束表达差异与知识边界。若不约束，各角色易同腔同调，「角色一致性」评分偏低。五项定义中优先守住「知识边界」：用户角色不得掌握仅专家可知的判据，以免自问自答、追问失效。六类角色的剧本要点如表 2-46。

表 2-46　六类角色的剧本定义要点

| 角色 | 角色目标 | 知识边界 | 表达风格 | 任务约束 | 安全边界 |
|---|---|---|---|---|---|
| 用户 | 说明自己遇到的情况，获得可执行的结论 | 只知道现象与自身业务上下文，不知道判据与内部规程 | 口语化，描述不完整，可能用俗称 | 不得主动给出正确答案；被追问时按设定逐步补充信息 | 不涉及未授权数据 |
| 助手 | 组织对话，问清前提，给出结论或转交专家 | 掌握知识库可检索内容，不掌握未入库的经验 | 简洁、先问后答、给出依据 | 依据不足时须明确说明并提出需补充的信息 | 无依据不作结论；不输出超出授权范围的内容 |
| 专家 | 在助手无法判断时给出专业判断与依据 | 掌握规程、标准与经验判据 | 直接、给判据、指出例外情形 | 结论须附依据出处 | 不涉及个人与客户敏感信息 |
| 维修人员 | 报告现场所见，执行检查并反馈结果 | 掌握现场状态与检修史，不掌握设计意图 | 现场口径，含具体数值与部件俗称 | 反馈须具体到部件与数值 | 不涉及未授权数据 |
| 质检人员 | 给出检验结论与处置意见 | 掌握检验标准与判定口径 | 规范、引用检验项编号 | 结论须对应检验项与判定依据 | 不涉及未授权数据 |
| 调度人员 | 协调资源与工序安排 | 掌握工单与产能状态，不掌握技术判据 | 简短、关注时间与资源 | 不作技术判断 | 不涉及未授权数据 |

剧本以配置文件形式版本化管理，角色定义变更产生新版本，对话样本上记录所用剧本的标识与版本。角色标签作为样本字段输出，便于后续按角色组合做分层采样。

##### 4.3.2 多智能体对话生成与流程控制

招标文件要求支持基于多智能体机制自动生成多轮对话，能够控制对话轮次、话题流转、追问策略、澄清机制、终止条件和异常分支（b0968）（b0969）。

多智能体的实现方式是：每个角色由一个独立的智能体承担，智能体只能看到自己角色剧本允许看到的信息，对话在一个受控的调度器下轮转。调度器按状态机推进对话阶段（现象描述→前提澄清→判断分析→处置建议→结果确认→复盘总结），而非简单轮流发言；当前阶段决定发言方与可执行动作。六项控制项的配置口径如表 2-47。

表 2-47　对话生成的六项流程控制

| 控制项 | 配置方式 | 本项目口径 | 不满足时的处理 |
|---|---|---|---|
| 对话轮次 | 配置最小与最大轮次区间 | 简单咨询类 3–6 轮，故障排查类 6–12 轮，工艺审查类 5–10 轮 | 未达最小轮次即出现终止条件的对话标记"过早收敛"，进复核；超最大轮次强制收尾并标记"未收敛" |
| 话题流转 | 按状态机定义允许的阶段迁移 | 允许回退（如处置建议后退回前提澄清），禁止跳跃（现象描述直接到结果确认） | 出现禁止迁移时调度器拦截，重新生成该轮 |
| 追问策略 | 配置追问触发条件与追问上限 | 助手在关键前提缺失时必须追问；同一前提追问不超过 2 次 | 超过上限仍未得到前提时，助手须明确说明在该前提未知下结论的适用范围 |
| 澄清机制 | 配置须澄清的前提清单（按场景） | 故障排查须澄清设备型号、报警测点、工况与近期检修史四项 | 澄清清单未覆盖的对话标记"前提不全"，进复核 |
| 终止条件 | 配置正常终止与异常终止条件 | 正常终止：结论给出且用户确认；异常终止：依据不足、超出授权、超轮次上限 | 异常终止的对话单独归池，作为"拒答与转交"类样本保留，不作废 |
| 异常分支 | 配置异常情形与应对 | 用户描述自相矛盾、提出超范围请求、中途更换问题 | 按配置生成对应分支，这类样本按配额保留，用于训练模型处理非理想输入 |

异常分支这一项需要特别说明其用途。现场的真实对话很少是理想的：用户会把两个问题混着说，会中途改口，会提出超出系统范围的要求。若训练数据里全是理想对话，模型在现场遇到非理想输入时表现会明显退化。工具链因此把异常分支作为必须生成的一部分，按配额纳入。本项目口径是异常分支样本占对话样本总量的 10%–15%，具体比例按场景在数据卡中记录。

##### 图 2-10　多智能体对话生成的状态机与控制点

<svg viewBox="0 0 820 390" xmlns="http://www.w3.org/2000/svg"
     font-family="Noto Sans CJK SC, PingFang SC, SimHei, sans-serif" font-size="13">
  <defs>
    <marker id="ar9" markerWidth="9" markerHeight="9" refX="8" refY="4.5" orient="auto">
      <path d="M0 0 L9 4.5 L0 9 z" fill="#334155"/>
    </marker>
  </defs>
  <rect x="12" y="150" width="104" height="60" rx="5" fill="#f1f5f9" stroke="#334155"/>
  <text x="64" y="174" text-anchor="middle" font-size="12">角色剧本</text>
  <text x="64" y="188.3" text-anchor="middle" font-size="12"><tspan x="64">六类角色·</tspan><tspan x="64" dy="15.0">版本化</tspan></text>

  <rect x="12" y="236" width="104" height="60" rx="5" fill="#f1f5f9" stroke="#334155"/>
  <text x="64" y="260" text-anchor="middle" font-size="12">领域知识库</text>
  <text x="64" y="279" text-anchor="middle" font-size="12">经工具 4 检索</text>

  <rect x="150" y="186" width="104" height="74" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="202" y="212" text-anchor="middle" font-size="12">调度器</text>
  <text x="202" y="231" text-anchor="middle" font-size="12">按状态机</text>
  <text x="202" y="249" text-anchor="middle" font-size="12">决定发言方</text>
  <path d="M116 180 C 134 180, 136 200, 146 204" stroke="#334155" stroke-width="1.2" fill="none" marker-end="url(#ar9)"/>
  <path d="M116 266 C 134 266, 136 246, 146 242" stroke="#334155" stroke-width="1.2" fill="none" marker-end="url(#ar9)"/>

  <rect x="296" y="30" width="118" height="42" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="355" y="56" text-anchor="middle" font-size="12">现象描述</text>
  <rect x="296" y="94" width="118" height="42" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="355" y="120" text-anchor="middle" font-size="12">前提澄清</text>
  <rect x="296" y="158" width="118" height="42" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="355" y="184" text-anchor="middle" font-size="12">判断分析</text>
  <rect x="296" y="222" width="118" height="42" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="355" y="248" text-anchor="middle" font-size="12">处置建议</text>
  <rect x="296" y="286" width="118" height="42" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="355" y="312" text-anchor="middle" font-size="12">结果确认</text>
  <rect x="296" y="346" width="118" height="36" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="355" y="369" text-anchor="middle" font-size="12">复盘总结</text>

  <path d="M355 72 V90" stroke="#334155" stroke-width="1.3" marker-end="url(#ar9)" fill="none"/>
  <path d="M355 136 V154" stroke="#334155" stroke-width="1.3" marker-end="url(#ar9)" fill="none"/>
  <path d="M355 200 V218" stroke="#334155" stroke-width="1.3" marker-end="url(#ar9)" fill="none"/>
  <path d="M355 264 V282" stroke="#334155" stroke-width="1.3" marker-end="url(#ar9)" fill="none"/>
  <path d="M355 328 V342" stroke="#334155" stroke-width="1.3" marker-end="url(#ar9)" fill="none"/>
  <path d="M414 240 C 450 230, 452 130, 418 118" stroke="#334155" stroke-width="1.1" fill="none" stroke-dasharray="4 3" marker-end="url(#ar9)"/>
  
  <path d="M254 218 H292" stroke="#334155" stroke-width="1.3" marker-end="url(#ar9)" fill="none"/>

  <rect x="520" y="30" width="140" height="56" rx="5" fill="#f8fafc" stroke="#334155"/>
  <text x="590" y="52" text-anchor="middle" font-size="12">轮次区间校验</text>
  <text x="590" y="71" text-anchor="middle" font-size="12">过早收敛／未收敛标记</text>

  <rect x="520" y="100" width="140" height="56" rx="5" fill="#f8fafc" stroke="#334155"/>
  <text x="590" y="122" text-anchor="middle" font-size="12">澄清清单校验</text>
  <text x="590" y="141" text-anchor="middle" font-size="12">四项前提是否问全</text>

  <rect x="520" y="170" width="140" height="56" rx="5" fill="#f8fafc" stroke="#334155"/>
  <text x="590" y="192" text-anchor="middle" font-size="12">追问上限校验</text>
  <text x="590" y="211" text-anchor="middle" font-size="12">同一前提不超 2 次</text>

  <rect x="520" y="240" width="140" height="56" rx="5" fill="#f8fafc" stroke="#334155"/>
  <text x="590" y="262" text-anchor="middle" font-size="12">禁止迁移拦截</text>
  <text x="590" y="281" text-anchor="middle" font-size="12">拦截后重新生成该轮</text>

  <rect x="520" y="310" width="140" height="56" rx="5" fill="#f8fafc" stroke="#334155"/>
  <text x="590" y="332" text-anchor="middle" font-size="12">异常分支配额</text>
  <text x="590" y="351" text-anchor="middle" font-size="12">占总量 10%–15%</text>

  <path d="M414 50 H516" stroke="#334155" stroke-width="1.1" marker-end="url(#ar9)" fill="none"/>
  <path d="M414 115 H516" stroke="#334155" stroke-width="1.1" marker-end="url(#ar9)" fill="none"/>
  <path d="M414 180 H516" stroke="#334155" stroke-width="1.1" marker-end="url(#ar9)" fill="none"/>
  <path d="M414 262 H516" stroke="#334155" stroke-width="1.1" marker-end="url(#ar9)" fill="none"/>
  <path d="M414 330 H516" stroke="#334155" stroke-width="1.1" marker-end="url(#ar9)" fill="none"/>

  <rect x="694" y="100" width="114" height="196" rx="5" fill="#f1f5f9" stroke="#334155"/>
  <text x="751" y="170" text-anchor="middle" font-size="12">对话样本</text>
  <text x="751" y="190" text-anchor="middle" font-size="12">＋角色标签</text>
  <text x="751" y="210" text-anchor="middle" font-size="12">＋阶段标记</text>
  <text x="751" y="230" text-anchor="middle" font-size="12">＋异常分支标记</text>
  <text x="751" y="252" text-anchor="middle" font-size="12">送工具 8 筛选</text>
  <path d="M660 198 H690" stroke="#334155" stroke-width="1.3" marker-end="url(#ar9)" fill="none"/>

  <rect x="442.0" y="162.9" width="56.0" height="20.0" fill="#ffffff" stroke="none" data-halo="1"/><text x="446" y="178" font-size="12">允许回退</text>
</svg>

图 2-10　多智能体对话生成的状态机与控制点。数据来源：招标文件 3.2.3.4.1 节第（2）条（b0968）（b0969）；控制项口径见本章表 2-47。

##### 4.3.3 智能体的职责边界与交互协议

招标文件要求基于"多智能体机制"（b0968）。多智能体须落到可验收形态，并定死三件事：各角色可见信息、可执行动作、下一发言方裁决权。任一含糊，对话易退化为同一模型换称呼自说自话。

参与一次对话生成的实体分两类。一类是**角色智能体**，按表 2-46 的剧本装配，数量与种类随场景配置而定，由场景配置决定本次启用哪些角色。另一类是**调度器**，它不是角色、不发言、不产出对话内容，职责是裁决每一轮由谁发言、本轮发言是否合法、以及对话何时结束。把裁决权从角色智能体手里收到调度器，是这套机制与"让几个模型自由聊天"的根本差别：自由聊天的对话由最健谈的那个角色带跑，而本项目需要的是对话按业务阶段推进。

**可见性隔离**是角色一致性的实现手段。各角色智能体能看到的信息范围如表 2-48。其中最关键的一条是用户角色不具备知识库检索能力：用户一旦能检索到规程与判据，它的提问会自带答案，追问与澄清环节随即失去意义，追问与澄清是多轮样本相对单轮样本的主要训练目标。

表 2-48　角色智能体的可见信息与动作集（b0967、b0968）

| 实体 | 可见信息 | 可执行动作 | 不可执行 |
|---|---|---|---|
| 用户 | 自身剧本、对话公开历史、本次场景给定的现象与业务上下文 | 陈述、回答追问、提出新诉求、确认结论 | 检索知识库、引用规程条款、给出判据 |
| 助手 | 自身剧本、对话公开历史、知识库检索结果 | 陈述、追问、检索、给结论并附依据、移交专家、声明依据不足 | 在无检索依据时给出判据性结论 |
| 专家 | 自身剧本、对话公开历史、知识库检索结果、助手的移交说明 | 给判断与依据、指出例外情形、要求补充信息 | 代替用户陈述现场事实 |
| 维修人员 | 自身剧本、对话公开历史、本次场景给定的现场状态与检修史 | 报告现场所见、反馈检查结果、给出具体数值 | 给出设计意图层面的判断 |
| 质检人员 | 自身剧本、对话公开历史、检验标准条目 | 给检验结论与判定依据、给处置意见 | 更改检验判定标准 |
| 调度人员 | 自身剧本、对话公开历史、工单与资源状态 | 安排资源与时序、确认时限 | 作技术判断 |
| 调度器（非角色） | 全部轮次、阶段标记、场景配置、剧本版本、控制项配置 | 指定发言方、拦截违规轮次、插入强制追问、判定终止、标记异常分支 | 产出对话内容 |

**交互协议**把每一轮发言约束成一条结构化消息，而不是一段自由文本。协议字段如表 2-49。设立协议的用意有两层：其一，调度器按字段裁决而不按文义猜测，裁决结果因此可复算；其二，字段本身就是对话样本的标注，阶段标记与引用依据在生成时写入，不必事后再标一遍。

表 2-49　一次发言的协议字段

| 字段 | 含义 | 由谁写入 | 调度器的校验 |
|---|---|---|---|
| 轮序 | 本轮在对话中的序号 | 调度器 | 与轮次区间配置比对 |
| 发言角色 | 本轮发言的角色标识与剧本版本 | 调度器指定 | 是否为当前阶段允许发言的角色 |
| 阶段标记 | 本轮所处的业务阶段 | 调度器 | 与上一轮阶段的迁移是否为允许迁移 |
| 动作类型 | 陈述、追问、检索、给结论、移交、声明依据不足、确认 | 角色智能体 | 是否在该角色的动作集内 |
| 内容 | 本轮发言正文 | 角色智能体 | 是否越出该角色的知识边界 |
| 引用依据 | 本轮所引知识条目的标识与版本 | 角色智能体 | 给结论类动作是否附依据 |
| 建议下一发言方 | 角色智能体对下一发言方的建议 | 角色智能体 | 仅作参考，裁决权在调度器 |
| 终止请求 | 角色智能体认为对话可以结束 | 角色智能体 | 仅作参考，终止由调度器按终止条件判定 |

最后两个字段只作参考，不构成裁决。若允许角色智能体自行指定下一发言方或自行宣布结束，对话的推进就由内容生成方自己决定，状态机形同虚设，而"控制对话轮次"与"控制终止条件"这两项要求（b0968、b0969）也就无从落实。把建议与裁决分开，建议仍然有用——它是调度器判断对话是否已经收敛的一项输入，也是分析对话为何提前收敛时的线索。

**裁决规则**只有三条，调度器逐轮按序执行：先判阶段迁移是否合法，再判动作是否在该角色动作集内，最后判内容是否越出该角色的知识边界。任何一条不通过即拦截该轮并要求重新生成；同一轮的重新生成上限为两次，两次仍不通过则终止该对话并计入失败。

失败对话不进入样本集，但其作业轨迹完整保留，用于分析是剧本配置过严还是场景配置与业务实际不符。这一条在实施中会被反复用到：首期试点批次的失败对话往往集中在某一两个场景，那通常意味着该场景的澄清清单或阶段定义需要与业务口再对一次，而不是模型能力不足。

##### 图 2-11　角色隔离、交互协议与调度器裁决

<svg viewBox="0 0 820 358" xmlns="http://www.w3.org/2000/svg"
     font-family="Noto Sans CJK SC, PingFang SC, SimHei, sans-serif" font-size="13">
  <defs>
    <marker id="ag1" markerWidth="9" markerHeight="9" refX="8" refY="4.5" orient="auto">
      <path d="M0 0 L9 4.5 L0 9 z" fill="#334155"/></marker>
    <marker id="ag2" markerWidth="9" markerHeight="9" refX="8" refY="4.5" orient="auto">
      <path d="M0 0 L9 4.5 L0 9 z" fill="#7f1d1d"/></marker>
  </defs>

  <rect x="16" y="16" width="236" height="256" rx="6" fill="#f8fafc" stroke="#94a3b8"/>
  <text x="134" y="38" text-anchor="middle" font-size="12">角色智能体（按场景配置装配）</text>
  <rect x="30" y="50" width="208" height="46" rx="4" fill="#ffffff" stroke="#334155"/>
  <text x="134" y="69" text-anchor="middle" font-size="11">用户</text>
  <text x="134" y="87" text-anchor="middle" font-size="11">只见现象与自身上下文，不可检索</text>
  <rect x="30" y="104" width="208" height="46" rx="4" fill="#ffffff" stroke="#334155"/>
  <text x="134" y="123" text-anchor="middle" font-size="11">助手</text>
  <text x="134" y="141" text-anchor="middle" font-size="11">可检索知识库，结论须附依据</text>
  <rect x="30" y="158" width="208" height="46" rx="4" fill="#ffffff" stroke="#334155"/>
  <text x="134" y="177" text-anchor="middle" font-size="11">专家</text>
  <text x="134" y="195" text-anchor="middle" font-size="11">见移交说明，给判据与例外情形</text>
  <rect x="30" y="212" width="208" height="46" rx="4" fill="#ffffff" stroke="#334155"/>
  <text x="134" y="231" text-anchor="middle" font-size="11">维修／质检／调度人员</text>
  <text x="134" y="249" text-anchor="middle" font-size="11">各见本岗信息，动作集各不相同</text>

  <line x1="268" y1="20" x2="268" y2="268" stroke="#7f1d1d" stroke-width="1.4" stroke-dasharray="6 4"/>
  <text x="268" y="288" text-anchor="middle" font-size="11">可见性隔离</text>

  <rect x="292" y="16" width="232" height="256" rx="6" fill="#eef2f7" stroke="#334155"/>
  <text x="408" y="38" text-anchor="middle" font-size="12">调度器（不发言）</text>
  <rect x="304" y="50" width="208" height="34" rx="4" fill="#ffffff" stroke="#94a3b8"/>
  <text x="408" y="71" text-anchor="middle" font-size="11">一　阶段迁移是否允许</text>
  <rect x="304" y="92" width="208" height="34" rx="4" fill="#ffffff" stroke="#94a3b8"/>
  <text x="408" y="113" text-anchor="middle" font-size="11">二　动作是否在该角色动作集内</text>
  <rect x="304" y="134" width="208" height="34" rx="4" fill="#ffffff" stroke="#94a3b8"/>
  <text x="408" y="155" text-anchor="middle" font-size="11">三　内容是否越出知识边界</text>
  <rect x="304" y="180" width="208" height="34" rx="4" fill="#f1f5f9" stroke="#94a3b8"/>
  <text x="408" y="201" text-anchor="middle" font-size="11">指定下一发言方 · 判定终止类型</text>
  <rect x="304" y="222" width="208" height="34" rx="4" fill="#f1f5f9" stroke="#94a3b8"/>
  <text x="408" y="243" text-anchor="middle" font-size="11">缺前提时插入强制追问轮</text>

  <rect x="564" y="16" width="240" height="78" rx="5" fill="#ffffff" stroke="#334155"/>
  <text x="684" y="38" text-anchor="middle" font-size="12">合法轮次入对话</text>
  <text x="684" y="58" text-anchor="middle" font-size="11">阶段标记与引用依据随轮写入</text>
  <text x="684" y="78" text-anchor="middle" font-size="11">生成时即完成标注，不事后补标</text>

  <rect x="564" y="108" width="240" height="72" rx="5" fill="#ffffff" stroke="#7f1d1d"/>
  
  
  

  <rect x="564" y="194" width="240" height="78" rx="5" fill="#f8fafc" stroke="#94a3b8"/>
  <text x="684" y="216" text-anchor="middle" font-size="12">候选对话样本</text>
  <text x="684" y="236" text-anchor="middle" font-size="11">入集与否由对话质量筛选（工具 8）</text>
  <text x="684" y="256" text-anchor="middle" font-size="11">与人工复核判定，门控不放宽</text>

  <path fill="none" d="M238 73 H292" stroke="#334155" stroke-width="1.2" marker-end="url(#ag1)"/>
  <path fill="none" d="M238 127 H292" stroke="#334155" stroke-width="1.2" marker-end="url(#ag1)"/>
  <path fill="none" d="M238 181 H292" stroke="#334155" stroke-width="1.2" marker-end="url(#ag1)"/>
  <path fill="none" d="M238 235 H292" stroke="#334155" stroke-width="1.2" marker-end="url(#ag1)"/>
  <text x="265" y="310" text-anchor="middle" font-size="11">按协议字段提交一轮发言</text>
  <path fill="none" d="M524 60 H564" stroke="#334155" stroke-width="1.4" marker-end="url(#ag1)"/>
  <path fill="none" d="M524 144 H564" stroke="#7f1d1d" stroke-width="1.3" marker-end="url(#ag2)"/>
  <path fill="none" d="M684 94 V194" stroke="#334155" stroke-width="1.3" marker-end="url(#ag1)"/>
  <path fill="none" d="M564 144 H540 V290 H408 V272" stroke="#7f1d1d" stroke-width="1.2" stroke-dasharray="4 3" marker-end="url(#ag2)"/>
  <text x="474" y="306" text-anchor="middle" font-size="11">重新生成该轮</text>

  <rect x="16" y="320" width="788" height="30" rx="5" fill="#f1f5f9" stroke="#94a3b8"/>
  <text x="410" y="340" text-anchor="middle" font-size="11">角色智能体可建议下一发言方与终止，建议仅作参考；裁决权在调度器，终止按终止条件判定</text>

  <rect x="608.0" y="114.9" width="152.0" height="20.0" fill="#ffffff" stroke="none" data-halo="1"/><text x="684" y="130" text-anchor="middle" font-size="12">违规轮次：拦截并重新生成</text>

  <rect x="625.0" y="136.0" width="118.0" height="19.0" fill="#ffffff" stroke="none" data-halo="1"/><text x="684" y="150" text-anchor="middle" font-size="11">同一轮重生成上限两次</text>

  <rect x="608.6" y="156.0" width="151.0" height="19.0" fill="#ffffff" stroke="none" data-halo="1"/><text x="684" y="170" text-anchor="middle" font-size="11">超限则终止该对话并计入失败</text>
</svg>

图 2-11　角色隔离、交互协议与调度器裁决。角色智能体按剧本产出一轮发言，调度器按三条规则裁决，违规轮次拦截重生成，合法轮次写入对话并带阶段标记与引用依据。数据来源：招标文件 3.2.3.4.1 节第（1）（2）条（b0967）（b0968）（b0969）；可见信息与动作集见本章表 2-48，协议字段见表 2-49。

**可重放**是这套机制接受核查的方式。一次对话生成作业的全部决定因素是四项版本与一个随机种子：角色剧本版本、场景配置版本、模板库版本、所用模型的网关标识与版本，以及本次作业的随机种子。五项随作业记录留存，使任何一条对话样本都能在原条件下重跑一遍并比对差异。甲方对某条样本提出疑问时，重放是比解释更有效的回应方式。

##### 4.3.4 六项控制的可验证判据

表 2-47 给的是六项控制的配置项，配置本身不说明控制是否起作用。六项各自的观测量、基线、测量方法与不达标时的回退如表 2-50，作为"能够控制"一条的验收判据（b0968、b0969）。

基线的取法统一为：首期以试点批次的实测值作为基线并写入测试报告，此后各批次与基线比对，目标值为随批次推进逐步趋向表中所列水平。首期试点批次的规模与场景分布在实施方案中约定。本项目开工前无同类对话样本的历史实测可依，基线因此取自首期试点批次的实测值，不取自估计值。

表 2-50　六项控制的观测量、基线与回退

| 控制项 | 观测量 | 基线与目标 | 测量方法 | 不达标时的回退 |
|---|---|---|---|---|
| 对话轮次 | 轮次区间符合率：轮次落在该场景配置区间内的对话占比 | 首期取试点批次实测值为基线，目标趋向 0.95 | 按场景分别统计，过早收敛与未收敛两类分列计数，不合并成一个数 | 低于基线时暂停该场景的批量生成，回看轮次区间与终止条件配置是否与该场景实际不符，调整配置后重跑试点批次 |
| 话题流转 | 阶段完整度：对话实际经过的阶段数与该场景要求阶段数之比；并记禁止迁移的拦截次数 | 阶段完整度首期基线取试点实测值，目标趋向 0.90 | 按阶段标记统计，逐场景出分布；拦截次数按拦截原因分类计数 | 阶段完整度低于基线时回看状态机的允许迁移表，必要时为该场景单独配置迁移规则，而不是放宽通用规则 |
| 追问策略 | 关键前提未给出时的追问触发率；同一前提追问超限的对话占比 | 触发率首期基线取试点实测值，目标趋向 0.95；超限占比目标不高于 0.05 | 以场景澄清清单为比对基准，逐条前提核对是否发生过追问 | 触发率低于基线时检查强制追问环节（见本章 4.3.8 节第 4 步）是否被场景配置绕过；超限占比偏高时回看追问上限设置与用户角色的信息释放节奏 |
| 澄清机制 | 澄清清单覆盖率：场景要求澄清的前提中实际被问到的比例 | 首期基线取试点实测值，目标趋向 0.95 | 逐对话按清单逐项核对，未覆盖项记入"前提不全"并进复核 | 低于基线时，先核对澄清清单本身是否包含了该场景实际无法在对话中确认的前提；确属工具问题的调整强制追问的触发条件 |
| 终止条件 | 终止类型标记与人工复核判定的一致率 | 首期基线取试点实测值，目标趋向 0.90 | 按终止类型分层抽检，抽检比例沿用既有复核比例，由复核岗独立判定后与工具标记比对 | 一致率低于基线时暂停自动终止标记的下游使用，该批次的终止类型改由人工判定，同时回看终止条件配置 |
| 异常分支 | 异常分支样本占对话样本的比例；异常分支类型的覆盖数 | 占比落在 10%—15% 配额区间内；类型覆盖数不低于配置的异常情形数 | 按异常分支标记统计占比，按类型统计覆盖 | 占比低于下限时按缺口定向补生成，高于上限时停止该类补生成；类型覆盖不足时逐类检查该异常情形的触发条件是否可达 |

表中六项观测量的原始数据由对话生成作业直接产出，不需另做统计口径的转换，这一点在设计时是有意的：需要人工二次加工才能得到的指标，在项目后期大概率不会被持续统计。六项指标随每批次的控制项校验报告一并输出（接口见本章 4.3.9 节）。

##### 4.3.5 对话状态、上下文继承与对话内纠错

状态机管的是对话走到哪一阶段，它不记"已经问出了什么"。一段十二轮的故障排查对话里，第九轮的助手需要知道测点、工况与检修史这三项前提哪些已经拿到、哪个还悬着，否则会把问过的再问一遍，也会在前提没拿齐时就下结论。这件事由一个独立的对话状态对象承担，由调度器维护，逐轮更新，并随样本一并输出。

表 2-51　对话状态对象的字段与维护规则

| 字段 | 内容 | 由谁更新 | 更新时机 | 在样本中的用途 |
|---|---|---|---|---|
| `confirmed_premises` | 已确认前提及其取值与来源轮次 | 调度器 | 角色给出前提取值的当轮 | 追问触发率与澄清清单覆盖率的计算依据（见表 2-50） |
| `pending_premises` | 场景澄清清单中尚未确认的前提 | 调度器 | 每轮结束时按清单比对刷新 | 为空是正常终止的前置条件之一；非空而对话已终止的标记"前提不全" |
| `working_hypothesis` | 当前成立的判断假设及其依据引用 | 助手或专家角色写入，调度器登记 | 给出阶段性判断的当轮 | 纠错触发的比对基准；训练模型在证据变化时改判 |
| `excluded_items` | 已排除的候选项及排除理由 | 助手或专家角色写入 | 排除动作发生的当轮 | 防止同一候选被反复提出；供信息密度维度判空转轮 |
| `open_questions` | 已提出但未获回答的问题 | 调度器 | 提问当轮写入，获答当轮移除 | 同一前提追问次数的计数依据，对应追问上限 |

表 2-51　数据来源：澄清清单与追问上限的口径见本章表 2-47；观测量的计算用法见表 2-50。

上下文继承按两条规则执行。其一，角色智能体每轮可见的不是对话全文，而是该角色允许看到的公开历史加上状态对象（可见范围见表 2-48），状态对象因此是跨轮信息传递的唯一通道，角色之间不另设私下传递。其二，对话轮数超过设定阈值后做状态压缩：早于最近六轮的轮次以状态对象的摘要代替原文送入生成，原文在样本中完整保留不受影响。压缩只改变生成时的输入，不改变样本内容；压缩阈值与摘要口径记入场景配置版本，重放时按同一版本还原（重放口径见本章 4.3.3 节）。

对话内的纠错是本项目明确要生成的一类内容，不是异常。甲方的真实排查过程常有改判：用户先说"昨天报了三次"，后面想起来是前天；助手先按润滑方向判断，检索到检修记录后改判为冷却回路。模型若没见过改判，遇到证据变化时会倾向于维持先前结论。三类纠错的触发、标记与状态更新如表 2-52。纠错轨迹在样本中整段保留，纠错前的错误结论不删除——删掉就只剩一条顺畅的正确路径，这类样本的训练价值恰恰在改判这一段。纠错样本按场景设定配额，与异常分支配额分列计数，不互相充抵。

表 2-52　三类对话内纠错的触发、标记与状态更新

| 纠错类型 | 触发 | 发起角色 | 标记字段取值 | 状态对象的更新 | 不成立时的处置 |
|---|---|---|---|---|---|
| 用户改口 | 用户修正自己先前给出的前提取值 | 用户 | `correction=premise_revised`，记被修正的前提与新旧取值 | 更新 `confirmed_premises` 对应项；依赖该前提的 `working_hypothesis` 置为待复核 | 改口后未重走依赖该前提的判断的，对话标记"改判未落实"并进复核 |
| 助手自纠 | 新检索到的依据与当前假设冲突 | 助手 | `correction=hypothesis_revised`，记冲突的依据引用 | `working_hypothesis` 更新并保留历史项；原假设转入 `excluded_items` 并记排除理由 | 自纠未给出新依据引用的，该轮重新生成 |
| 专家纠正 | 移交后专家推翻助手结论 | 专家 | `correction=expert_override`，记被推翻的结论与裁决依据 | `working_hypothesis` 以专家结论替换；原结论转入 `excluded_items` | 专家结论未附依据出处的，该轮重新生成（动作集约束见表 2-48） |

表 2-52　数据来源：角色动作集与依据附带要求见本章表 2-48、表 2-49；异常分支与配额的计数口径见本章表 2-47 异常分支一行。

##### 4.3.6 七类业务场景的对话生成

招标文件要求支持围绕产品选型、设备故障诊断、工艺审查、质量检验、安全合规、合同协同和售后服务等场景生成对话（b0970）（b0971）。

七类场景的对话结构差异不小，直接套同一套配置会得到一批形似而神不似的样本。工具链按场景预置配置模板，各场景的角色组合、轮次区间、须澄清前提与业务闭环要素如表 2-53。表中"业务闭环要素"一列是对话是否合格的硬条件——缺了闭环要素的对话，在工具 8 的"业务逻辑不闭环"检测中会被判为低质。

表 2-53　七类业务场景的对话生成配置

| 场景 | 角色组合 | 轮次区间 | 须澄清的前提 | 业务闭环要素 |
|---|---|---|---|---|
| 产品选型 | 用户（矿方或销售）＋助手＋专家 | 6–12 | 工作面类型、产量或运力要求、铺设长度与倾角、采高与煤层厚度、配套设备接口参数 | 给出机型与主要配置建议、说明校核结论、指出待与配套厂家确认的接口项 |
| 设备故障诊断 | 用户（矿方或服务人员）＋助手＋维修人员＋专家 | 6–12 | 设备型号与部件、报警测点与报警时间、当时工况、近期检修史 | 给出部件级判断与证据等级、处置建议与检查顺序、说明需现场确认的项 |
| 工艺审查 | 用户（工艺人员）＋助手＋专家 | 5–10 | 零件与材料、板厚与关键尺寸、加工要求符号、适用的工艺规程版本 | 给出工序顺序或审查意见、引用规程条款、指出需人工确认之处 |
| 质量检验 | 用户（检验人员）＋助手＋质检人员 | 4–8 | 检验项目与判定标准版本、被检对象批次、检验手段 | 给出判定结论与依据检验项、不合格情形的处置路径 |
| 安全合规 | 用户（作业或管理人员）＋助手＋专家 | 4–8 | 作业类型与场所、适用制度与规程版本、人员资质要求 | 给出合规结论与依据条款、不合规情形的整改要求 |
| 合同协同 | 用户（商务或法务）＋助手＋专家 | 4–8 | 合同类型与标的、适用的审查要点清单、条款版本 | 给出条款对照结论、风险条款清单与建议表述 |
| 售后服务 | 用户（矿方）＋助手＋调度人员＋维修人员 | 5–10 | 设备与服务履历、故障现象、备件需求、时间要求 | 给出响应安排与备件处置、明确责任边界与时限 |

各场景的样本按四大数据域归集：产品选型归供需计划与产品工艺设计域，工艺审查与质量检验归产品工艺设计与质量域，设备故障诊断与售后服务归制造过程与质量域，安全合规与合同协同按内容归属分流。各场景的业务做法以场景验证方案相关章节为准；本节定的是对话样本的生成配置。

##### 4.3.7 对话样本的字段与样例

对话样本的字段定义如表 2-54。

表 2-54　多轮对话样本字段定义

| 字段 | 说明 |
|---|---|
| dialog_id | 对话唯一标识 |
| scene_code / task_type | 业务场景与任务类型 |
| source_type | 来源类型：模拟生成／工单转写 |
| roles | 参与角色清单，含角色标识与剧本版本 |
| turns | 对话轮数组，每轮含轮序、发言角色、内容、所处阶段标记、本轮引用的知识依据 |
| closure | 业务闭环要素的满足情况，逐项标记 |
| anomaly_branch | 异常分支类型，无则为空 |
| termination | 终止类型：正常终止／依据不足终止／超范围终止／超轮次终止 |
| quality_score | 七维评分结果，由工具 8 写入 |
| desensitize_record | 脱敏记录标识，由工具 7 写入（转写样本） |
| lineage | 血缘信息，口径同表 2-7 |

一段设备故障诊断场景的模拟对话样例（节选，共 9 轮，此处取前 6 轮）：

| 轮次 | 角色 | 发言 |
|---|---|---|
| 1 | 用户 | 我们这台刮板机的减速器最近老是报警，油温高，井下师傅说摸着也烫，这是不是要坏了？ |
| 2 | 助手 | 需要先确认几项信息才能判断。请问这台设备的型号和出厂编号是多少？报警来自哪一个测点，是油池温度还是轴承温度？最近一次报警是什么时候？ |
| 3 | 用户 | 型号我得查一下，编号在铭牌上。报警就显示"减速器温度高"，具体是哪个点我不清楚。昨天班上报了三次。 |
| 4 | 助手 | 温度报警的测点位置会影响判断方向，建议从远程运维平台的测点配置里确认具体测点。在确认之前，还需要两项信息：昨天这三次报警时设备的运行工况是什么——是正常割煤、还是空载或者带载启动？另外，这台减速器最近三个月有没有做过检修或者换油？ |
| 5 | 用户 | 昨天是正常生产，每班割五六刀。换油的事我问问机电队，印象里年初换过一次。 |
| 6 | 维修人员 | 我这边查了，报警测点是油池温度，昨天三次报警都在交班后一小时内出现，当时振动值在正常范围。年初换油是在一月，到现在运行了大概两千六百小时。 |

样例核对要点：助手首轮先问型号／测点／工况／检修史（澄清清单）；用户回答不完整，符合知识边界；维修角色补具体数值，信息递进而非一次给齐。

##### 4.3.8 处理流程

工具 6 的作业流程按七步推进，如表 2-55。

表 2-55　对话模拟生成工具链的处理流程

| 步 | 输入 | 动作 | 产出 | 质检点 | 异常处置 |
|---|---|---|---|---|---|
| 1 | 场景编码、问题种子 | 选取场景配置与角色剧本版本，装配智能体 | 对话作业实例 | 剧本版本是否为生效版本 | 使用已回滚版本的作业不予创建 |
| 2 | 作业实例 | 调度器按状态机推进，逐轮指定发言角色 | 轮次序列 | 发言角色是否符合状态机允许 | 禁止迁移即拦截并重新生成该轮 |
| 3 | 当前轮上下文、角色剧本 | 角色智能体生成本轮发言；需要依据时调用检索 | 本轮内容与引用依据 | 是否越出该角色知识边界 | 越界内容重新生成，两次仍越界则终止该对话并计入失败 |
| 4 | 已生成轮次 | 校验澄清清单覆盖情况 | 前提覆盖结果 | 场景要求的前提是否已问全 | 未问全且未达轮次上限时，调度器强制插入追问轮 |
| 5 | 对话全文 | 判定终止类型并执行收尾 | 终止标记 | 轮次是否落在区间内 | 过早收敛或未收敛的对话打标并进复核 |
| 6 | 对话全文 | 校验业务闭环要素逐项满足情况 | 闭环标记 | 关键闭环要素是否缺失 | 缺关键要素的对话退回第 2 步补生成 |
| 7 | 合格对话 | 写入角色标签、阶段标记、异常分支标记与血缘，送工具 8 | 对话样本 | 字段完整性、异常分支配额 | 配额未达标时按缺口定向补生成 |

第 4 步的强制追问是这条流程中唯一由调度器主动干预对话内容的环节。设置它的理由是：模型倾向于尽快给出结论，若不强制，故障排查对话易两三轮收尾；强制追问用于训练「先问清前提」。

##### 4.3.9 接口与验收口径

表 2-56　对话模拟生成工具链的接口

| 接口 | 方法 | 入参要点 | 出参要点 |
|---|---|---|---|
| 角色剧本注册与发布 | POST | 角色定义五项、场景适用范围、目标发布态 | 剧本标识与版本、校验结果 |
| 场景配置管理 | POST／GET | 场景编码、角色组合、轮次区间、澄清清单、闭环要素 | 配置版本标识 |
| 对话生成任务创建 | POST | 场景范围、问题种子集合、剧本版本、异常分支配额、目标条数 | 任务标识、预估条数与消耗 |
| 任务状态查询 | GET | 任务标识 | 进度、生成条数、拦截与重生成统计 |
| 对话样本获取 | GET | 任务标识、过滤条件、分页或流式 | 符合表 2-54 的样本，支持 JSON／JSONL／Parquet |
| 闭环与控制项校验报告 | GET | 任务标识 | 闭环要素满足率、过早收敛与未收敛比例、禁止迁移拦截次数 |

验收口径：我方提供七类场景各不少于 2 段完整对话的演示样例（含异常分支样例不少于 3 段）、角色剧本与场景配置说明、接口说明、测试报告。测试报告须给出各场景的闭环要素满足率、澄清清单覆盖率、过早收敛与未收敛比例实测值，以及一次剧本版本变更前后的样本对比。
##### 4.3.10 人工介入点与判定权归属

本工具链产出的是**候选**对话样本，不是可入集样本。判定权的归属如下：哪些判断由工具作出、哪些保留给人，以及引入多智能体后这条界线的位置。

引入多智能体后界线不变。对话样本能否进入数据集，判定依据仍然是对话质量筛选工具链（工具 8）的七维评分与低质判定，以及其后的人工抽检校正；工具 8 的评分维度、权重、抽检比例与低质判定阈值不因为上游改用多智能体生成而调整。工具 6 的调度器只负责生成过程是否合规，不负责样本质量是否合格，两者是两道独立的关口，前一道通过不代表后一道可以省略。

本工具链涉及的人工介入点有五处，见表 2-57。五处之中，第一处与第五处是策略性的，走策略变更会签；其余三处是作业性的，走复核与裁决队列。两类的区别在于前者改变的是此后全部样本的生成口径，后者只处置当前这一批。

表 2-57　对话模拟生成环节的人工介入点

| 介入点 | 触发条件 | 承办 | 判定内容 | 留痕 | 引入智能体后有无变化 |
|---|---|---|---|---|---|
| 剧本与场景配置的发布 | 新建或修订角色剧本、场景配置、控制项配置 | 项目组与甲方业务口会签 | 角色知识边界是否符合业务实际；澄清清单是否可在对话中确认；轮次区间是否合理 | 配置版本号、变更项、会签意见、回滚路径 | 无变化 |
| 过早收敛与未收敛样本的复核 | 轮次落在配置区间之外 | 复核岗 | 该对话是内容问题还是配置问题 | 原标记、复核判定、处置去向 | 无变化 |
| 异常终止样本的归池确认 | 终止类型为依据不足或超出授权 | 复核岗 | 是否作为"拒答与转交"类样本保留 | 终止类型、归池结论、理由 | 无变化 |
| 失败对话的归因确认 | 同一轮重生成两次仍不通过 | 复核岗，必要时转业务口 | 属剧本过严、场景配置不符，还是生成质量问题 | 作业轨迹、拦截原因分类、归因结论 | 无变化 |
| 控制项阈值与配额的调整 | 表 2-50 任一观测量持续低于基线 | 项目组与甲方业务口会签 | 调整配置还是调整目标，调整幅度与生效范围 | 调整前后取值、依据的实测数据、生效批次、回滚路径 | 无变化 |

剧本库与场景配置的改进是有边界的迭代，不是自行演化。路径固定为四步：质量筛选与控制项校验报告产出改进建议，复核与业务口形成会签意见，发布新版本的剧本库或场景配置并登记版本号与回滚路径，此后生成的样本记录新版本标识。既有样本不因剧本改版而回溯重写，需要对比新旧剧本效果时采用重放方式产出对照批次，两批样本分别标记剧本版本后比较，而不是把旧样本改成新口径。回滚的触发判据写在发版说明里，回滚后在途作业按当前批次完成、下一批次起使用回退版本。

还有一处范围需要界定：本工具链中的智能体用于项目组的加工生产作业，产出的是数据集样本。它不构成交付给甲方的智能体应用，也不替代甲方场景中的任何业务系统。本包的交付范围是数据集加工生产、质量评测与场景验证服务。

##### 4.3.11 任务创建入参契约、调用样例与异常回退

本工具的入参契约比其余七个多一组：角色与控制项配置。六项控制的配置口径见本章表 2-47，其可验证判据见表 2-50；本小节给出接口形态与异常码。

表 2-58　工具 6 的任务创建入参契约

| 字段 | 类型 | 必填 | 缺省与约束 |
|---|---|---|---|
| `selector.scene_codes` | 列表 | 是 | 本批生成的业务场景编码（七类见本章表 2-53） |
| `selector.seed_questions` | 引用 | 是 | 问题种子集合引用与版本 |
| `params.script_version` | 引用 | 是 | 角色剧本版本；须为生效版本，已回滚版本不予创建作业 |
| `params.scene_config_version` | 引用 | 是 | 场景配置版本，含角色组合、轮次区间、澄清清单与闭环要素 |
| `params.control_overrides` | 结构 | 否 | 六项控制的覆盖项（见本章表 2-47），缺省取场景配置中的取值 |
| `params.anomaly_quota` | 结构 | 否 | 异常分支配额，缺省取 10%—15% 区间的中值 |
| `params.target_count` | 整数 | 是 | 本批目标条数 |
| `params.random_seed` | 整数 | 否 | 重放用随机种子；缺省由工具生成并随作业记录留存 |

```json
{
  "client_request_id": "REQ-2027Q2-DLG-0054",
  "selector": {"scene_codes": ["设备故障诊断", "工艺审查"], "seed_questions": "QSEED-DLG-2027Q2@v1"},
  "params": {
    "script_version": "SCRIPT-2027Q2-v3",
    "scene_config_version": "SCNCFG-2027Q2-v2",
    "control_overrides": {"turn_range": {"设备故障诊断": [6, 12]}, "clarify_retry_limit": 2},
    "anomaly_quota": {"min_ratio": 0.10, "max_ratio": 0.15},
    "target_count": 8000,
    "random_seed": 20270415
  },
  "output": {"dataset_ref": "DS-SFT-2027Q2/dialog", "formats": ["jsonl"]}
}
```

受理返回除任务标识外，回传五项重放因子：剧本版本、场景配置版本、模板库版本、所用模型的网关登记标识与版本、随机种子。五项齐备是本工具可重放的前提（口径见本章 4.3.3 节）。

表 2-59　工具 6 的异常与回退

| 异常码 | 异常情形 | 错误类 | 返回要点 | 回退动作 |
|---|---|---|---|---|
| `TC06-101` | 剧本版本已回滚 | 参数类 | 所传版本、当前生效版本 | 不受理作业 |
| `TC06-401` | 场景配置的澄清清单含对话中无法确认的前提 | 策略类 | 该前提项 | 本批该场景暂停，清单经会签修订后重跑（介入点见本章表 2-57） |
| `TC06-301` | 禁止的阶段迁移 | 执行类（轮级） | 迁移方向、所依据的状态机 | 拦截并重新生成该轮，上限两次 |
| `TC06-302` | 同一轮重生成两次仍不通过 | 执行类（条目级） | 拦截原因分类 | 终止该对话并计入失败；失败对话不入集，作业轨迹保留供归因 |
| `TC06-402` | 异常分支配额未达下限 | 策略类 | 当前占比、下限 | 按缺口定向补生成，不以正常对话顶替配额 |
| `TC06-403` | 某控制项观测量持续低于基线 | 策略类 | 观测量、实测值与基线 | 按本章表 2-50 的回退列处置；调整阈值走策略会签 |

接口层面可当场核对的点有三条：受理返回含五项重放因子；取任一条对话样本按五项因子重放，产出可与原样本逐字比对；构造一个剧本版本为已回滚的请求，接口须拒绝受理。质量口径按本章 4.3.9 节执行。

#### 4.4 结构化工单转对话工具链（3.2.3.4.2）

##### 4.4.1 工单到对话的六段式转写

招标文件要求支持将结构化工单、客服记录和运维报告转换为多轮对话样本，转换过程须覆盖现象描述、澄清追问、诊断分析、处置建议、结果确认和复盘总结六个环节（b0973）（b0974）。

工单与对话的结构差异是这个工具要解决的核心问题。一张 SOS 服务工单的字段大致是：报修时间、设备与矿别、故障现象（一段文字）、派工记录、更换备件清单、处理结果、闭单时间。这些字段描述的是"发生了什么"和"做了什么"，缺的恰恰是中间那段：为什么从这个现象判断到这个部件，判断过程中确认了哪些前提。转写不是把工单字段分行排成对话的样子，而是把工单里有的事实放到对应的对话段落里，把工单里没有而对话必须有的环节按规则补出来，并明确标出哪些是补的。

六段与工单字段的映射关系如表 2-60。

表 2-60　工单字段到对话六段的映射

| 对话段落 | 工单侧来源字段 | 转写规则 | 是否需要补全 |
|---|---|---|---|
| 现象描述 | 故障现象、报修时间、设备与矿别、报警记录（若已配对） | 以用户角色第一人称改写，保留现象原文的关键词与数值，去掉工单格式化表述 | 否，以原文为准 |
| 澄清追问 | 工单中的设备型号、测点、工况、履历等结构化字段 | 把工单上"已经填好"的字段反向构造成助手的追问与用户的回答 | 部分需补：工单未记录的前提按场景澄清清单补出追问，但用户的回答标记为"推定" |
| 诊断分析 | 派工记录中的检查项、更换备件清单、处理结果 | 由备件与检查项反推判断路径，以助手或专家角色给出分析 | 是，判断依据须补全并标记 |
| 处置建议 | 处理结果、更换备件、工时记录 | 转为维修人员或专家给出的处置建议 | 否，以工单记录为准 |
| 结果确认 | 闭单时间、处理结果确认、客户签认 | 转为用户确认与反馈 | 否 |
| 复盘总结 | 返修记录、同类工单统计（若有） | 由助手给出要点总结与预防建议 | 是，须补全并标记 |

表中"是否需要补全"一列是本工具的核心约束。现象描述、处置建议、结果确认三段有工单事实支撑，直接转写；澄清追问、诊断分析、复盘总结三段在工单里基本没有，必须补。补出来的内容如果不加标记地混进训练数据，训练出来的模型会把"推定的判断路径"当成"企业的真实判断路径"，这是一种难以事后察觉的数据污染。工具链因此在样本的每一轮上标记该轮内容的事实来源等级，分三级：工单原文、工单字段推导、模型补全。三级比例在数据卡中统计，模型补全比例过高的样本不进训练集的主干部分。

##### 4.4.2 合理补全的内容与依据

招标文件要求支持对工单内容进行合理补全，生成澄清问题、判断依据、技术解释、维修建议和用户确认内容（b0975）（b0976）。

"合理"二字是约束而不是形容词。补全须有依据，依据来源有三类：场景配置中的澄清清单（补澄清问题）、领域知识库检索结果（补判断依据与技术解释）、同类工单的统计规律（补维修建议与预防要点）。无依据的补全不允许产生。若某项补全既检索不到知识依据、也没有同类工单支撑，该轮内容留空并把样本标记为"转写不完整"，进人工补充队列。五类补全内容的依据与标记方式如表 2-61。

表 2-61　五类补全内容的生成依据与可信度标记

| 补全内容 | 生成依据 | 可信度标记 | 无依据时的处理 |
|---|---|---|---|
| 澄清问题 | 场景澄清清单；工单已有字段反推 | 高（清单驱动，确定性生成） | 清单未覆盖的前提不补 |
| 判断依据 | 领域知识库检索结果，须带出处 | 按检索接地性分高／中；无出处不生成 | 留空并标记"判断依据待补" |
| 技术解释 | 手册与规程检索结果，须带出处 | 按检索接地性分高／中 | 留空 |
| 维修建议 | 工单处理结果为主，同类工单统计为辅 | 工单原文支撑为高，统计推导为中 | 以工单原文为准，不作统计推导 |
| 用户确认内容 | 工单闭单记录与客户签认 | 高 | 按"已闭单未记录确认"表述，不编造客户原话 |

补全环节的大模型调用经统一模型网关，提示词中明确约束"只能使用提供的工单字段与检索到的依据，不得引入外部常识性数值"。这条约束在实测中不能完全杜绝模型补数值，因此在样本质检阶段叠加一道规则校验：对话中出现的型号、数值、标准号逐一回查工单字段与检索依据，查不到的直接标记未接地，未接地项超过阈值的样本转人工复核。本环节的承诺落在未接地内容的可识别与可控上：未接地项按规则逐条标出并给出实测标出率，模型补全比例与未接地率在数据卡与质量报告中公布，并随提示词约束与检索覆盖的改进逐步降低。

##### 图 2-12　工单到六段对话的转写与事实来源分级

<svg viewBox="0 0 820 400" xmlns="http://www.w3.org/2000/svg"
     font-family="Noto Sans CJK SC, PingFang SC, SimHei, sans-serif" font-size="13">
  <defs>
    <marker id="ar10" markerWidth="9" markerHeight="9" refX="8" refY="4.5" orient="auto">
      <path d="M0 0 L9 4.5 L0 9 z" fill="#334155"/>
    </marker>
  </defs>
  <text x="90" y="22" text-anchor="middle" font-size="12">结构化工单字段</text>
  <rect x="12" y="32" width="156" height="28" rx="3" fill="#f1f5f9" stroke="#334155"/>
  <text x="90" y="51" text-anchor="middle" font-size="12">故障现象·报修时间</text>
  <rect x="12" y="66" width="156" height="28" rx="3" fill="#f1f5f9" stroke="#334155"/>
  <text x="90" y="85" text-anchor="middle" font-size="12">设备型号·测点·履历</text>
  <rect x="12" y="100" width="156" height="28" rx="3" fill="#f1f5f9" stroke="#334155"/>
  <text x="90" y="119" text-anchor="middle" font-size="12">派工·检查项·备件清单</text>
  <rect x="12" y="134" width="156" height="28" rx="3" fill="#f1f5f9" stroke="#334155"/>
  <text x="90" y="153" text-anchor="middle" font-size="12">处理结果·工时</text>
  <rect x="12" y="168" width="156" height="28" rx="3" fill="#f1f5f9" stroke="#334155"/>
  <text x="90" y="187" text-anchor="middle" font-size="12">闭单时间·客户签认</text>
  <rect x="12" y="202" width="156" height="28" rx="3" fill="#f1f5f9" stroke="#334155"/>
  <text x="90" y="221" text-anchor="middle" font-size="12">返修记录·同类统计</text>

  <rect x="340" y="32" width="150" height="28" rx="3" fill="#eef2f7" stroke="#334155"/>
  <text x="415" y="51" text-anchor="middle" font-size="12">① 现象描述</text>
  <rect x="340" y="66" width="150" height="28" rx="3" fill="#fefce8" stroke="#334155"/>
  <text x="415" y="85" text-anchor="middle" font-size="12">② 澄清追问</text>
  <rect x="340" y="100" width="150" height="28" rx="3" fill="#fefce8" stroke="#334155"/>
  <text x="415" y="119" text-anchor="middle" font-size="12">③ 诊断分析</text>
  <rect x="340" y="134" width="150" height="28" rx="3" fill="#eef2f7" stroke="#334155"/>
  <text x="415" y="153" text-anchor="middle" font-size="12">④ 处置建议</text>
  <rect x="340" y="168" width="150" height="28" rx="3" fill="#eef2f7" stroke="#334155"/>
  <text x="415" y="187" text-anchor="middle" font-size="12">⑤ 结果确认</text>
  <rect x="340" y="202" width="150" height="28" rx="3" fill="#fefce8" stroke="#334155"/>
  <text x="415" y="221" text-anchor="middle" font-size="12">⑥ 复盘总结</text>

  <path d="M168 46 H336" stroke="#334155" stroke-width="1.2" marker-end="url(#ar10)" fill="none"/>
  <path d="M168 80 H336" stroke="#334155" stroke-width="1.2" marker-end="url(#ar10)" fill="none"/>
  <path d="M168 114 H336" stroke="#334155" stroke-width="1.2" marker-end="url(#ar10)" fill="none"/>
  <path d="M168 148 H336" stroke="#334155" stroke-width="1.2" marker-end="url(#ar10)" fill="none"/>
  <path d="M168 182 H336" stroke="#334155" stroke-width="1.2" marker-end="url(#ar10)" fill="none"/>
  <path d="M168 216 H336" stroke="#334155" stroke-width="1.2" marker-end="url(#ar10)" fill="none"/>

  <rect x="196" y="262" width="276" height="62" rx="5" fill="#f8fafc" stroke="#334155"/>
  <text x="334" y="284" text-anchor="middle" font-size="12">补全依据：澄清清单 · 知识库检索（带出处）</text>
  <text x="334" y="303" text-anchor="middle" font-size="12">同类工单统计</text>
  <text x="334" y="319" text-anchor="middle" font-size="12">无依据不生成，留空并进人工补充队列</text>
  <path d="M334 258 V234" stroke="#334155" stroke-width="1.2" marker-end="url(#ar10)" fill="none"/>

  <rect x="540" y="32" width="150" height="198" rx="5" fill="#f1f5f9" stroke="#334155"/>
  <text x="615" y="60" text-anchor="middle" font-size="12">事实来源三级标记</text>
  <text x="556" y="88" font-size="12">一级：工单原文</text>
  <text x="556" y="112" font-size="12">二级：工单字段推导</text>
  <text x="556" y="136" font-size="12">三级：模型补全</text>
  <text x="556" y="166" font-size="11.5">逐轮标记，比例入数据卡</text>
  <text x="556" y="190" font-size="12">三级占比过高的样本</text>
  <text x="556" y="212" font-size="12">不进训练集主干</text>
  <path d="M490 130 H536" stroke="#334155" stroke-width="1.3" marker-end="url(#ar10)" fill="none"/>

  <rect x="540" y="258" width="268" height="66" rx="5" fill="#f8fafc" stroke="#334155"/>
  <text x="674" y="280" text-anchor="middle" font-size="12">规则校验：型号·数值·标准号回查</text>
  <text x="674" y="299" text-anchor="middle" font-size="12">查不到即标未接地</text>
  <text x="674" y="317" text-anchor="middle" font-size="12">未接地项超阈值转人工复核</text>
  <path d="M615 230 V254" stroke="#334155" stroke-width="1.2" marker-end="url(#ar10)" fill="none"/>

  <rect x="12" y="352" width="796" height="38" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="410" y="376" text-anchor="middle" font-size="12">浅底填充的三段（②③⑥）为需补全段落；全部样本经脱敏后方可出加工域，脱敏映射表另库存放并受访问控制</text>
</svg>

图 2-12　工单到六段对话的转写与事实来源分级。数据来源：招标文件 3.2.3.4.2 节第（1）（2）条（b0973）（b0974）（b0975）（b0976）；映射口径见本章表 2-60、表 2-61。

##### 4.4.3 原始业务数据的脱敏

招标文件要求支持对原始业务数据进行脱敏，能够识别并替换姓名、电话、编号、地点、客户名称、合同编号、设备编码等敏感信息（b0977）（b0978）。

脱敏在本工具中不是一道可选的后处理，而是样本出加工域的前置条件。工单与售后记录中含有矿方联系人姓名与电话、矿别与井口名称、合同编号、设备出厂编号。这些信息一旦进入训练数据，就随模型扩散，事后无法回收。工具链的处置原则是：敏感实体在数据进入对话构造流程之前即完成替换，替换后的样本才流向后续环节；原值与替换值的映射表单独存放，访问受控且与样本库物理隔离，仅供必要的追溯使用。

七类敏感实体的识别方法与替换策略如表 2-62。识别采用规则与模型双通道：规则通道处理有格式特征的实体（电话、合同编号、设备编码、工单号），模型通道处理无格式特征的实体（姓名、地点、客户名称），两通道结果取并集。这里取并集而不是取交集，是因为在脱敏这件事上漏掉一个的代价远高于多替换一个。

表 2-62　七类敏感实体的识别与替换

| 实体类型 | 识别方法 | 替换策略 | 一致性要求 |
|---|---|---|---|
| 姓名 | 模型命名实体识别＋人员名册比对（名册仅用于识别，不随样本留存） | 替换为角色化代称，如"机电队班长""矿方联系人" | 同一对话内同一人替换为同一代称 |
| 电话 | 规则（号段与位数模式） | 替换为固定占位格式 | 无需跨样本一致 |
| 编号（工单号、图号、炉次号等） | 规则（前缀与位数模式）＋字段位置 | 保留类型前缀，序列部分替换为伪随机序列 | 同一数据集内同一原值映射到同一伪值，保证关联关系不断 |
| 地点（矿别、井口、工作面名称） | 模型识别＋地名词典 | 替换为类型化代称，如"某矿某工作面" | 同一对话内一致 |
| 客户名称 | 模型识别＋客户名册比对 | 替换为"某矿业集团""某煤矿" | 同一数据集内一致 |
| 合同编号 | 规则 | 保留年份段，其余替换 | 同一数据集内一致 |
| 设备编码（出厂编号、资产编号） | 规则＋主数据比对 | 保留型号段，流水段替换 | 同一数据集内一致，保证同一设备的多条样本可关联 |

"一致性要求"这一列是脱敏设计中最容易被忽略而后果最明显的一项。设备编码如果每次出现都替换成不同的伪值，同一台设备的多条工单样本之间的关联关系就被切断了，而这种关联恰恰是故障分析类样本的价值所在。因此脱敏不是逐条独立替换，而是在数据集范围内维护一张稳定的映射表，保证"同一原值在同一数据集内映射到同一伪值"。映射表随数据集版本管理，数据集版本冻结后映射关系不再变动。

脱敏记录作为独立产出物输出，内容包括：样本标识、被替换实体的类型与位置、替换前后的值指纹（不记原值明文）、识别通道、识别置信度、操作时间。脱敏效果以抽检方式核验：每批次抽取不少于 100 条样本做人工核验，统计漏替换项与过度替换项。脱敏环节的承诺由四条构成：双通道取并集、抽检覆盖、漏替换项逐条记录、当批整体重跑；单批次抽检发现漏替换项时，该批次不得出加工域，须重新脱敏并复检通过后方可流转。这是本环节的回退路径，也是硬性闸门。

##### 4.4.4 处理流程与样例

工具 7 的作业流程按七步推进：工单导入与字段映射校验；可转写性判定（现象描述与处置结果两项字段齐备方可转写，否则列入不可转写清单）；敏感实体识别与替换（脱敏在转写之前完成）；按表 2-60 做六段结构映射；按表 2-61 执行补全并逐项标记依据与可信度；事实来源三级标注与规则校验回查；输出样本并附脱敏记录，送工具 8 筛选。

一条工单转写的完整样例（工单字段、转写结果与脱敏记录三段对照，内容已脱敏）：

| 工单字段 | 原始内容（脱敏后） |
|---|---|
| 工单号 | SOS-2026-0xxxxx |
| 报修时间 | 2026-07-14 06:20 |
| 设备与矿别 | 刮板输送机 SGZ-xxx/xxx，某矿业集团某矿某工作面，出厂编号 SGZ-xxxx-0xxx |
| 故障现象 | 机尾处链条跳动，有异响，运行电流偏高 |
| 派工记录 | 现场检查链条张紧度、机尾滚筒、刮板螺栓 |
| 更换备件 | 刮板螺栓 12 套，链条连接环 2 个 |
| 处理结果 | 调整链条张紧度，更换松动刮板螺栓与变形连接环，试运行正常 |
| 闭单时间 | 2026-07-14 15:40 |

转写结果（节选前四轮）：

| 轮次 | 角色 | 来源等级 | 发言 |
|---|---|---|---|
| 1 | 用户 | 一级·工单原文 | 机尾这边链条跳得厉害，还有异响，看电流也比平时高一些。 |
| 2 | 助手 | 二级·字段推导 | 请确认几项信息：这台设备的型号和出厂编号、异响是连续的还是间断的、链条张紧度最近一次调整是什么时候？ |
| 3 | 用户 | 二级·字段推导，标记推定 | 型号是 SGZ 系列，编号在铭牌上。异响是间断的，跟着链条走。张紧度上个检修周期调过。 |
| 4 | 维修人员 | 三级·模型补全，依据：维修手册检索 | 链条跳动伴异响且电流偏高，通常先查张紧度与机尾滚筒，再查刮板与连接件是否松动变形。现场测了张紧度偏松，机尾滚筒转动正常，发现 12 套刮板螺栓松动、2 个连接环变形。 |

脱敏记录（节选）：

```json
{
  "dialog_id": "DLG-SOS-2026-004471",
  "desensitize_record_id": "DSR-004471",
  "entities": [
    {"type": "客户名称", "position": "工单.设备与矿别", "channel": "模型+名册", "confidence": 0.97, "replacement": "某矿业集团某矿", "value_fingerprint": "sha256:…"},
    {"type": "地点", "position": "工单.设备与矿别", "channel": "模型+地名词典", "confidence": 0.94, "replacement": "某工作面", "value_fingerprint": "sha256:…"},
    {"type": "设备编码", "position": "工单.设备与矿别", "channel": "规则+主数据", "confidence": 1.0, "replacement": "SGZ-xxxx-0xxx", "mapping_scope": "数据集内一致", "value_fingerprint": "sha256:…"},
    {"type": "编号", "position": "工单.工单号", "channel": "规则", "confidence": 1.0, "replacement": "SOS-2026-0xxxxx", "mapping_scope": "数据集内一致", "value_fingerprint": "sha256:…"}
  ],
  "source_level_distribution": {"一级": 0.38, "二级": 0.41, "三级": 0.21},
  "ungrounded_items": 0,
  "operated_at": "2027-01-22T14:05:00+08:00"
}
```

这条样例的三级来源分布为 38%／41%／21%，模型补全部分占比约五分之一，落在可入训练集主干的范围内。设备编码的 mapping_scope 标为"数据集内一致"，因此同一台设备在其他工单转写样本中会被替换为同一个伪编码，跨样本的设备关联关系得以保留。

##### 4.4.5 接口与验收口径

表 2-63　结构化工单转对话工具链的接口

| 接口 | 方法 | 入参要点 | 出参要点 |
|---|---|---|---|
| 工单导入与字段映射 | POST | 工单数据源、字段映射配置、场景编码 | 导入条数、字段缺失统计、不可转写清单 |
| 转写任务创建 | POST | 工单范围、六段转写配置、补全策略、目标条数 | 任务标识、预估条数 |
| 对话样本获取 | GET | 任务标识、事实来源等级过滤、分页或流式 | 符合表 2-54 的样本，含逐轮来源等级标记 |
| 脱敏任务与结果 | POST／GET | 样本范围、实体类型开关、一致性映射域 | 脱敏记录、漏替换抽检结果 |
| 脱敏映射追溯 | GET | 伪值、授权凭证 | 原值（仅限授权角色，调用全程审计） |
| 人工补充队列 | GET／POST | 样本范围、补充内容 | 待补清单；补充后的样本版本 |
| 转写质量报告 | GET | 批次、场景 | 三级来源占比、未接地率、不可转写比例与原因分布 |

验收口径：我方提供演示样例一套（覆盖六段转写、三类补全依据、七类实体脱敏，含一例"无依据留空"与一例"漏替换重跑"）、输入输出样例、字段映射与脱敏配置说明、接口说明、测试报告。测试报告须给出三级来源占比、未接地率、脱敏抽检漏替换项统计、脱敏映射一致性验证记录（同一设备跨样本可关联性抽查）。
##### 4.4.6 任务创建入参契约、调用样例与异常回退

表 2-64　工具 7 的任务创建入参契约

| 字段 | 类型 | 必填 | 缺省与约束 |
|---|---|---|---|
| `selector.work_order_ids` | 列表或引用 | 是 | 工单标识集合或批次引用；来源含服务工单、售后记录、运维报告、维修闭环记录 |
| `params.mapping_version` | 引用 | 是 | 工单字段到六段对话的映射版本（口径见本章表 2-60） |
| `params.desensitize_rule_version` | 引用 | 是 | 脱敏规则版本（七类敏感实体见本章表 2-62） |
| `params.completion_policy` | 结构 | 否 | 五类补全内容的启用与可信度标记口径（见本章表 2-61），缺省按工单类型预置 |
| `params.require_six_stages` | 布尔 | 否 | 固定为真；转写过程须覆盖六段（b0974） |

```json
{
  "client_request_id": "REQ-2027Q2-WO2D-0073",
  "selector": {"work_order_ids": {"batch_ref": "WO-SOS-2027Q1", "filter": {"has_closure": true, "limit": 4000}}},
  "params": {
    "mapping_version": "WO2D-MAP-v1.4",
    "desensitize_rule_version": "DESENS-2027.01",
    "completion_policy": {"澄清问题": "生成并标记为补全", "判断依据": "仅在工单含依据时生成", "技术解释": "生成并标记为补全"},
    "require_six_stages": true
  },
  "output": {"dataset_ref": "DS-SFT-2027Q2/wo-dialog", "formats": ["jsonl"]}
}
```

表 2-65　工具 7 的异常与回退

| 异常码 | 异常情形 | 错误类 | 返回要点 | 回退动作 |
|---|---|---|---|---|
| `TC07-401` | 工单无处置结论 | 策略类 | 工单标识、缺失段 | 不转写为完整六段对话；可作为前四段的半闭环样本单独归池并标记 |
| `TC07-402` | 脱敏规则命中但无替换代号可用 | 策略类 | 实体类型、所依据规则版本 | 该条拦截不输出；不以原值输出也不以空值掩盖 |
| `TC07-201` | 工单与运维报警无事件级配对 | 输入类 | 工单标识 | 该条按无报警上下文转写，配对缺口在数据卡中如实统计 |
| `TC07-403` | 补全内容无事实来源 | 策略类 | 补全项 | 该补全项不生成；补全只在有依据时进行，可信度标记随样本留存 |
| `TC07-301` | 六段覆盖不全 | 执行类（条目级） | 缺失的段 | 该条退回补生成一次；仍不全的归入半闭环池 |
| `TC07-101` | `require_six_stages` 被置为假 | 参数类 | 该字段取值 | 拒绝受理 |

接口层面可当场核对的点：取任一条转写样本，脱敏记录逐项可查且代号映射表不随样本导出；取一条无处置结论的工单，返回须为半闭环样本并带标记，而不是补一个结论凑满六段。质量口径按本章 4.4.5 节执行。

#### 4.5 对话质量筛选工具链（3.2.3.4.3）

工具 6 的模拟生成样本与工具 7 的工单转写样本都要经本工具筛选后才进数据集，本工具是多轮对话数据的出口闸门。

##### 4.5.1 七个维度的质量评分

招标文件要求支持对话质量筛选和排序，能够从相关性、完整性、信息密度、指令遵循、业务合理性、角色一致性、安全合规性七个维度进行评分（b0980）（b0981）。

七个维度若只给一句定义就打分，不同评分者（无论是人还是模型）给出的分数不可比。工具链的做法是为每个维度定义三档评分锚点：5 分、3 分、1 分各给出可判别的描述，2 分与 4 分为相邻档之间的过渡。锚点越具体，评分的一致性越高。七个维度的定义、锚点与权重如表 2-66。

表 2-66　七个质量维度的定义、评分锚点与权重

| 维度 | 定义 | 5 分锚点 | 3 分锚点 | 1 分锚点 | 权重 |
|---|---|---|---|---|---|
| 相关性 | 各轮回复是否针对当前问题与上文 | 每轮均直接回应上一轮，无偏题 | 有一轮偏离但随后被纠回 | 多轮明显偏题或回答与问题无关 | 0.18 |
| 完整性 | 业务闭环要素是否齐备 | 场景要求的闭环要素全部满足 | 缺一项非关键闭环要素 | 缺关键闭环要素，如未给出结论或未说明依据 | 0.20 |
| 信息密度 | 单位轮次承载的有效信息量 | 每轮都推进对话，无空转轮 | 有一至两轮为客套或重复 | 多轮无实质信息，对话靠凑轮数撑长 | 0.12 |
| 指令遵循 | 是否按设定的格式与约束输出 | 格式、角色发言规则、引用要求全部符合 | 有轻微格式偏差 | 违反角色发言规则或未按要求给出依据 | 0.12 |
| 业务合理性 | 判断与处置是否符合本企业规程与工程常识 | 判断路径与处置建议均合规程，数值合量级 | 有一处表述不严谨但不影响结论 | 存在违反规程的判断或明显不合工程常识的数值 | 0.20 |
| 角色一致性 | 各角色是否守住剧本设定的知识边界与风格 | 各角色始终守界，风格区分明显 | 有一轮越界但无实质影响 | 用户角色说出只有专家才知道的判据，或角色风格混同 | 0.12 |
| 安全合规性 | 是否含敏感信息、越权内容或不当表述 | 无任何敏感信息与越权内容 | 有疑似敏感表述但不构成泄露 | 含未脱敏敏感信息或越权内容 | 0.06 |

综合得分按权重加权计算，但安全合规性维度另设否决规则：该维度得 1 分的样本无论综合得分多高，一律不进数据集并回退至脱敏环节。这种一票否决的设置只给安全合规一项，其余维度都按加权处理。其余维度低分意味着样本质量差，可以通过筛选控制；安全合规低分意味着数据有泄露风险，性质不同。

权重取值在首批样本上以人工全评结果校准：取 1,000 条样本由评分人逐条给七维分与总体可用性判断，以人工总体判断为目标拟合权重，再由业务口会签确认。校准结果与会签记录写入评分规则的版本记录。

##### 4.5.2 低质量对话的识别

招标文件要求支持低质量对话过滤，能够识别角色混乱、上下文断裂、重复应答、答非所问、敏感内容、解决方案缺失和业务逻辑不闭环七类问题（b0982）（b0983）。

七类问题与七个评分维度不是一一对应关系：评分维度回答"这条对话有多好"，低质识别回答"这条对话坏在哪里"。前者用于排序与采样，后者用于定位与修复。检测口径如表 2-67。

表 2-67　七类低质量问题的检测规则与处置

| 问题类型 | 检测通道 | 检测规则 | 处置 |
|---|---|---|---|
| 角色混乱 | 规则＋模型 | 规则查发言角色序列是否违反状态机允许的发言方；模型判某角色发言内容是否超出其知识边界 | 可定位到具体轮次的，回退至该轮重新生成；全局混乱的样本废弃 |
| 上下文断裂 | 模型 | 逐轮判断本轮是否与上文衔接；指代消解失败计为断裂 | 断裂处之前的部分保留为短对话，断裂处之后截断；截断后轮数低于下限则废弃 |
| 重复应答 | 规则 | 相邻或近邻轮次文本相似度超阈值；同一问题被重复追问超过上限 | 合并重复轮；合并后轮数低于下限则废弃 |
| 答非所问 | 模型 | 回复与上一轮问题的语义相关性低于阈值 | 该轮重新生成，重新生成两次仍不达标则废弃 |
| 敏感内容 | 规则＋模型 | 敏感实体识别规则全量扫描；模型判不当表述 | 回退至脱敏环节；重新脱敏并复检通过后方可进入 |
| 解决方案缺失 | 规则 | 闭环要素中"给出结论或处置建议"一项未满足 | 可补的转人工补充队列；工单来源确无处置记录的样本归入未闭环案例池，单独标记，不混入主干训练集 |
| 业务逻辑不闭环 | 规则＋模型 | 闭环要素逐项校验；模型判处置建议与诊断结论是否矛盾 | 结论与建议矛盾的样本废弃；仅缺非关键要素的转补充队列 |

未闭环案例池的设置理由如下。工单里确实存在至今没有闭环的案例：报修了、派工了，但最终原因没查清。这类案例不是数据缺陷，它反映的是现场的真实状况，对训练模型识别"信息不足、需要进一步确认"的情形有价值。工具链把这类样本单独归池并显式标记，既不当作合格样本混入主干，也不当作废品丢掉。

##### 4.5.3 多模型投票与人工抽检

招标文件要求支持多模型投票和人工抽检，降低单一模型评分偏差（b0984）。

单一模型打分有两种系统性偏差：一是对长回复给高分的长度偏差，二是对与自身生成风格相近的文本给高分的同源偏差。后者在本项目尤其需要防范。若用同一个模型既生成对话又评价对话，评分结果会系统性偏高，筛选等于失效。

工具链的处置是三条并行。其一，评分模型与生成模型不同源：生成任务与评分任务在模型网关侧配置为不同的模型集合，配置冲突时任务不予创建。其二，多模型投票：评分由不少于 3 个模型独立进行，综合得分取中位数而非均值，中位数对单个模型的异常打分不敏感；各模型打分差异超过阈值的样本转人工评分。其三，人工抽检校验：每批次按不低于 3% 的比例随机抽检，由评分人独立给出七维分，与模型评分比对，统计各维度的偏差方向与幅度。

抽检结果的用法不止于发现问题样本，更重要的是校正模型评分：若某一维度上模型评分系统性高于人工评分，则在该维度上对模型分做偏差修正，修正量按抽检统计确定并记入评分配置版本。这一校正每月执行一次。模型评分与人工评分的一致性以可核算的方式管理：各维度偏差按月统计并公布，经偏差修正后趋向收敛；某一维度的偏差连续两个周期超过设定幅度时，该维度改为以人工评分为准，模型分仅作参考。这是本环节的回退路径。

##### 图 2-13　双通道评分、投票与抽检校正

<svg viewBox="0 0 820 380" xmlns="http://www.w3.org/2000/svg"
     font-family="Noto Sans CJK SC, PingFang SC, SimHei, sans-serif" font-size="13">
  <defs>
    <marker id="ar11" markerWidth="9" markerHeight="9" refX="8" refY="4.5" orient="auto">
      <path d="M0 0 L9 4.5 L0 9 z" fill="#334155"/>
    </marker>
  </defs>
  <rect x="12" y="140" width="130" height="64" rx="5" fill="#f1f5f9" stroke="#334155"/>
  <text x="77" y="166" text-anchor="middle" font-size="12">待筛选对话样本</text>
  <text x="77" y="186" text-anchor="middle" font-size="12">模拟生成＋工单转写</text>

  <rect x="186" y="34" width="150" height="76" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="261" y="58" text-anchor="middle" font-size="12">规则通道</text>
  <text x="261" y="77" text-anchor="middle" font-size="12">角色序列·重复度</text>
  <text x="261" y="95" text-anchor="middle" font-size="12">闭环要素·敏感实体</text>

  <rect x="186" y="128" width="150" height="88" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="261" y="152" text-anchor="middle" font-size="12">模型通道（≥3 模型）</text>
  <text x="261" y="171" text-anchor="middle" font-size="12">七维独立打分</text>
  <text x="261" y="189" text-anchor="middle" font-size="12">取中位数</text>
  <text x="261" y="208" text-anchor="middle" font-size="12">与生成模型不同源</text>

  <path d="M142 160 C 164 160, 166 80, 182 76" stroke="#334155" stroke-width="1.2" fill="none" marker-end="url(#ar11)"/>
  <path d="M142 176 H182" stroke="#334155" stroke-width="1.2" marker-end="url(#ar11)" fill="none"/>

  <rect x="380" y="86" width="140" height="76" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="450" y="110" text-anchor="middle" font-size="12">合并判定</text>
  <text x="450" y="129" text-anchor="middle" font-size="12">加权综合得分</text>
  <text x="450" y="147" text-anchor="middle" font-size="12">安全合规一票否决</text>
  <path d="M336 76 C 356 76, 360 104, 376 110" stroke="#334155" stroke-width="1.2" fill="none" marker-end="url(#ar11)"/>
  <path d="M336 172 C 356 172, 360 142, 376 136" stroke="#334155" stroke-width="1.2" fill="none" marker-end="url(#ar11)"/>

  <rect x="380" y="190" width="140" height="58" rx="5" fill="#f8fafc" stroke="#334155"/>
  <text x="450" y="212" text-anchor="middle" font-size="12">模型间差异超阈值</text>
  <text x="450" y="232" text-anchor="middle" font-size="12">→ 转人工评分</text>
  <path d="M450 162 V186" stroke="#334155" stroke-width="1.2" marker-end="url(#ar11)" fill="none"/>

  <rect x="568" y="34" width="150" height="50" rx="5" fill="#f1f5f9" stroke="#334155"/>
  <text x="643" y="56" text-anchor="middle" font-size="12">分层采样池</text>
  <text x="643" y="74" text-anchor="middle" font-size="12">按五维配额抽取</text>
  <rect x="568" y="98" width="150" height="50" rx="5" fill="#f1f5f9" stroke="#334155"/>
  <text x="643" y="120" text-anchor="middle" font-size="12">补充队列</text>
  <text x="643" y="138" text-anchor="middle" font-size="12">可修复样本</text>
  <rect x="568" y="162" width="150" height="50" rx="5" fill="#f1f5f9" stroke="#334155"/>
  <text x="643" y="184" text-anchor="middle" font-size="12">未闭环案例池</text>
  <text x="643" y="202" text-anchor="middle" font-size="12">显式标记另存</text>
  <rect x="568" y="226" width="150" height="50" rx="5" fill="#f1f5f9" stroke="#334155"/>
  <text x="643" y="248" text-anchor="middle" font-size="12">废弃池</text>
  <text x="643" y="266" text-anchor="middle" font-size="12">原因入筛选报告</text>

  <path d="M520 112 C 544 112, 546 60, 564 58" stroke="#334155" stroke-width="1.2" fill="none" marker-end="url(#ar11)"/>
  <path d="M520 122 H564" stroke="#334155" stroke-width="1.2" marker-end="url(#ar11)" fill="none"/>
  <path d="M520 134 C 544 134, 546 184, 564 186" stroke="#334155" stroke-width="1.2" fill="none" marker-end="url(#ar11)"/>
  <path d="M520 146 C 540 146, 546 248, 564 250" stroke="#334155" stroke-width="1.2" fill="none" marker-end="url(#ar11)"/>

  <rect x="12" y="300" width="796" height="66" rx="5" fill="#f8fafc" stroke="#334155"/>
  <text x="410" y="322" text-anchor="middle" font-size="12">人工抽检：每批次不低于 3% 随机抽检，逐维比对模型分与人工分，统计偏差方向与幅度</text>
  <text x="410" y="341" text-anchor="middle" font-size="12">校正：按月对模型分做偏差修正，修正量记入评分配置版本</text>
  <text x="410" y="359" text-anchor="middle" font-size="12">回退：某维度偏差连续两周期超设定幅度，该维度改以人工评分为准，模型分仅作参考</text>
  <path d="M450 248 V296" stroke="#334155" stroke-width="1" stroke-dasharray="4 3" marker-end="url(#ar11)" fill="none"/>
  <path d="M261 216 C 230 250, 220 270, 240 296" stroke="#334155" stroke-width="1" fill="none" stroke-dasharray="4 3" marker-end="url(#ar11)"/>
</svg>

图 2-13　双通道评分、投票与抽检校正。数据来源：招标文件 3.2.3.4.3 节第（1）（3）条（b0980）（b0981）（b0984）；维度与权重见本章表 2-66。

##### 4.5.4 分层采样

招标文件要求支持按分数、场景、任务类型、难度和来源分层采样，形成均衡对话训练集（b0985）（b0986）。

分层采样解决的是分布失衡。若只按分数从高到低取，会得到一批集中在少数几个容易生成的场景上的高分样本：产品选型与制度问答类对话容易生成得好，故障诊断类不容易，按分排序的结果就是故障诊断类样本被挤出去。而故障诊断恰恰是本项目最需要的一类。

五个分层维度的配额设定方式如表 2-68。配额不是一次定死：首轮按表中口径设定，每一轮采样完成后统计实际分布与目标分布的偏差，偏差超过设定幅度的层在下一轮优先补生成。

表 2-68　分层采样的五个维度与配额口径

| 分层维度 | 分层方式 | 配额口径 | 偏差处置 |
|---|---|---|---|
| 分数 | 按综合得分分四档：优（4.5 及以上）、良（4.0–4.5）、中（3.5–4.0）、低（3.5 以下） | 优良两档合计不低于 70%；中档保留不超过 30%；低档不入训练集 | 优档占比过高说明生成偏易，须提高难度配置 |
| 场景 | 七类业务场景 | 按场景对数据集的需求强度分配，故障诊断与工艺审查两类各不低于 20% | 单一场景占比超过 30% 时下一轮限额 |
| 任务类型 | 咨询类、诊断类、审查类、协同类 | 诊断类与审查类合计不低于 55% | 同上 |
| 难度 | 按澄清前提数量与推理步数分三档 | 中高难度合计不低于 60% | 低难度占比超限时下一轮提高难度配置 |
| 来源 | 模拟生成／工单转写 | 工单转写占比不低于 30%，按场景分别设定；工单可用量不足时如实记录缺口，不以模拟样本充抵 | 转写占比不达标的场景在数据卡中标注覆盖缺口 |

来源一行的口径如下：工单转写样本的上限由甲方历史工单的实际可用量决定，而服务工单与运维报警之间的事件级配对本身需要回填建立。因此"工单转写占比不低于 30%"是一个目标口径而非承诺值，达不到时在数据卡上如实记录缺口与原因，不用模拟生成样本顶替数量——数据集的真实性比配比表好看更重要。

##### 4.5.5 筛选报告

招标文件要求支持输出筛选报告，包含通过率、拒绝原因、低质样本清单和修复建议（b0987）（b0988）。

筛选报告按批次生成，同时按场景、来源与数据集版本维度汇总，报告结构如表 2-69。

表 2-69　筛选报告的结构

| 报告章节 | 内容 |
|---|---|
| 批次概况 | 批次标识、样本总数、来源构成、评分配置版本、规则版本、评分模型集合 |
| 通过率 | 总体通过率、按场景／来源／难度分的通过率、与上一批次对比 |
| 七维得分分布 | 各维度得分直方图与均值、中位数；偏差修正前后对照 |
| 拒绝原因 | 按表 2-67 七类问题统计拒绝数与占比；安全合规否决单列 |
| 低质样本清单 | 逐条列样本标识、主要问题类型、问题定位到的轮次、拟处置方式 |
| 修复建议 | 按问题类型聚合的改进指向：剧本、场景配置、补全策略、脱敏规则、评分规则 |
| 分层分布 | 五个分层维度的实际分布与目标分布对照、偏差超限层清单 |
| 待补缺口 | 工单可用量不足导致的来源配比缺口、人工补充队列积压情况 |

一段筛选报告的修复建议示例（格式化节选）：

| 问题聚类 | 定位 | 指向 | 建议 |
|---|---|---|---|
| 1｜角色一致性低分集中于设备故障诊断场景（占该场景拒绝样本的 41%） | 低分样本中 34 条的问题轮次为用户角色发言轮，用户在第 2–3 轮即说出报警测点名称与振动值 | 用户角色剧本的知识边界设定过宽，允许用户知道测点级信息 | 修订用户角色剧本，将测点名称与具体数值移出用户知识边界，由维修人员角色在第 4 轮之后给出；修订后走剧本灰度流程，在 200 条样本上比对该维度得分再放量 |
| 2｜解决方案缺失集中于工单转写来源（占该来源拒绝样本的 29%） | 对应工单的处理结果字段为空或仅填"已处理" | 数据源字段完整度问题，非转写逻辑问题 | 该部分工单不进主干训练集，归入未闭环案例池；同时将字段缺失清单反馈至数据采集环节，作为工单填报质量的改进输入 |

修复建议逐条须指出"定位到哪些样本的哪一轮"与"指向哪个配置项"；不写"建议进一步优化提示词"这类无法执行的建议。每条建议须可直接对应到一项具体配置的修改。

##### 4.5.6 处理流程与样例

工具 8 的作业流程按七步推进：接收待筛选样本并校验必备字段；规则通道全量扫描（角色序列、重复度、闭环要素、敏感实体）；模型通道不少于 3 个模型独立七维打分并取中位数；按评分规则版本合并判定，安全合规维度执行否决；按表 2-67 定位低质问题并分流（重生成、截断、补充队列、未闭环案例池、废弃池）；按表 2-68 五维配额执行分层采样；生成筛选报告并更新数据卡。人工抽检与偏差校正作为旁路并行执行，按月汇总。

一条评分结果的样例（对应 4.3.4 节的设备故障诊断对话）：

```json
{
  "dialog_id": "DLG-SIM-ZBJK-2027Q1-002286",
  "rule_channel": {"role_sequence_valid": true, "repetition_max_sim": 0.41, "closure": {"部件级判断": true, "证据等级": true, "处置建议": true, "检查顺序": true, "需现场确认项": true}, "sensitive_hits": 0},
  "model_channel": {
    "models": 3,
    "per_dimension_median": {"相关性": 4.7, "完整性": 4.6, "信息密度": 4.3, "指令遵循": 4.8, "业务合理性": 4.4, "角色一致性": 4.5, "安全合规性": 5.0},
    "max_inter_model_gap": 0.7
  },
  "weighted_score": 4.56,
  "grade": "优",
  "veto": false,
  "issues": [],
  "stratify_tags": {"场景": "设备故障诊断", "任务类型": "诊断类", "难度": "高", "来源": "模拟生成"},
  "sampling_result": "入选",
  "human_audit": {"sampled": true, "auditor_role": "评分人", "per_dimension": {"相关性": 4.5, "完整性": 4.5, "信息密度": 4.0, "指令遵循": 5.0, "业务合理性": 4.0, "角色一致性": 4.5, "安全合规性": 5.0}, "max_deviation_dimension": "业务合理性", "deviation": 0.4}
}
```

这条样例的人工抽检结果显示"业务合理性"维度模型分高于人工分 0.4 分。单条偏差不作处理，按月汇总后若该维度偏差方向一致且幅度超过设定值，则对该维度的模型分统一做偏差修正；连续两个周期超限则该维度改以人工评分为准。该条体现 4.5.3 节校正与回退：单条偏差汇总后超限则修正模型分或改以人工评分为准。

一条低质样本清单行的样例：

| 样本标识 | 综合分 | 主要问题 | 问题轮次 | 定位说明 | 拟处置 |
|---|---|---|---|---|---|
| DLG-SIM-ZBJK-2027Q1-002519 | 3.1 | 角色一致性 | 第 3 轮 | 用户角色说出"油池温度测点报 78 度"，测点名称与具体数值超出用户知识边界 | 回退至第 3 轮重新生成；该原因累计后触发剧本修订 |
| DLG-SOS-2026-004503 | 2.8 | 解决方案缺失 | 第 6 轮 | 对应工单处理结果字段为"已处理"，无具体处置内容，复盘段无依据可补 | 归入未闭环案例池并显式标记；字段缺失反馈至采集环节 |

##### 4.5.7 接口与验收口径

表 2-70　对话质量筛选工具链的接口

| 接口 | 方法 | 入参要点 | 出参要点 |
|---|---|---|---|
| 评分规则注册与发布 | POST | 七维定义与锚点、权重、否决规则、目标发布态 | 规则版本标识、校验结果 |
| 筛选任务创建 | POST | 样本范围、评分规则版本、评分模型集合、抽检比例 | 任务标识、预估消耗 |
| 评分结果获取 | GET | 任务标识、得分区间过滤、分页或流式 | 七维分、综合分、各模型原始分、问题类型标记 |
| 低质样本清单 | GET | 任务标识、问题类型过滤 | 样本标识、问题轮次、拟处置方式 |
| 人工评分提交 | POST | 样本标识、七维人工分、评分人角色 | 入库结果、与模型分的偏差 |
| 偏差统计与修正 | GET／POST | 统计周期、维度 | 各维度偏差方向与幅度；修正量写入结果 |
| 分层采样执行 | POST | 配额配置、目标条数、偏差容许 | 采样结果、实际与目标分布对照 |
| 筛选报告导出 | GET | 批次／场景／来源／数据集版本 | 符合表 2-69 结构的报告 |

验收口径：我方提供演示样例一套（覆盖七维评分、七类低质识别、三模型投票、人工抽检比对、分层采样与一份完整筛选报告）、输入输出样例、评分规则与配额配置说明、接口说明、测试报告。测试报告须给出权重校准记录与业务口会签证明、模型分与人工分的逐维偏差实测值、一次偏差修正的前后对照，以及一次分层偏差超限后的补生成记录。
##### 4.5.8 任务创建入参契约、调用样例与异常回退

本工具是对话类样本进入数据集前的最后一道，契约上要求出参必须给出逐维评分与低质类型，不接受只回一个总分。只给总分的接口无法支撑返工——不知道是哪一维不合格，就不知道该退回哪一个上游环节。

表 2-71　工具 8 的任务创建入参契约

| 字段 | 类型 | 必填 | 缺省与约束 |
|---|---|---|---|
| `selector.dialog_ids` | 列表或引用 | 是 | 待筛选对话集合；含模拟生成与工单转写两类来源 |
| `params.scoring_rule_version` | 引用 | 是 | 七维评分规则与权重版本（见本章表 2-66） |
| `params.channels` | 结构 | 否 | 双通道配置：规则通道与模型通道的启用与模型数，缺省模型通道不少于三个并取中位数 |
| `params.low_quality_rules_version` | 引用 | 是 | 七类低质问题的检测规则版本（见本章表 2-67） |
| `params.stratified_sampling` | 结构 | 否 | 分层采样配置（五个维度见本章表 2-68），按分数、场景、任务类型、难度、来源分层（b0985） |
| `params.spot_check_ratio` | 小数 | 否 | 抽检校正比例，缺省取当前门限值；下调须经策略会签 |

```json
{
  "client_request_id": "REQ-2027Q2-DQ-0091",
  "selector": {"dialog_ids": {"batch_ref": "DLG-2027Q2-B07"}},
  "params": {
    "scoring_rule_version": "DLGSCORE-v2.0",
    "channels": {"rule": true, "model": {"enabled": true, "model_count": 3, "aggregate": "median"}},
    "low_quality_rules_version": "DLGLOW-v1.5",
    "stratified_sampling": {"dims": ["分数", "场景", "任务类型", "难度", "来源"], "target_per_cell": 120},
    "spot_check_ratio": 0.05
  },
  "output": {"dataset_ref": "DS-SFT-2027Q2/dialog-selected", "formats": ["jsonl", "md"]}
}
```

表 2-72　工具 8 的异常与回退

| 异常码 | 异常情形 | 错误类 | 返回要点 | 回退动作 |
|---|---|---|---|---|
| `TC08-101` | 评分规则版本未经业务口会签 | 参数类 | 版本、会签状态 | 不受理；评分规则的生效以会签为前提 |
| `TC08-401` | 双通道评分分歧超限 | 策略类 | 分歧维度、两通道取值 | 该条进人工抽检校正，不按模型通道单方定分 |
| `TC08-402` | 安全合规维度不通过 | 策略类 | 维度、命中规则 | 该条否决，不因总分高而放行 |
| `TC08-403` | 某分层单元样本量不足配额 | 策略类 | 单元标识、缺口 | 如实记为覆盖不足并回传定向补生成需求，不降低该单元标准凑数 |
| `TC08-102` | 抽检比例被下调 | 参数类 | 所传比例、当前门限 | 拒绝受理；抽检比例的调整走策略会签（口径见工具链总述 4.7） |
| `TC08-404` | 低质比例骤升 | 策略类 | 比例、与近期批次比对 | 批次挂起并回看上游生成配置，不自动放行 |

接口层面可当场核对的点有两条：出参含七维逐维评分与低质类型，不只回总分；构造一个把 `spot_check_ratio` 下调到门限以下的请求，接口须拒绝受理。质量口径按本章 4.5.7 节执行。

### 5、本组工具链的共同工程约束与交付验收

本节说明八个工具链的共同约束、产能与交付验收安排，对应招标文件 3.2.3.1 节对交付清单的要求（b0917）。

#### 5.1 与相邻章节的边界

本组八个工具链与相邻章节的交接点如表 2-73。表中「相邻章节的责任」一列所列事项以相邻章节的规定为准，本章按其规定实现并提供本章各工具的产出；字段一级的交接关系见表 2-74。

表 2-73　本章与相邻章节的交接边界

| 相邻内容 | 交接点 | 本章的责任 | 相邻章节的责任 |
|---|---|---|---|
| 数据采集与预处理 | 清洗后语料与结构化业务记录的交付 | 接收已登记来源、已完成格式归一与初筛的数据 | 源系统接入、清洗去噪、敏感信息初筛 |
| 对齐与标注类工具链 | 图纸与工艺图的结构化抽取、人工标注工具与规范 | 文本与版面类文档的解析与构建 | 图纸、视频、时序类数据的对齐与抽取；标注工具与标注规范 |
| 质量与验证类工具链 | 通用接口规范、血缘字段、安全要求、验收要求 | 按其规定实现并提供本章各工具的产出 | 统一规定接口、格式、血缘、质量报告、安全与验收口径 |
| 行业大模型训练推理技术服务 | 模型网关与数据集取用 | 产出训练与评测数据，经网关调用模型能力 | 训练与推理服务、算力适配、模型接入与评测网关 |
| 数据集质量评测方案 | 数据集级质量指标与评测过程 | 提供样本级与批次级质量指标及问题样本清单 | 数据集整体的评测依据、指标体系与评测过程 |
| 数据集运营服务管理平台 | 数据集入库、版本与发布 | 按样本规范输出并携带完整血缘 | 数据集注册、审批、发布、版本与运营 |

表 2-73 定的是责任归属，交接能不能对上还要看字段。本章产出的样本由对齐与标注类工具链（工具链二）与质量与验证类工具链（工具链三）直接消费，两侧各自取用哪些字段、按什么口径取、对不上时怎么办，逐项如表 2-74。表中只列字段一级的对应关系，责任划分以表 2-73 为准。

八项血缘字段由平台公共层在各处理环节追加写入，本章各工具不自行填写；本章的责任是保证公共层取数所需的原始字段在样本上齐备、取值有效、且在样本被修订时同步更新。

表 2-74　本章产出与相邻工具链的字段级交接

| 交接方向 | 本章产出的字段 | 承接方消费该字段的环节 | 承接侧的字段与口径 | 对不上时的处置 |
|---|---|---|---|---|
| 本章 → 对齐与标注类工具链 | 样本标识与业务对象键 | 预标注取数与结果绑定 | 对象内部主键，由统一对象标识服务给出 | 未命中统一标识的样本标注为待补并附源系统编码一并交付，不以源系统编码充当对象键 |
| 本章 → 对齐与标注类工具链 | 来源映射中的源文档标识、文档版本、页码、字符区间 | 预标注与本体规则标注的证据定位 | 来源引用，取文件指纹加页行偏移 | 字符区间在该文档版本内失效的片段不交付，回查结构解析环节 |
| 本章 → 对齐与标注类工具链 | 结构置信度与样本置信度 | 置信度分级处置 | 高中低三档分级 | 分档阈值以承接侧为准；本章只提供原始分值，不预判分档 |
| 本章 → 对齐与标注类工具链 | 切分片段的要素类型与章节层级路径 | 按文档类型与是否已标注筛选待标注样本池 | 样本池筛选条件 | 要素类型不在枚举内的片段不进池，列入待归类清单 |
| 对齐与标注类工具链 → 本章 | 故障排查场景生成的对话内容 | 本章工具 6 的结构规范化、工具 8 的质量筛选 | 按表 2-54 补齐阶段标记、角色标签与闭环标记 | 缺阶段标记的对话退回补标，不直接进入筛选 |
| 本章 → 质量与验证类工具链 | 思维链样本的问题、最终答案与关键推理节点三项 | 近重检测的关键字段差异检查 | 差异检查字段集 | 比对只取这三项；推理过程全文不作为比对依据，避免同题异径被判重复 |
| 本章 → 质量与验证类工具链 | 长上下文样本的源文档标识与文档族标识 | 切分环节的同源文档归集与泄漏判定 | 同源文档按来源文档标识或文档指纹判定 | 同族文档整族同去同留，不逐份划分；族标识缺失的文档不进入切分 |
| 本章 → 质量与验证类工具链 | 工单转写样本的工单标识与所属施工号 | 泄漏判定中的同一工单 | 工单号相同或所属施工号相同 | 工单标识缺失的样本不进入切分，列入待补清单 |
| 本章 → 质量与验证类工具链 | 评测样本的题目指纹与不可逆隔离标记 | 泄漏判定中的同一评测题、基准集冻结 | 题目指纹与被保护集合归属 | 隔离标记写入失败则本次划分整体回滚，不作部分修补 |
| 本章 → 质量与验证类工具链 | 合成标记与事实来源等级 | 归因的生成批次维度、分布统计的质量等级维 | 样本节点的合成标记 | 来源等级缺失的样本按合成样本处理，并计入待补清单 |
| 本章 → 质量与验证类工具链 | 质检结论与审核状态 | 数据侧原因归因、发布前的血缘挂接检查 | 样本节点的质检结论与审核状态 | 未质检、或需审核而未审核的样本不进入发布版本 |
| 本章 → 质量与验证类工具链 | 领域、类别、长度、难度、时间、模态六项分布标签 | 分布统计 | 八维取值口径，取自数据集标准与场景判据字典 | 取值不在枚举内的计入未归类，并回查标签配置版本 |

表 2-74　数据来源：承接侧的字段与口径依对齐与标注类工具链的公共字段表与智能标注类四个工具的入参契约、质量与验证类工具链的血缘字段表、泄漏判定表与分布统计表；本章字段依表 2-7、表 2-32、表 2-41、表 2-54。

#### 5.2 产出规模与四大数据集的对账

八个工具链的产出要与四大数据集的规模目标对得上账，否则工具交付了而数据集规模落不了地。对账关系如表 2-75。表中条数为本组工具链承担的部分，其余部分由标注、合成与增强等其他环节承担，合计构成数据集总量。

表 2-75　本组工具链产出与四大数据集规模的对账

| 数据集 | 总体规模目标 | 本组承担的主要部分 | 对应工具 | 说明 |
|---|---|---|---|---|
| 预训练数据集 | 615 亿 Token（供需计划 276 亿、工艺设计 70 亿、制造过程 105 亿、质量 164 亿） | 文档类长上下文语料 | 工具 3、工具 5 | 由技术手册、标准、规程、维修手册等文档解析切分而来；文档类语料的实际 Token 量取决于可用文档体量，覆盖度在数据卡中逐域统计 |
| 指令微调数据集 | 89 万条（40／10／15／24 万条） | 推理样本与对话样本 | 工具 1、工具 2、工具 6、工具 7、工具 8 | 推理样本与对话样本按场景与数据域分配；RAG 三元组经格式转换后亦计入 |
| 强化学习偏好数据 | 6.6 万组（3.2／0.8／1／1.6 万组） | 同一问题多路径的优劣配对 | 工具 1、工具 2、工具 8 | 来自自一致性筛选的淘汰路径与优选路径配对，以及对话样本的高低分配对 |
| 基准测试数据集 | 0.95 万条（0.4／0.1／0.2／0.25 万条） | 推理评测题、RAG 评测三元组、对话评测样本 | 工具 1、工具 2、工具 4、工具 8 | 自建设之初即与训练集隔离，按来源与时间双重切分，隔离标记不可逆 |

对账中有一项需要如实说明：预训练语料的 Token 量受甲方可用文档的实际体量约束。文档解析工具链能把现有文档的结构还原出来，但不能增加文档总量。我方的做法是先完成文档资源的清点与解析覆盖度统计，按域给出可得 Token 量的实测值，与目标存在差距的域在数据卡中列明并提出补充来源建议（如外部公开标准、行业资料的合规引入），由项目组与甲方共同确定补充路径。这一口径在逐数据集的数据卡章节另有详述。

#### 5.3 八个工具在标准调用上的共同约定与差异

各工具对外提供的接口清单、任务创建入参契约、一次完整调用的样例与异常回退动作，在其所属工具小节内逐一给出。本小节给出跨工具共用的三项：八个工具在同一套标准调用上的差异、两组共用入参、异常码体例与共用异常码，供集成方一次读全。六类标准调用、八态任务状态机与错误码四分类的条款以工具链（三）第 5 节为准，本章各工具按其口径填写。

有两组入参为八个工具共用。一是客户端请求标识 `client_request_id`，口径与幂等用法见工具链（三）第 5 节；二是输出落点组 `output.dataset_ref` 与 `output.formats`，前者指向结果落点，后者指定导出格式，缺省取该任务类型的预置值。八个工具的调用样例中这两组逐条出现，样例可直接照搬使用。

接口表给出的是接口清单与出入参要点，各工具小节的入参契约与异常码给出的是接口在非理想情况下的表现。批量加工作业的非理想情况集中在四类：版本传错、素材缺失、模型网关限流、质量检查节点未过。质量检查节点是设置在数据生产流程中的检查环节，依据质量规则判断数据是否符合进入后续工序或交付的条件，未通过的批次不放行、不进入下一环节。四类的处置方式在各工具小节逐条写定，集成方按统一的错误码与回退动作对接，不为八个工具分别实现分支逻辑。

表 2-76　八个工具在六类标准调用上的差异

| 工具 | 任务粒度 | 幂等键 | 结果获取方式 | 状态回调的额外内容 |
|---|---|---|---|---|
| 1 大模型自生成思维链 | 生成批次 | 客户端请求标识＋输入清单指纹＋模板版本 | 流式，可按质量状态筛选 | 各判据淘汰数、采样组完成情况 |
| 2 人机协同思维链标注 | 标注任务批次 | 客户端请求标识＋样本范围＋派发配置 | 分页，按版本区间取差异 | 一致性快照、待仲裁条目数 |
| 3 文档切分与拼接 | 文档集合 | 客户端请求标识＋文档标识集合＋切分参数版本 | 流式 | 跨章节拼接比例、来源映射完整性 |
| 4 RAG 数据构建 | 查询集合 | 客户端请求标识＋查询集指纹＋索引配置版本 | 分页，按质量问题类型筛选 | 六项评测指标快照 |
| 5 文档结构解析 | 文档集合 | 客户端请求标识＋文件指纹集合 | 分页，按置信度分流筛选 | 退化策略命中计数 |
| 6 对话模拟生成 | 生成批次 | 客户端请求标识＋场景范围＋剧本版本＋种子集合 | 流式 | 六项控制的观测量、拦截与重生成计数 |
| 7 结构化工单转对话 | 工单批次 | 客户端请求标识＋工单标识集合＋脱敏规则版本 | 分页 | 脱敏命中计数、补全内容的可信度分布 |
| 8 对话质量筛选 | 待筛选样本批次 | 客户端请求标识＋样本集合＋评分规则版本 | 分页，按低质类型筛选 | 双通道评分一致性、低质类型分布 |

八个工具的幂等键都由客户端请求标识与输入集合指纹共同构成。只用客户端请求标识是不够的：调用方重试时常常会沿用同一个请求标识却换了输入范围，此时应当视为新任务而不是幂等命中。加上输入指纹，这种情形就能被接口自己分辨出来。

异常码按统一体例编定，形如 `TCnn-Xyy`：`nn` 为工具序号，取 01 至 08，与表 2-1 的序号一致；`X` 为错误分类位，1 为参数类、2 为输入类、3 为执行类、4 为策略类，与工具链（三）第 5 节的错误四分类一一对应；`yy` 为该分类内的顺序号。调用方按分类位即可决定重试策略：参数类与输入类不重试，须改参数或补素材后重新提交；执行类按退避策略自动重试，重试上限随码返回；策略类不重试，按回退动作处置并记入批次报告。异常码、分类位与回退动作三者在各工具的异常表中逐条对应，码一经发布不改含义，新增情形取新码。

八个工具共用的异常情形不在各工具表中重复列出，统一如表 2-77，码位以 `TC00` 为工具序号。

表 2-77　八个工具共用的异常码

| 异常码 | 异常情形 | 错误类 | 返回要点 | 回退动作 |
|---|---|---|---|---|
| `TC00-101` | 必填入参缺失或类型不符 | 参数类 | 缺失或不符的字段名、期望类型 | 不受理；返回全部不合格字段，不逐个往返 |
| `TC00-102` | 引用的版本不存在或处于非生效态 | 参数类 | 所传版本、当前生效版本 | 不受理；不以当前生效版本静默替代所传版本 |
| `TC00-201` | 输入集合为空或全部不可读 | 输入类 | 不可读条目数与原因分布 | 任务不启动；可读条目数低于下限时整体不受理 |
| `TC00-202` | 取数超出调用方授权范围 | 输入类 | 越权的来源标识与密级标记 | 在网关层拦截；越权请求不执行、不降级为部分返回 |
| `TC00-301` | 模型网关限流或暂时不可用 | 执行类（批次级） | 失败批次、网关状态、建议重试间隔 | 按退避策略自动重试三次；仍失败的批次挂起，已完成批次结果照常可取 |
| `TC00-302` | 输出落点不可写或配额不足 | 执行类（批次级） | 落点引用、失败原因 | 结果暂存于任务作用域，落点恢复后续写，不丢弃已产出结果 |
| `TC00-401` | 幂等命中（同一请求标识与同一输入指纹） | 策略类 | 原任务标识、原受理时间 | 返回原任务标识，不重复产出；请求标识相同而输入指纹不同的按新任务受理 |
| `TC00-402` | 质量检查节点未过，批次整体挂起 | 策略类 | 未过的门限项、实测值与基线 | 批次挂起并回传问题样本清单，不自动放行、不降低门限 |

表 2-77　数据来源：错误四分类与幂等口径依工具链（三）第 5 节；授权与密级拦截依质量与验证类工具链一节的出域控制条款。

本章八个工具的契约与异常口径取自工具链（三）第 5 节：六类标准调用、八态状态机、错误四分类与幂等口径同源，输出格式与入库口径见其 5.2，血缘字段见其 5.3。本小节与那一节出现表述差异时，以工具链（三）第 5 节为准。各工具的质量指标、基线与回退路径以本章各自小节的验收口径为准。

#### 5.4 实施准备期的资料与取数通道

本组工具链的产能取决于取数通道何时打通、基础资料何时到位。下列资料与通道在实施准备期由项目组向甲方各归口部门逐项落实，落实结果写入取数台账，台账随首批数据卡一并提交。资料到位前，相关工具按本章各节给出的可选接入路径先行建设与联调：规则类资料未到位的，先以现行电子文本抽取的草案规则运行并标注为待确认；取数接口未开通的，先以离线导出样本联调，接口开通后重放补齐。

表 2-78　实施准备期的资料与取数通道

| 序号 | 资料或通道 | 用途 | 归口提供方 |
|---|---|---|---|
| 1 | 备料分厂正式工序字典（确认版本号与 28 道工序的规范名称） | 工艺判断类样本的背景材料与规则校验依据 | 甲方工艺部门 |
| 2 | 板材备料工艺规程现行版本（含工序排序禁止条件、中性层系数分档表） | 推理样本的依据来源与规则库 | 甲方工艺部门 |
| 3 | 刮板输送机安装使用维护手册等技术手册清单与电子件 | 文档解析与长上下文语料的实际体量核算 | 甲方企业文档管理部门 |
| 4 | 企业文档、协同办公、售后服务与备件管理、远程运维四类系统的只读取数范围与接口说明 | 各工具的取数通道与字段映射 | 甲方信息化部门 |
| 5 | 历史文档资源清点结果（按类型、份数、页数、电子化程度与扫描质量分档） | 预训练语料可得 Token 量的实测与缺口统计 | 甲方各文档归口部门 |
| 6 | 甲方数据安全管理要求与敏感信息分级清单 | 脱敏规则、密级标记与授权校验的配置依据 | 甲方信息安全归口部门 |
| 7 | 人员名册与客户名册（仅用于脱敏识别，不随样本留存） | 姓名与客户名称的识别准确率 | 甲方相关部门，按最小必要范围提供 |
| 8 | 专家题库首批题目与标准答案 | 推理样本的问题来源与评测集建设 | 甲方各业务口领域专家 |
| 9 | 服务工单与运维报警的历史可用量统计及事件配对现状 | 工单转写样本的规模与来源配比口径 | 甲方售后与运维部门 |
| 10 | 七维评分规则的业务口会签意见 | 评分权重校准与规则版本确认 | 甲方各业务口 |

第 1、2、5、9 项直接影响本章若干口径的落地值（备料工序的规范名称、预训练语料可得 Token 量、工单转写占比），在材料到位前按本章给出的口径执行，到位后以实际材料替换并同步更新数据卡。各项落实进度按月在质量报告中更新；任一项在准备期未能到位时，按该项所属工具小节写明的回退路径执行，并在数据卡中如实记录覆盖范围与影响。

#### 5.5 建设与投产安排

八个工具链不是同时投产，而是按依赖顺序分三批。依赖关系决定了顺序：文档结构解析在最前（工具 5），切分拼接与 RAG 构建紧随（工具 3、工具 4），这三者投产后文档类语料与检索服务可用；思维链两个工具（工具 1、工具 2）依赖检索服务提供背景材料；对话三个工具（工具 6、工具 7、工具 8）依赖知识库检索与脱敏规则就绪。分批安排如表 2-79。

表 2-79　八个工具链的分批投产安排

| 批次 | 工具 | 前置条件 | 投产后可交付的能力 | 阶段验收内容 |
|---|---|---|---|---|
| 第一批 | 工具 5、工具 3 | 文档资源清点完成；企业文档与协同办公系统只读导出开通 | 结构化文档对象、章节树、长上下文样本 | 六项解析能力抽样准确率、七类格式导入演示、来源反查双向验证 |
| 第二批 | 工具 4、工具 1 | 第一批产出可用；统一模型网关接入可用；专家题库首批完成 | RAG 三元组与评测样本、结构化推理样本 | 六项 RAG 指标实测、四项自一致性判据校准、模板灰度与回滚演练 |
| 第三批 | 工具 2、工具 6、工具 7、工具 8 | 标注工位与评分规则会签完成；脱敏规则与甲方数据安全要求对齐；工单取数开通 | 修订后推理样本、对话样本、筛选报告 | 三粒度一致率、七类场景对话演示、脱敏抽检、筛选报告完整性 |

三批之后进入持续生产与迭代期，直至建设期结束。迭代期内每月固定执行四项动作：模板与规则的修订与灰度、模型评分偏差校正、分层分布偏差补生成、质量报告发布。四项的判据与回退路径以前文对应章节的规定为准。

#### 图 2-14　八个工具链的依赖关系与分批投产

<svg viewBox="0 0 820 320" xmlns="http://www.w3.org/2000/svg"
     font-family="Noto Sans CJK SC, PingFang SC, SimHei, sans-serif" font-size="13">
  <defs>
    <marker id="ar12" markerWidth="9" markerHeight="9" refX="8" refY="4.5" orient="auto">
      <path d="M0 0 L9 4.5 L0 9 z" fill="#334155"/>
    </marker>
  </defs>
  <rect x="12" y="30" width="236" height="250" rx="6" fill="#f8fafc" stroke="#64748b" stroke-dasharray="6 4"/>
  <text x="130" y="52" text-anchor="middle" font-size="12">第一批</text>
  <rect x="290" y="30" width="236" height="250" rx="6" fill="#f8fafc" stroke="#64748b" stroke-dasharray="6 4"/>
  <text x="408" y="52" text-anchor="middle" font-size="12">第二批</text>
  <rect x="568" y="30" width="240" height="250" rx="6" fill="#f8fafc" stroke="#64748b" stroke-dasharray="6 4"/>
  <text x="688" y="52" text-anchor="middle" font-size="12">第三批</text>

  <rect x="36" y="70" width="188" height="44" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="130" y="97" text-anchor="middle" font-size="12">工具 5　文档结构解析</text>
  <rect x="36" y="130" width="188" height="44" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="130" y="157" text-anchor="middle" font-size="12">工具 3　切分与拼接</text>
  <path d="M130 114 V126" stroke="#334155" stroke-width="1.3" marker-end="url(#ar12)" fill="none"/>
  <text x="130" y="208" text-anchor="middle" font-size="12">产出：章节树·结构化片段</text>
  <text x="130" y="230" text-anchor="middle" font-size="12">长上下文样本·来源映射表</text>

  <rect x="314" y="70" width="188" height="44" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="408" y="97" text-anchor="middle" font-size="12">工具 4　RAG 数据构建</text>
  <rect x="314" y="130" width="188" height="44" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="408" y="157" text-anchor="middle" font-size="12">工具 1　自生成思维链</text>
  <path d="M408 114 V126" stroke="#334155" stroke-width="1.3" marker-end="url(#ar12)" fill="none"/>
  <text x="408" y="208" text-anchor="middle" font-size="12">产出：三元组·评测样本</text>
  <text x="408" y="230" text-anchor="middle" font-size="12">结构化推理样本</text>
  <path d="M224 92 H310" stroke="#334155" stroke-width="1.3" marker-end="url(#ar12)" fill="none"/>
  <text x="267" y="84" text-anchor="middle" font-size="12">片段</text>
  <path d="M224 152 C 260 152, 270 100, 310 96" stroke="#334155" stroke-width="1.2" fill="none" marker-end="url(#ar12)"/>

  <rect x="592" y="70" width="192" height="40" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="688" y="95" text-anchor="middle" font-size="12">工具 2　人机协同标注</text>
  <rect x="592" y="122" width="192" height="40" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="688" y="147" text-anchor="middle" font-size="12">工具 6　对话模拟生成</text>
  <rect x="592" y="174" width="192" height="40" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="688" y="199" text-anchor="middle" font-size="12">工具 7　工单转对话</text>
  <rect x="592" y="226" width="192" height="40" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="688" y="251" text-anchor="middle" font-size="12">工具 8　对话质量筛选</text>
  <path d="M502 152 C 540 152, 550 92, 588 90" stroke="#334155" stroke-width="1.3" fill="none" marker-end="url(#ar12)"/>
  
  <path d="M502 96 C 540 96, 552 142, 588 142" stroke="#334155" stroke-width="1.2" fill="none" marker-end="url(#ar12)"/>
  
  <path d="M502 100 C 540 110, 552 194, 588 194" stroke="#334155" stroke-width="1.2" fill="none" marker-end="url(#ar12)"/>
  <path d="M688 162 V170" stroke="#334155" stroke-width="1.2" marker-end="url(#ar12)" fill="none"/>
  <path d="M688 214 V222" stroke="#334155" stroke-width="1.2" marker-end="url(#ar12)" fill="none"/>

  <rect x="12" y="292" width="796" height="26" rx="4" fill="#eef2f7" stroke="#334155"/>
  <text x="410" y="310" text-anchor="middle" font-size="12">三批投产后进入持续生产与迭代期：月度模板与规则灰度 · 评分偏差校正 · 分层偏差补生成 · 质量报告发布</text>

  <rect x="539.0" y="108.9" width="56.0" height="20.0" fill="#ffffff" stroke="none" data-halo="1"/><text x="543" y="124" font-size="12">推理样本</text>

  <rect x="516.0" y="162.9" width="56.0" height="20.0" fill="#ffffff" stroke="none" data-halo="1"/><text x="520" y="178" font-size="12">检索服务</text>
</svg>

图 2-14　八个工具链的依赖关系与分批投产。数据来源：招标文件 3.2.3.1 节交付清单（b0917）（b0918r02）（b0918r03）（b0918r04）；分批依据见本章表 2-79。

#### 5.6 交付物与验收口径汇总

通用接口、追溯与验收要求规定每个工具链须提供演示样例、输入输出样例、配置说明、接口说明与测试报告五类交付物。本组八个工具链的交付物清单与各自的关键验收内容汇总如表 2-80，便于逐项勾核。

表 2-80　八个工具链的交付物与关键验收内容

| 工具 | 演示样例 | 输入输出样例 | 配置说明 | 接口说明 | 测试报告关键内容 |
|---|---|---|---|---|---|
| 1 自生成思维链 | 模板配置至产出全流程一套 | ≥20 条 | 五维度模板配置、八项生成参数 | 表 2-13 八个接口 | 四项判据实测值、人工全检一致率、灰度与回滚演练记录 |
| 2 人机协同标注 | 双盲派发至仲裁回流全流程 | ≥20 条 | 难度分档派发、三粒度阈值 | 表 2-19 八个接口 | 三粒度一致率、仲裁率、争议原因分布、专项复核记录 |
| 3 文档切分与拼接 | 七类格式各 ≥2 份，PDF 覆盖三种成因 | ≥20 条 | 七项滑窗参数、三档窗口配置 | 表 2-29 六个接口 | 要素识别抽样准确率、待校对队列比例、来源反查核对 |
| 4 RAG 数据构建 | 索引至评测报告全流程 | ≥20 条 | 四档检索参数、八类质检阈值 | 表 2-37 八个接口 | 六项指标实测值、无依据查询拒答结果、索引重建判定记录 |
| 5 文档结构解析 | 六项解析能力各 ≥1 例 | ≥20 条 | 解析项开关、置信度阈值、切分优先级 | 表 2-42 七个接口 | 六项解析抽样准确率、低置信度占比、待确认队列处置 |
| 6 对话模拟生成 | 七类场景各 ≥2 段，异常分支 ≥3 段 | ≥20 条 | 六类角色剧本、七类场景配置 | 表 2-56 六个接口 | 闭环要素满足率、澄清清单覆盖率、收敛比例、剧本变更对比 |
| 7 工单转对话 | 六段转写、三类补全、七类脱敏各 ≥1 例 | ≥20 条 | 字段映射、补全策略、脱敏规则 | 表 2-63 七个接口 | 三级来源占比、未接地率、脱敏抽检与映射一致性验证 |
| 8 对话质量筛选 | 评分至筛选报告全流程 | ≥20 条 | 七维锚点与权重、五维配额 | 表 2-70 八个接口 | 权重校准与会签记录、逐维偏差实测、偏差修正对照、补生成记录 |

我方在本组工具链的质量指标上统一采用"基线加改进"的承诺方式，不采用固定数值的绝对承诺。理由是这些指标受输入数据质量影响显著。同样的解析能力，作用在电子版规程上和作用在二十年前的扫描件上，结果不可能相同。因此各工具的测试报告先给出在甲方真实数据上的实测基线，再给出按月或按批次的对照与改进口径，以及低于基线时的回退路径。各工具的回退路径已在前文对应章节逐一写明，均为可执行的具体动作（整批转人工复核、改以人工判定为准、退回上一稳定配置版本、批次不得出加工域），而非原则性表述。

#### 5.7 本组共同的六项数据纪律

八个工具各有自己的判据与回退，但有六件事不能各管各的：参数怎么选、哪些数据不能分开、重复怎么算、合成了多少、结果能不能重放、推理依据能不能查。六项在本节一次定清，八个工具按同一口径执行，各工具的接口与报告按本节字段上报。

**一、参数选择以对照批为依据，不以经验取值定稿。** 本章各参数表给出的是首期取值，取值的确定走同一套对照流程：在同一份校准集上跑完候选取值的对照批，比同一组指标，择优后固化并记版本。对照口径如表 2-81。候选取值少于两个的参数不走对照，直接按预置值固化并在配置说明中注明理由。

表 2-81　五类参数的对照口径

| 参数类 | 涉及的工具与表 | 候选取值 | 对照指标 | 择优规则与记录 |
|---|---|---|---|---|
| 生成参数 | 工具 1，表 2-4 | 采样温度三档、候选条数三档 | 自一致性通过率、事实匹配命中率、单条成本 | 前两项不低于基线且成本不高于基线 1.2 倍者择优；对照批号与各档实测值写入配置版本 |
| 切分参数 | 工具 3，表 2-26 | 窗口长度三档、重叠比例三档 | 窗口档位分布偏差、跨样本重复率、语义断裂检出率 | 三项中两项占优即择优；择优结果按文档类型分别固化 |
| 检索参数 | 工具 4，表 2-33 | 四档预置配置及其微调值 | 表 2-35 六项指标 | 六项中至少四项不低于当前基线方可放量，否则保持原配置 |
| 解析阈值 | 工具 5，表 2-40 | 置信度高低两档阈值各三个取值 | 六项解析抽样准确率、低置信度占比 | 以准确率达标为前提取低置信度占比最小者 |
| 评分权重 | 工具 8，表 2-66 | 由人工全评结果拟合得到的权重组 | 与人工总体可用性判断的吻合度 | 拟合结果经业务口会签后固化，会签记录随规则版本留存 |

表 2-81　数据来源：各参数的取值范围与首期口径见本章对应各表；灰度放量判据见本章 2.3.1 节与 3.4.3 节。

**二、数据家族隔离，按族划分而不按条划分。** 训练集与评测集的隔离若按单条样本随机划分，同一份手册的相邻两段、同一张工单转写出的两条对话、同一道题改写出的两个变体会分落两侧，评测结果随之虚高。隔离因此按家族执行：先归族，再整族划入一侧。四类家族的划分键如表 2-82。未完成归族的数据集不进入训练与评测划分，这是硬条件。

表 2-82　四类数据家族的划分键与隔离口径

| 家族类型 | 划分键 | 覆盖的产出物 | 隔离口径 | 归族失败时的处置 |
|---|---|---|---|---|
| 文档族 | 标准号或设备型号、文档主题、文档类型三项合成；历史版本归同一族 | 长上下文样本、检索片段、RAG 三元组 | 整族同去同留；同族文档不得跨训练与评测两侧 | 三项均缺的文档单独成族，列入数据卡待归族项 |
| 工单族 | 工单标识；所属施工号相同的工单归同一族 | 工单转写对话样本 | 同上 | 工单标识缺失的不进入划分 |
| 题目族 | 题目指纹；由同一道题改写、换数或换场景得到的变体归同一族 | 推理样本、RAG 评测样本、对话评测样本 | 同上；族内任一条进入评测集的，全族不得进入训练集 | 指纹无法计算的题目转人工归族 |
| 对象族 | 业务对象键；同一零件族的借用关系链归同一族，族关系取自去重环节的同族变体登记 | 工艺判断类推理样本、工艺审查类对话样本 | 同上 | 未命中统一对象标识的样本按待补标记，不参与本轮划分 |

表 2-82　数据来源：家族划分键与泄漏判定口径依质量与验证类工具链的泄漏判定表；文档族标识的构成规则见本章表 2-27。

**三、重复检测分四级，四级各有处置。** 重复不是一件事：同一条样本里两个片段重复、同一批次里两条样本重复、跨批次重复、跨数据集与被保护集合重复，四者的危害与处置都不同。四级口径如表 2-83。四级共用一套指纹：正文做规范化（去空白、统一全半角、去页眉页脚残留）后按段落取指纹，长文本另取段落级 n-gram 指纹，口径与表 2-34「重复拼接」一行一致。

表 2-83　重复检测的四级口径

| 级别 | 比对范围 | 判定 | 处置 | 上报字段 |
|---|---|---|---|---|
| 样本内重复 | 同一条样本的各片段之间 | 片段指纹相同，或相似度高于表 2-34 的去重阈值 | 去重保留信息量最大者；去重后长度低于下限的样本重新落窗 | 重复片段序号、保留项 |
| 批次内重复 | 同一批次的样本之间 | 样本指纹相同 | 保留一条，其余按采样配额剔除并记录 | 重复组标识、组内条数、保留条标识 |
| 跨批次重复 | 本批次与同一数据集已入库样本 | 样本指纹相同，或关键字段差异检查判为近重 | 不入库，记为跨批次重复并回查生成输入清单是否重复下发 | 命中的历史批次标识 |
| 跨集合重复 | 本批次与基准集、专家题库、评测集等被保护集合 | 题目指纹相同，或与被保护集合 n-gram 命中 | 本条不入训练集；命中记录进污染清单并逐条关闭 | 被保护集合标识、命中位置、风险等级 |

表 2-83　数据来源：指纹与近重口径依本章表 2-34 重复拼接一行；被保护集合与污染清单的处置依质量与验证类工具链的去重与污染扫描条款。

**四、合成来源逐条计量，按三级标记并设上限。** 本组八个工具的产出里，真实业务事实、由事实推导的内容、由模型补出的内容三者混在同一条样本上。不逐条标记，数据集就说不清有多少是真的。三级口径与计量方式如表 2-84。三级标记在生成时写入，不事后推断；批次与数据集两级各出一份构成统计，随数据卡发布。

表 2-84　事实来源三级的判定与计量

| 等级 | 判定 | 典型内容 | 批次上限 | 超限处置 |
|---|---|---|---|---|
| 一级·原文事实 | 内容逐字或保义取自业务记录、文档原文或检索到的依据片段，带出处 | 工单的故障现象与处理结果、手册条款、检验结论 | 不设上限 | —— |
| 二级·字段推导 | 由结构化字段按确定规则反向构造，规则可复算 | 由工单已填字段反构的澄清追问、由工序字典推出的工序归属 | 按场景设定，缺省不高于 0.45 | 超限的样本转人工复核，并回查规则是否把实质判断算成了推导 |
| 三级·模型补全 | 由模型在依据上补出，须带依据引用；无依据不生成 | 判断依据、技术解释、复盘要点 | 缺省不高于 0.25；进训练集主干的样本按不高于 0.25 执行 | 超限的样本不进主干，归入补充池并在数据卡中单列 |

表 2-84　数据来源：三级来源的定义与工单转写侧的实现见本章表 2-60、表 2-61；未接地内容的判定见本章表 2-34 引用缺失与答案幻觉两行；上限值为本方案设定的首期目标，属待验证目标，随首批实测结果调整后报招标方确认。

**五、版本重放是接受核查的方式。** 甲方对某条样本提出疑问时，重跑一遍比解释更有效。八个工具的重放因子如表 2-85。重放因子随作业记录留存，缺任何一项即判该批次不可重放，并在质量报告中单列。重放比对的口径是：在同一组因子下重跑，产出与原样本逐字段比对，差异项按字段列出；涉及模型调用的工具允许文本表述差异，但结论、引用依据与结构字段须一致，不一致即进人工核查。

表 2-85　八个工具的重放因子

| 工具 | 重放因子 | 允许差异的字段 | 须一致的字段 |
|---|---|---|---|
| 1 自生成思维链 | 模板版本、生成参数、模型网关标识与版本、输入清单指纹、随机种子 | 步骤文本表述 | 最终答案、引用依据、步数区间、判据结果 |
| 2 人机协同标注 | 样本版本区间、难度分档规则版本、仲裁规则版本、操作序列 | 无 | 全部字段（修订记录为确定性重放） |
| 3 文档切分与拼接 | 文档对象版本、切分参数版本、跨章节策略 | 无 | 全部字段 |
| 4 RAG 数据构建 | 索引配置版本、片段库版本、检索参数、模型网关标识与版本、随机种子 | 回答文本表述 | 证据集合、引用定位、接地关系、拒答判定 |
| 5 文档结构解析 | 文件指纹、解析通道配置、置信度阈值、退化策略配置 | 无 | 全部字段 |
| 6 对话模拟生成 | 剧本版本、场景配置版本、模板库版本、模型网关标识与版本、随机种子 | 各轮发言表述 | 轮次结构、阶段标记、角色序列、引用依据、终止类型 |
| 7 结构化工单转对话 | 工单快照指纹、映射版本、脱敏规则版本、补全策略、模型网关标识与版本、随机种子 | 补全内容表述 | 六段结构、来源等级标记、脱敏替换值 |
| 8 对话质量筛选 | 评分规则版本、低质规则版本、评分模型集合与版本、抽检比例、分层配额 | 单模型原始分 | 中位数综合分、否决判定、低质类型、分层归属 |

表 2-85　数据来源：工具 6 的五项重放因子口径见本章 4.3.3 节；模型标识与版本的记录口径见本章 1.2 节末段。

**六、内部推理依据可审计。** 本组工具产出的推理过程、判断依据与复盘结论，一律须可回查到一条外部依据或一条人工判定记录，三条规矩随之固定。其一，凡以专家口吻给出的判断，须有对应的标注或仲裁记录，记录中含操作人角色、时间与裁决依据引用；没有记录的不得以专家判断的形式呈现。其二，凡表述为业务实际发生结果的内容，须回指到工单、检验记录或报警日志中的具体条目；回指不到的改为条件式表述并标记为补全内容，按表 2-84 第三级计量。其三，模型对自身推理过程的说明不构成依据，依据只能是检索到的文档片段、结构化业务字段或人工判定记录三者之一。三条的校验落在表 2-6 的引用约束与表 2-34 的接地检查上，批次报告按未接地项与无记录判断两类分别统计。

### 6、三个端到端作业样例

前六节按工具分别给出设计、接口与样例。本节换一个切面：取产品选型、图纸工艺、售后维修三项本项目的真实任务，各走一遍完整作业，从输入、配置、中间产物、输出到质检逐段摆出，并各附一张失败对照表，列出这条链路上最常发生的失败情形及其去向。三例涉及的工具不同——选型例走工具 6 与工具 8，图纸工艺例走工具 1 与工具 2，售后维修例走工具 7 与工具 8——合起来覆盖本章八个工具中的六个，其余两个（工具 3 与工具 5）的产出以检索片段的形式出现在三例的中间产物里。

三例共用同一条作业链路与同一套分流规则，如图 2-15。

### 图 2-15　端到端作业的五段链路与三条分流

<svg viewBox="0 0 820 260" xmlns="http://www.w3.org/2000/svg"
     font-family="Noto Sans CJK SC, PingFang SC, SimHei, sans-serif" font-size="13">
  <defs>
    <marker id="e13a" markerWidth="9" markerHeight="9" refX="8" refY="4.5" orient="auto">
      <path d="M0 0 L9 4.5 L0 9 z" fill="#334155"/>
    </marker>
  </defs>

  <rect x="8" y="34" width="140" height="56" rx="5" fill="#f1f5f9" stroke="#334155"/>
  <text x="78" y="58" text-anchor="middle">输入</text>
  <text x="78" y="78" text-anchor="middle" font-size="12">业务记录与文档</text>

  <rect x="172" y="34" width="140" height="56" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="242" y="58" text-anchor="middle">配置</text>
  <text x="242" y="78" text-anchor="middle" font-size="12">版本与参数</text>

  <rect x="336" y="34" width="140" height="56" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="406" y="58" text-anchor="middle">中间产物</text>
  <text x="406" y="78" text-anchor="middle" font-size="12">证据与轨迹</text>

  <rect x="500" y="34" width="140" height="56" rx="5" fill="#eef2f7" stroke="#334155"/>
  <text x="570" y="58" text-anchor="middle">输出</text>
  <text x="570" y="78" text-anchor="middle" font-size="12">样本与字段</text>

  <rect x="664" y="34" width="140" height="56" rx="5" fill="#f1f5f9" stroke="#334155"/>
  <text x="734" y="58" text-anchor="middle">质检与判定</text>
  <text x="734" y="78" text-anchor="middle" font-size="12">判据与门限</text>

  <line x1="148" y1="62" x2="170" y2="62" stroke="#334155" stroke-width="1.4" marker-end="url(#e13a)"/>
  <line x1="312" y1="62" x2="334" y2="62" stroke="#334155" stroke-width="1.4" marker-end="url(#e13a)"/>
  <line x1="476" y1="62" x2="498" y2="62" stroke="#334155" stroke-width="1.4" marker-end="url(#e13a)"/>
  <line x1="640" y1="62" x2="662" y2="62" stroke="#334155" stroke-width="1.4" marker-end="url(#e13a)"/>

  <path d="M734 90 V124 H140" fill="none" stroke="#334155" stroke-width="1.4"/>
  <line x1="140" y1="124" x2="140" y2="166" stroke="#334155" stroke-width="1.4" marker-end="url(#e13a)"/>
  <line x1="400" y1="124" x2="400" y2="166" stroke="#334155" stroke-width="1.4" marker-end="url(#e13a)"/>
  <line x1="660" y1="124" x2="660" y2="166" stroke="#334155" stroke-width="1.4" marker-end="url(#e13a)"/>

  <rect x="40" y="168" width="200" height="48" rx="5" fill="#f8fafc" stroke="#334155"/>
  <text x="140" y="198" text-anchor="middle" font-size="12">合格　入采纳池</text>

  <rect x="300" y="168" width="200" height="48" rx="5" fill="#f8fafc" stroke="#334155"/>
  <text x="400" y="198" text-anchor="middle" font-size="12">不合格　按失败对照回退</text>

  <rect x="560" y="168" width="200" height="48" rx="5" fill="#f8fafc" stroke="#334155"/>
  <text x="660" y="198" text-anchor="middle" font-size="12">存疑　转人工复核</text>

  <text x="410" y="240" text-anchor="middle" font-size="12">三条分流的判据见各工具质检节；回退动作与异常码见各工具的异常回退表</text>
</svg>

图 2-15　端到端作业的五段链路与三条分流。数据来源：五段划分依本章各工具的处理流程表（表 2-12、表 2-18、表 2-36、表 2-55）；分流判据依表 2-8、表 2-34、表 2-67；回退动作与异常码依本章各工具的异常回退表。

#### 6.1 产品选型：刮板输送机选型咨询对话

本例走对话模拟生成（工具 6）与对话质量筛选（工具 8），产出指令微调数据集供需计划域与产品工艺设计域的对话样本。选型是本项目中电子留痕最薄弱的一类业务：接口参数常在多方协商中确定，过程不落盘，只能按角色剧本构造。五段如表 2-86。

表 2-86　产品选型作业的五段内容

| 环节 | 本例的具体内容 | 产出物与关键字段 | 质检点与判定 |
|---|---|---|---|
| 输入 | 问题种子一条（某工作面刮板输送机选型咨询）；选型校核知识片段（工作面类型分化规则、链条安全系数口径）；配套设备接口参数清单 | 种子集引用与版本；检索片段的源文档标识、版本、页码、字符区间 | 种子表述完整性；是否与评测集题目同族（题目族判定见表 2-82） |
| 配置 | 场景配置版本（角色组合为用户、助手、专家；轮次区间 6–12；澄清清单五项；闭环要素三项）；角色剧本版本；异常分支配额 10%–15%；随机种子 | 五项重放因子（表 2-85 工具 6 一行） | 剧本与场景配置是否为生效版本；重放因子是否齐备 |
| 中间产物 | 对话状态对象逐轮快照（第 5 轮时已确认前提 3 项、待确认 2 项）；检索证据 4 条带出处；调度器拦截记录 1 次 | `confirmed_premises`、`pending_premises`、`open_questions`、引用依据项、拦截原因分类 | 阶段迁移是否合法；发言是否越出角色知识边界；澄清清单覆盖情况 |
| 输出 | 9 轮对话样本，阶段标记覆盖六段，引用依据 4 项，闭环要素三项满足，终止类型为正常终止 | 符合表 2-54 的样本；`closure` 逐项标记；`termination` | 字段完整性；闭环要素是否逐项满足；轮次是否落在区间内 |
| 质检 | 规则通道（角色序列合法、近邻轮最大相似度 0.33、敏感命中 0）；模型通道三模型七维中位数，综合分 4.4，分层归属为「优档·产品选型·咨询类·中难度·模拟生成」 | 七维分、综合分、`grade`、`stratify_tags`、`sampling_result` | 综合分档位；安全合规维度是否触发否决；分层配额是否超限 |

表 2-86　数据来源：场景配置与闭环要素见本章表 2-53 产品选型一行；对话状态字段见表 2-51；评分维度与分层口径见表 2-66、表 2-68。

表 2-87　产品选型作业的失败对照

| 失败情形 | 暴露在哪一段 | 判定与异常码 | 回退动作 | 这条样本的去向 |
|---|---|---|---|---|
| 用户角色在第 3 轮说出链条安全系数判据 | 中间产物 | 越出该角色知识边界，调度器拦截该轮；两次重生成仍越界按 `TC06-302` 处置 | 该轮重新生成，上限两次 | 重生成通过的照常入链路；两次仍不通过的终止该对话并计入失败，作业轨迹保留供归因 |
| 澄清清单第四项「配套设备接口参数」未问到即给出机型建议 | 输出 | 澄清清单覆盖不全，标记「前提不全」 | 未达轮次上限的由调度器强制插入追问轮；已终止的进复核队列 | 补问后闭环的入采纳池；复核判为场景配置问题的，清单经会签修订后重跑该场景 |
| 专家角色给出机型建议但未附依据出处 | 输出 | 给结论类动作未附依据，违反动作集约束 | 该轮重新生成 | 重生成通过后入链路；连续多条命中的，回查剧本中专家角色的引证要求 |
| 校核结论引用了已作废版本的选型知识条目 | 中间产物 | 检索侧生效状态过滤未生效，按 `TC04-403` 处置 | 该条三元组单独标记，不进入指令微调主集；回查索引的生效状态元数据 | 归入过期依据池；索引修正后按反向索引列出受影响样本并重做 |
| 对话第 4 轮即收敛，低于轮次区间下限 | 质检 | 过早收敛，轮次区间符合率观测量不达标 | 打标并进复核；该场景观测量持续低于基线时暂停批量生成 | 复核判为内容问题的退回补生成；判为配置问题的调整轮次区间与终止条件后重跑试点批次 |
| 异常分支样本占比低于配额下限 | 质检 | 配额未达下限，按 `TC06-402` 处置 | 按缺口定向补生成 | 不以正常对话顶替配额；补生成后仍不足的在数据卡中记覆盖缺口 |

表 2-87　数据来源：控制项观测量与回退见本章表 2-50；角色动作集见表 2-48；异常码见表 2-59、表 2-39。

#### 6.2 图纸工艺：中部槽封板的备料工序排序

本例走自生成思维链（工具 1）与人机协同标注（工具 2），产出产品工艺设计域的推理样本与步骤级偏好对。图纸要素字段由对齐与标注类工具链提供，本章在其基础上补推理过程。五段如表 2-88。

表 2-88　图纸工艺作业的五段内容

| 环节 | 本例的具体内容 | 产出物与关键字段 | 质检点与判定 |
|---|---|---|---|
| 输入 | 零件要素字段（材料牌号、板厚、两处圆弧过渡、一处 45°坡口、四个通孔、一条 90°压弯线）；备料分厂工序字典；板材备料工艺规程中的工序排序禁止条件与中性层系数分档表 | 业务对象键；检索片段的源文档标识、版本、页码、字符区间 | 必填变量是否齐备；工序字典版本是否为确认版本 |
| 配置 | 模板版本；任务类型工艺判断；难度三级；推理深度中档；采样温度 0.3–0.5；候选条数 5；模型标识两个；四项判据阈值 | 任务创建入参（表 2-14）；五项重放因子 | 模板是否为生效版本；参数是否在表 2-4 的取值范围内 |
| 中间产物 | 5 条候选路径；答案多数簇占比 0.84；事实匹配命中率 0.93；任务分解 5 个子目标；步骤级判分中第 3 步后续成功率 0.28；二分定位 3 轮得出首错步骤为第 3 步 | `decomposition`、`step_scores`、`first_error_step`、`locate_state`、`step_sampling_cost` | 必备子目标是否齐备；步骤级触发条件是否满足；定位状态取值 |
| 输出 | 优选路径 1 条（5 步，每步带主依据）；步骤级偏好对 1 组；路径级负样本 1 条；专家修订记录 1 条（新增弯曲影响区校核步骤，原因码为漏校核环节） | 符合表 2-7 的样本；表 2-10 新增字段；修订记录与差异摘要 | 主依据是否有且仅有一项；免引用步骤的豁免类型是否在三类之内 |
| 质检 | 四项判据全部通过；步骤级判分触发并命中首错；双人独立标注（三级难度）三粒度一致性分别为一致、0.82、0.71；无需仲裁 | 判据实测值；三粒度一致性与一致性系数 | 四判据是否达门限；三粒度是否达阈值；是否存在规则冲突 |

表 2-88　数据来源：零件要素与工序排序口径见本章 2.3.4 节样例；判据与门限见表 2-8、表 2-9、表 2-11；一致性粒度见表 2-17。

表 2-89　图纸工艺作业的失败对照

| 失败情形 | 暴露在哪一段 | 判定与异常码 | 回退动作 | 这条样本的去向 |
|---|---|---|---|---|
| 第 3 步取错中性层系数档位，末步换算恰好抵消，最终答案与多数簇一致 | 中间产物 | 路径级判据全部通过，步骤级判分将第 3 步判入有害档并定位为首错 | 转人工复核，工位界面定位到第 3 步并高亮其依赖的分档表片段 | 专家修订后入采纳池；修订原因码计为事实错误，纳入错误模式清单 |
| 工序字典版本未确认，必填变量缺失 | 输入 | 背景材料来源版本不存在，按 `TC01-201` 处置 | 任务不启动，该条入待料清单并给出缺失字段 | 不以无背景材料的方式生成；版本确认后重新下发 |
| 5 条路径的答案分成两簇，多数簇占比 0.5 | 质检 | 答案一致性落在人工复核带，按 `TC01-401` 处置 | 该采样组转人工复核，同时触发步骤级判分 | 复核采纳的入采纳池；判为题目表述不清的退回题目修订 |
| 推理步骤引用的坡口粗糙度等级在背景材料中不存在 | 质检 | 事实匹配出现硬性不匹配，按 `TC01-402` 处置 | 该条直接淘汰，不进优选路径 | 入问题样本库，作为生成控制与评测类工具链的输入，不作偏好负样本 |
| 排序结果把孔加工排在压弯之后 | 质检 | 规则库校验命中工序排序禁止条件，判为规则冲突 | 该路径直接淘汰，冲突条目记入淘汰原因 | 入问题样本库；同类冲突集中出现时在模板中显式给出工序约束 |
| 两位标注人的推理步骤序列相似度 0.58 | 质检 | 低于三粒度阈值中的步骤粒度门限，进仲裁 | 专家仲裁，仲裁只定路径不改答案 | 仲裁结论入采纳池；争议原因若为规程理解分歧，按月汇总反馈工艺口澄清 |

表 2-89　数据来源：判据与处置见本章表 2-8、表 2-9；一致性分流见表 2-17；异常码见表 2-15。

#### 6.3 售后维修：机尾链条跳动工单的转写

本例走结构化工单转对话（工具 7）与对话质量筛选（工具 8），产出制造过程域与质量域的对话样本。工单是本项目真实性最强的一类来源，难点不在转写而在补全与脱敏两道。五段如表 2-90。

表 2-90　售后维修作业的五段内容

| 环节 | 本例的具体内容 | 产出物与关键字段 | 质检点与判定 |
|---|---|---|---|
| 输入 | 一张服务工单（报修时间、设备与矿别、故障现象、派工记录、更换备件、处理结果、闭单时间）；维修手册中链条张紧度与机尾滚筒检查条款；与该工单配对的报警记录（若已配对） | 工单标识与所属施工号；检索片段的源文档标识、版本、页码 | 可转写性判定：现象描述与处置结果两项字段是否齐备 |
| 配置 | 字段映射版本；脱敏规则版本；补全策略（澄清问题生成并标记、判断依据仅在有检索依据时生成、技术解释生成并标记）；六段必覆盖 | 任务创建入参（表 2-64）；重放因子 | 映射与脱敏规则是否为生效版本；六段开关是否被置假 |
| 中间产物 | 脱敏记录 4 项实体（客户名称、地点、设备编码、工单号），其中设备编码与工单号按数据集内一致映射；六段结构映射结果；检索证据 2 条 | 脱敏记录标识、实体类型与位置、识别通道与置信度、值指纹、映射作用域 | 脱敏是否在转写之前完成；一致性映射作用域是否正确 |
| 输出 | 8 轮对话样本，逐轮带事实来源等级；三级来源分布为 0.38／0.41／0.21；未接地项 0 | 符合表 2-54 的样本；逐轮 `source_level`；`desensitize_record` | 三级来源分布是否落在表 2-84 的上限内；未接地项是否为零 |
| 质检 | 规则通道全量扫描（角色序列、重复度、闭环要素、敏感实体）；模型通道三模型七维中位数，综合分 4.1；分层归属为「良档·售后服务·诊断类·中难度·工单转写」；本条入抽检样本 | 七维分、低质类型标记、分层标签、人工抽检逐维偏差 | 安全合规维度是否触发否决；低质七类是否命中；抽检偏差幅度 |

表 2-90　数据来源：六段映射见本章表 2-60；补全依据与可信度标记见表 2-61；脱敏实体与一致性要求见表 2-62；来源等级计量见表 2-84。

表 2-91　售后维修作业的失败对照

| 失败情形 | 暴露在哪一段 | 判定与异常码 | 回退动作 | 这条样本的去向 |
|---|---|---|---|---|
| 处理结果字段仅填「已处理」，无具体处置内容 | 输入 | 工单无处置结论，按 `TC07-401` 处置 | 不转写为完整六段，按前四段生成半闭环样本并标记 | 归入未闭环案例池并显式标记；字段缺失清单反馈至数据采集环节 |
| 矿方联系人姓名未被替换 | 质检 | 安全合规维度得 1 分，触发一票否决，按 `TC08-402` 处置 | 回退至脱敏环节重新脱敏并复检 | 该批次在复检通过前不得出加工域；漏替换项逐条记录并回查识别通道 |
| 同一台设备在两条样本中被替换成不同伪编码 | 质检 | 脱敏映射一致性抽查不通过 | 重建该数据集范围内的映射表并整批重跑脱敏 | 重跑后的样本重新进入筛选；原样本作废，作废原因记入脱敏记录 |
| 复盘段既无同类工单统计也无检索依据 | 输出 | 补全内容无事实来源，按 `TC07-403` 处置 | 该补全项不生成，该轮留空并把样本标记为转写不完整 | 进人工补充队列；补充后重新计算三级来源分布 |
| 诊断分析段补出一个具体扭矩数值，工单字段与检索依据中均无此数 | 质检 | 规则回查判为未接地项，未接地占比超阈值 | 转人工复核；提示词的「不得引入外部常识性数值」约束一并回查 | 复核删去该数值后入采纳池；同类命中集中出现时收紧补全策略 |
| 工单与运维报警无事件级配对 | 输入 | 配对缺口，按 `TC07-201` 处置 | 该条按无报警上下文转写，不编造报警信息 | 照常入链路，配对缺口在数据卡中按来源如实统计 |

表 2-91　数据来源：异常码见本章表 2-65、表 2-72；脱敏抽检与回退见本章 4.4.3 节；低质判定见表 2-67。

### 7、运行日志、人工复核点与验收用例

本节给出八个工具共同的运行日志口径、逐工具的人工复核点，以及可直接在甲方环境中执行的验收用例。三项与各工具的入参契约、异常码合起来，构成各工具在验收与运维两个阶段的可核对依据。

#### 7.1 运行日志

日志分五类，如表 2-92。五类共同遵守三条：只追加不修改，更正以追加更正记录的方式实现；记角色不记姓名；日志的保留期与访问控制按甲方数据安全管理要求执行，脱敏映射类日志与样本库物理隔离。

表 2-92　五类运行日志的记录时机、必记字段与用途

| 日志类别 | 记录时机 | 必记字段 | 留存与访问 | 用途 |
|---|---|---|---|---|
| 作业日志 | 任务受理、状态迁移、完成或失败的每一次 | 任务标识、客户端请求标识、幂等命中标志、状态与迁移时间、入参指纹、产出条数、失败原因分类 | 按批次归档，运维与审计角色可读 | 任务可追、幂等可验、失败原因可统计 |
| 调用日志 | 每一次经模型网关或检索服务的外部调用 | 调用标识、所属任务与样本、网关登记的模型标识与版本、提示词模板版本、消耗计量、返回状态、重试次数 | 按日归档，与成本统计同源 | 成本出账、限流归因、模型换代后的影响范围判定 |
| 质检日志 | 每一个质检点的每一次判定 | 样本标识、质检点标识、判据版本、实测值、门限、结论、分流去向 | 随样本血缘挂接 | 质量报告的取数来源；基线对照与回退触发 |
| 人工操作日志 | 派发、编辑、仲裁、终审、复核、抽检的每一次动作 | 样本标识、动作类型、操作人角色、时间、入参与出参摘要、修改原因 | 只追加，审计角色可导出 | 一致性与效率统计；争议原因汇总；专家处理时长度量 |
| 变更日志 | 模板、剧本、规则、参数、阈值的每一次发布、灰度、回滚 | 资产标识与新旧版本、变更项、会签记录、生效范围与批次、回滚路径 | 与资产版本库同存 | 版本重放的因子来源；样本异常时的回查入口 |

表 2-92　数据来源：日志的只追加要求与记角色不记姓名口径依质量与验证类工具链的血缘与安全条款；成本计量口径见本章 2.3.2 节。

八个工具在五类之外各有专有日志项，如表 2-93。专有项随批次报告输出，不另设查询接口。

表 2-93　八个工具的专有日志项

| 工具 | 专有日志项 | 用途 |
|---|---|---|
| 1 自生成思维链 | 采样组构成与各路径判据实测值；步骤级判分的探测点数与续写条数；首错定位的二分轮次 | 判据校准；步骤级开销核对；定位命中率度量 |
| 2 人机协同标注 | 六类编辑操作的逐次记录与原因码；三粒度一致性快照；仲裁的争议原因与裁决依据 | 模板优化回流；标注规范缺口识别；能力画像 |
| 3 文档切分与拼接 | 落窗点的候选优先级与实际落点偏差；跨章节拼接命中次数；来源映射完整性校验结果 | 长度分布与重叠控制的回查；溯源断链定位 |
| 4 RAG 数据构建 | 两路检索的归一化前后得分；重排前后名次变化；证据选择四条规则各自的剔除计数 | 混合权重调参；证据选择规则的有效性核对 |
| 5 文档结构解析 | 成因判定结果与解析通道；六项能力的逐项置信度；退化策略命中计数 | 解析质量回查；待确认队列的成因分析 |
| 6 对话模拟生成 | 调度器的逐轮裁决记录与拦截原因分类；状态对象逐轮快照；重生成次数 | 控制项观测量的取数来源；失败对话归因 |
| 7 结构化工单转对话 | 可转写性判定结果；六段映射的逐段来源等级；脱敏的识别通道与置信度 | 三级来源分布统计；脱敏漏替换回查 |
| 8 对话质量筛选 | 各评分模型的原始分与中位数；双通道分歧明细；抽检逐维偏差 | 偏差修正量的计算依据；评分规则版本的效果对照 |

表 2-93　数据来源：各专有项的定义见本章对应工具的处理流程表与判据表。

#### 7.2 人工复核点

八个工具的人工复核点如表 2-94。复核点分两类：策略性的改变此后全部样本的生产口径，走会签并登记回滚路径；作业性的只处置当前批次，走复核与裁决队列。工具 6 的五处介入点已在表 2-57 逐项列出，本表对其只列类别不重复明细。

表 2-94　八个工具的人工复核点

| 工具 | 复核点 | 类别 | 触发条件 | 承办角色 | 判定内容与留痕 |
|---|---|---|---|---|---|
| 1 自生成思维链 | 模板发布与灰度放量 | 策略性 | 新建或修订提示词模板 | 项目组与甲方业务口会签 | 五维度取值是否符合任务实际；留痕含版本号、变更项、放量判据与回滚路径 |
| 1 自生成思维链 | 答案一致性落在复核带的采样组 | 作业性 | 多数簇占比 0.4 至 0.6 | 复核岗 | 采纳哪条路径或退回题目修订；留痕含判据实测值与判定理由 |
| 1 自生成思维链 | 步骤级判分的首错确认 | 作业性 | 链上存在有害档步骤 | 领域专家 | 确认或否定首错位置；否定本身即标定样本，回流校准门限 |
| 2 人机协同标注 | 低一致性样本的仲裁 | 作业性 | 三粒度任一低于阈值 | 领域专家，不得为该样本的标注人 | 采纳其一、合成第三份或退回题目修订；留痕含争议粒度、原因枚举、裁决依据 |
| 2 人机协同标注 | 一致率连续两周低于基线的专项复核 | 策略性 | 某维度一致率连续两个周期低于基线 | 项目组与甲方业务口 | 先判标注规范是否有歧义，再判题目来源，最后判标注人；留痕含排查顺序与结论 |
| 3 文档切分与拼接 | 待校对队列处置 | 作业性 | 影像页识别置信度低于阈值 | 复核岗 | 校对后重入或判为不可用；留痕含页面标识与原因 |
| 3 文档切分与拼接 | 窗口档位分布偏差超限 | 策略性 | 单档偏差高于门限 | 项目组 | 调整落窗偏差容许值或改用相邻档位；留痕含调整前后取值与生效批次 |
| 4 RAG 数据构建 | 三元组复核 | 作业性 | 未接地论断占比超阈值，或证据条数不足下限 | 领域专家 | 复核通过、修订或驳回；留痕含修订内容与驳回原因 |
| 4 RAG 数据构建 | 评测集划分与基准冻结 | 策略性 | 评测集首次划分或范围变更 | 项目组与甲方业务口会签 | 来源与时间切分规则、无依据查询比例；留痕含隔离标记写入结果 |
| 5 文档结构解析 | 待人工确认队列处置 | 作业性 | 结构置信度低档，或跨页表标记为疑为同一表格 | 复核岗，表格类转工艺口 | 确认结构或判为不可还原；留痕含确认结论与重新解析结果 |
| 5 文档结构解析 | 置信度阈值调整 | 策略性 | 低置信度占比持续高于门限 | 项目组 | 调整高低两档阈值；留痕含依据的实测数据与生效范围 |
| 6 对话模拟生成 | 五处介入点 | 策略性两处、作业性三处 | 见本章表 2-57 | 见本章表 2-57 | 见本章表 2-57 |
| 7 结构化工单转对话 | 脱敏抽检 | 作业性 | 每批次按不少于 100 条抽检 | 复核岗 | 漏替换与过度替换逐项统计；发现漏替换即整批重脱敏 |
| 7 结构化工单转对话 | 人工补充队列处置 | 作业性 | 样本标记为转写不完整 | 复核岗，必要时转业务口 | 补充内容及其依据；留痕含补充前后版本 |
| 7 结构化工单转对话 | 脱敏规则与一致性映射域变更 | 策略性 | 敏感实体类型或替换策略调整 | 项目组与甲方信息安全归口会签 | 变更项与生效范围；留痕含映射表重建范围 |
| 8 对话质量筛选 | 评分抽检与偏差修正 | 作业性 | 每批次按不低于 3% 随机抽检 | 评分人 | 七维人工分与模型分比对；留痕含逐维偏差方向与幅度 |
| 8 对话质量筛选 | 评分规则与权重发布 | 策略性 | 维度定义、锚点、权重或否决规则变更 | 项目组与甲方各业务口会签 | 权重校准记录与会签意见；留痕含规则版本与生效批次 |
| 8 对话质量筛选 | 抽检比例调整 | 策略性 | 申请下调抽检比例 | 项目组与甲方业务口会签 | 调整幅度与理由；未会签的调整请求接口直接拒绝受理 |

表 2-94　数据来源：工具 6 的介入点见本章表 2-57；各复核点的触发条件见本章对应工具的质检与判据小节。

#### 7.3 验收用例

验收用例按「前置条件—操作—预期结果」三段编写，每个工具三条：一条走正常路径，一条走边界或异常，一条验回退与隔离。用例在甲方环境中由双方人员共同执行，执行记录与实测值写入测试报告。用例清单如表 2-95。

表 2-95　八个工具的验收用例

| 用例号 | 工具 | 前置条件 | 操作 | 预期结果与判定 |
|---|---|---|---|---|
| UC-01-1 | 1 | 模板处于生效态；输入清单与背景材料来源可读 | 创建一个候选条数为 5 的生成批次，取回样本 | 返回任务标识与预估消耗；样本字段符合表 2-7，每步主依据有且仅有一项，引用可按字符区间回到原文 |
| UC-01-2 | 1 | 准备一个处于草稿态的模板版本 | 以该版本创建批次 | 受理前返回 `TC01-101`，回传所传版本与当前生效版本；任务不创建 |
| UC-01-3 | 1 | 已有一批通过筛选的样本 | 将模板回滚至上一稳定版本 | 已生成样本不删除，标记为由已回滚模板版本生成并进复核队列；新作业使用回退版本 |
| UC-02-1 | 2 | 一批三级难度样本；标注人与专家角色各已配齐 | 双盲派发并提交六类编辑操作各一次 | 第二位标注人不可见第一位结果；每次操作生成修订记录，含原因码与字符级差异；样本可逐版本还原 |
| UC-02-2 | 2 | 双盲所需人数不足 | 提交双盲派发请求 | 返回 `TC02-101`，回传所需与可用人数；不降为单人标注 |
| UC-02-3 | 2 | 一条已采纳样本；其依据文档发布新版本 | 触发上游变更处置 | 按表 2-23 分档：实质变更的样本标记依据已过期并退回复核，非实质变更的仅更新版本号 |
| UC-03-1 | 3 | 已完成结构解析的文档集合，含一份跨页表格文档 | 以 4096 窗口、10% 重叠创建滑窗任务 | 跨页表格整体纳入单一窗口不被切开；每片段来源映射含源文档、版本、页码与字符区间 |
| UC-03-2 | 3 | 一份未完成结构解析的文档 | 提交切分任务 | 返回 `TC03-201`，回传文档当前状态；不按版面顺序硬切 |
| UC-03-3 | 3 | 同一份手册的两个历史版本 | 执行训练与评测划分 | 两个版本归同一文档族，整族划入同一侧；构造 `doc_level_grouping` 为假的请求须被拒绝受理 |
| UC-04-1 | 4 | 索引已建；查询集可用 | 按技术手册档位执行检索与三元组生成 | 返回证据带出处与双得分；回答的论断逐条指向证据项；未接地论断占比在阈值内 |
| UC-04-2 | 4 | 构造一个知识库中确无依据的查询 | 执行三元组生成 | 产出拒答样本并标明原因，不编造回答；拒答样本按配额保留 |
| UC-04-3 | 4 | 停用向量化服务 | 执行检索 | 显式返回降级标记并改走关键词检索；降级批次的指标单列，不并入总体 |
| UC-05-1 | 5 | 一份电子版技术手册 | 执行六项解析能力全开的解析任务 | 章节树与自带目录对齐校验通过；页脚版本号与受控标识提取为元数据后再剔除 |
| UC-05-2 | 5 | 一份低清扫描件与一份跨页续表文档 | 执行解析 | 扫描件标记层级未还原并进待确认队列；续表部分标记表头待确认，不复制上页表头充数 |
| UC-05-3 | 5 | 一份公式含自定义符号的工艺规程 | 执行解析 | 公式转换置信度低时保留原始图像并标记公式未转换，不以近似字符替代 |
| UC-06-1 | 6 | 剧本与场景配置均为生效版本 | 生成设备故障诊断场景对话 10 条 | 轮次落在配置区间；阶段标记覆盖该场景要求阶段；澄清清单逐项被问到；闭环要素逐项满足 |
| UC-06-2 | 6 | 取任一条已生成对话 | 按受理返回的五项重放因子与随机种子重跑 | 重放产出与原样本在轮次结构、阶段标记、角色序列、引用依据、终止类型五项上一致 |
| UC-06-3 | 6 | 将剧本版本回滚 | 以已回滚版本创建作业 | 返回 `TC06-101`，作业不予创建；在途作业按当前批次完成，下一批次起使用回退版本 |
| UC-07-1 | 7 | 一批字段齐备的服务工单 | 执行转写 | 六段齐备；逐轮带事实来源等级；三级来源分布随样本输出且落在上限内 |
| UC-07-2 | 7 | 一张处理结果字段为空的工单 | 执行转写 | 返回 `TC07-401`，产出前四段半闭环样本并标记，不补一个结论凑满六段 |
| UC-07-3 | 7 | 同一台设备的两张工单 | 执行脱敏并比对 | 两条样本中的设备伪编码一致，跨样本设备关联可还原；脱敏映射表不随样本导出，追溯调用全程审计 |
| UC-08-1 | 8 | 一批待筛选对话；评分规则版本已会签 | 执行筛选 | 出参含七维逐维分与低质类型，不只回总分；综合分取三模型中位数 |
| UC-08-2 | 8 | 构造一条含未脱敏敏感信息的对话 | 执行筛选 | 安全合规维度判 1 分并触发否决，返回 `TC08-402`；不因总分高而放行，回退至脱敏环节 |
| UC-08-3 | 8 | 当前抽检比例处于门限值 | 提交下调抽检比例的筛选任务 | 返回 `TC08-102`，拒绝受理；抽检比例的调整须经会签 |

表 2-95　数据来源：用例的判定依据取自本章各工具的验收口径小节与异常回退小节；用例的交付形态按通用接口、追溯与验收要求规定的测试报告格式提交。
