# Handoff to opus_chat · TPS三方融合子模块

> 这份是发给中台 opus_chat 的最短交接说明。完整设计见 `project_design.md`。

---

## 这是什么

《军事科技》TPS（终版文稿生成中台）下的一个子模块，叫"三方融合"。

**它做的事**：把三份资料合并成一份贴近实际播出的终版 docx 文稿，并生成一份差异报告。

三份资料是：
1. **A 稿** — 编导手写定稿（docx，有【主持人N】【解说N】【专家N】【动画N】结构标签）
2. **B 稿** — OCR 扒词（txt，带 `[Nm Ns]` 时间戳，有 OCR 错字）
3. **ASR** — 讯飞录音文件转写结果（txt，带 `[Nm Ns]` 时间戳，有同音误识）

---

## 你需要记住的 5 件事

### 1. 三方权威优先级（**最重要，不要搞反**）

| 看什么 | 信谁 |
|---|---|
| 术语 / 人名 / 装备型号 / 事实 | **A 稿** |
| 标点 / 语序 / 口吻 | **ASR** |
| OCR 字形错（肘/时、娈/变） | 用 **ASR 或 A 稿** 覆盖 B 稿 |
| 整段是否存在 | **B 稿 + ASR 联合**判定 |

为什么 A 稿术语优先？demo 中 ASR 把"美以两国"识别成了"美伊两国"——句子通顺、语义荒谬。无 A 稿无法发现。

### 2. 架构是双层（不是单层 AI）

```
规则层（Python）          AI 层（Claude API）
├ OCR 错字映射            ├ 段落对齐
├ A 稿术语字典覆盖        ├ 改动类型判定
├ 时间戳对齐              ├ 整段改写边界
├ 数字 / 标点规范化       └ 编导笔误识别
└ 口语词清理（可配置）
```

确定性的事走规则层，需要语义判断的事走 AI 层。**不要全塞给 AI**。

### 3. 输入有严格规范

- **A 稿**：自然段开头 `【…】` 是结构标签；`隔断：【…】` 是章节分隔
- **B 稿 / ASR**：每行格式 `[Nm Ns] 句子内容`
- **音频**（如果走完整流程从音频开始）：必须 **16kHz / 单声道 / 16bit WAV**，否则讯飞拒收

### 4. 讯飞 ASR 有坑（开发前必读）

- 用"**录音文件转写（标准版）**"，**不要**用"大模型版"（免费包阉割了 `language` 参数）
- 领域参数 `pd=mil`（军事节目专用）
- 顺滑参数 `eng_smoothproc=true` + `eng_colloqproc=true`
- **热词机制**是关键：每期从 A 稿提 200 字以内的专业术语作为 `hotWord`
- 讯飞**消费端**（讯飞听见 App）和**开发端**（开放平台）密钥**不通用**
- "5 小时免费试用"必须走 0 元购买流程激活
- 签名：`signa = base64(HmacSHA1(MD5(appid + ts), secretKey))`

详见 demo 中的 `xfyun_asr_standard.py`。

### 5. 输出有两份，不只一份

- **终版.docx** — 主产物，给档案库
- **差异报告.docx** — 副产物，给编导回顾。**差异报告的长期价值可能比终版更高**（能反向分析编导删改偏好）

---

## 我和这个模块的关系

- **你（opus_chat）**：中台对话入口，可能会被用户问到本模块的边界 / 接口 / 状态
- **本模块**：被 TPS 主流程调用，输入三份文本，输出两份 docx + 一份 JSON
- **不归我管**：音频转码、OCR 识别本身、档案入库、编导确认 UI

如果用户问以下内容，**统一口径**：

| 问题 | 答 |
|---|---|
| "能不能不用 A 稿？" | 不能。会引入 ASR 的同音事实错误，且术语全乱。 |
| "能不能不用 B 稿？" | 可以，但失去独立交叉验证；不推荐。 |
| "能不能不用 ASR？" | demo 证明 A+B 也能跑，但效果显著下降；不推荐。 |
| "ASR 选讯飞还是别家？" | 当前讯飞。已踩坑、已跑通；阿里云是规划中的备份。 |
| "AI 用哪个模型？" | Claude Sonnet 4.6 起步，单期 26 分钟节目约 16k 字上下文。 |
| "处理一期要多久？" | 正式版预估 15–30 分钟（含人工确认）；demo 实测 2 小时但近一半花在踩讯飞坑上。 |

---

## demo 状态

- 已完整跑通一期《现代防空反导大对决》（26 分钟）
- 关键术语识别率接近 100%（开启 35 条热词后）
- 主要修复：OCR 错字 10+ 类、ASR 同音误识 4 类、编导笔误 1 段、整段删除 2 段
- 复盘文档：`实测复盘.md`
- 设计文档：`project_design.md`

---

## 不一致时怎么办

如果你（opus_chat）发现本备忘与 `project_design.md` 不一致，**以 project_design.md 为准**。
如果你发现 project_design.md 本身需要更新，请同步刘统制片组。
