# 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 本身需要更新,请同步刘统制片组。