Files
tps-dashboard/ai-labeling/CLAUDE.md
T
simonkoson 93db565c10 看板升级: L3分析引擎原型v0.1 + 视觉方向定稿 + 页面布局设计
- 新增 l3_analysis_prototype.py:读Excel 25期收视 + GT 20期AI标签,
  计算5个分析模块(指标卡/走势/季度/题材/编导),输出HTML+ECharts报告
- 制片人审定视觉方向:磨砂玻璃/大倒角/1100px限宽/暖色渐变
- 页面布局定稿:指标卡→走势图→L4诊断(走势图下方)→季度+题材→编导→象限图
- 范围选择器定方案A(按自然年分页+年内dataZoom滑块)
- 新增设计参考图3张(功能区划/幅面参考/页面风格)
- 更新两份CLAUDE.md状态栏+进度+关键决策+交接备注

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-26 20:19:05 +08:00

405 lines
31 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 看板升级子项目协作主控文件 (CLAUDE.md)
<!--
Claude Code 每次开 session 自动读取。
本文件是看板升级子项目(ai-labeling/)的全局指导文件。
通用协作原则、主项目技术栈、角色定位、Git 红线等
已在上一级 tps-dashboard/CLAUDE.md 中覆盖,不重复。
维护原则:增量更新,不整篇重写。
-->
---
## 🔖 状态栏(每次结束 session 前必须更新这三行)
- **最后更新**Claude Opus(顾问)| 2026-06-26
- **当前状态一句话**:L3 分析引擎原型 v0.1 已出(HTML 可视化,5 模块 + L4 模拟诊断),制片人审完视觉方向,页面布局和交互设计方案已定。下一步:原型微调收尾 → 进 React 前端实现。
- **下一个动手的人从这里开始**:见下方「⏩ 交接备注」
---
## 🤖 子项目专属工作约定(READ FIRST)
- **先读上一级 `tps-dashboard/CLAUDE.md`**,那里有通用协作原则和主项目全局信息。本文件只补看板升级自己的事。
- **沙盒自治**`ai-labeling/` 内改动允许 Cline 直接 Act(改坏重跑就是)。但 `backend/` 任何改动必须切 Plan + Opus 审——这是宪法红线。
- **Prompt 内容不让 Cline 创作**——Cline 是执行者不是作者。Prompt 由 Opus/Claude Code 写,Cline 只负责落文件。
- **改 ground-truth 必须留 changelog**(谁、何时、改了什么、为什么改),不能悄悄改。
- **长文件(Prompt / ground-truth)让制片人手工替换最稳**——Cline 的 `write_to_file` 对长内容会截断,别让它反复 workaround。短文件(<200 行)用 `write_to_file` 整体写,老文件用 `replace_in_file` 局部改。
---
## 1. 子项目全貌(核心,所有开发决策的锚点)
### 1.1 定位与终极目标
看板升级是 TPS-Dashboard 项目中**最重要、最首页**的工程。
**终极目标**:在 TPS 工作台上建立**持续运行的收视诊断分析能力**——栏目每做完一期节目,系统自动消化选题单、文稿、收视成绩,按策划周期输出诊断报告,让制片人和全体编导都能看到"我们做得怎么样、问题出在哪、下一步怎么调"。
**质量标杆**`example/` 目录下的 PPT(14 页诊断报告)和 Excel(8 个分析 Sheet)是制片人与 Opus 4.8 手工做出的 21 期阶段性分析成果。看板升级要达到**同等分析深度**,并把"一次性手工分析"变成"累积持续自动分析"。
### 1.2 核心理论框架——"双引擎 + 开篇钩子"
> 收视 ≈ 题材热度(横轴)× 叙事结构(纵轴)+ 开篇钩子(独立维度,叠加显示)
- **引擎 1 题材热度(地基)**:热点/新装备/大舰/节日天然有人看。即使叙事并列,热点也能撑住收视(如防空网 0.875、X-76 0.873)。
- **引擎 2 叙事结构(放大器)**:有没有贯穿全片的主线悬念。强主线能把冷题材拉到高收视(如仿生潜艇 0.92、组装武器 0.85)。
- **开篇钩子(独立维度)**:前 1-2 分钟决定观众换不换台。功能与叙事结构不同(开篇=留住,结构=留住之后的体验),AI 打标也分开判。
**两条腿至少占一条**:冷题材 + 并列结构 = 必然低分(如枪械图鉴 0.533)。
**"话题性"已拆解消化**(v2 快照确认):题材稳态热度→横轴承接,时机加成→scene_tags 承接,切口话题感→program_format"横切类比"部分承接。话题性不独立立维。
这个模型是所有 AI 打标、分析计算、诊断结论的理论基础。开发任何功能都要回到这个公式上来。
### 1.3 招牌视觉——双引擎象限图(v2 快照定稿)
| 元素 | 编码 |
|------|------|
| 横轴 | 题材热度(= 该题材类别窗口内均值 − 栏目均值,零点=栏目自身平均线) |
| 纵轴 | 叙事结构 2 档 |
| 气泡大小 | 收视份额 |
| 气泡颜色 | 收视判定三色(红 `#c0584f` 优秀 / 蓝 `#5b8db8` 达标 / 绿 `#7aa874` 待提升) |
| 气泡边框 | 开篇钩子(粗实线=强 / 细实线=中 / 虚线=弱) |
| 悬停 tooltip | 节目名 + 期次 + 份额 + 钩子档 |
| 重叠处理 | 横轴 jitter + 垂直 jitter;同点聚集本身就是诊断信号 |
这张图是整个看板升级的**核心视觉交付物**。制片人已认可视觉方向。
### 1.4 6 字段完整枚举定义(v2 快照锁定,v3 修订叙事结构)
**字段一:`program_format` 主题材(单选)** — 节目内容切口,不是播出形态
| 枚举值 | 含义 |
|--------|------|
| `装备深解` | 围绕一款/一型具体装备深度剖析 |
| `横切类比` | 用某切口(趣味/功能/技术)跨装备类比 |
| `历史纵深` | 沿时间线讲装备/战术演进 |
| `前沿科技` | 新技术在军事装备上的应用 |
| `事件战例` | 围绕某次行动、战役、冲突 |
| `人物牵引` | 用人物作叙事入口和牵引线 |
**字段二:`equipment_domain` 装备域(多选,至少 1 项)**
`陆战装备` / `海军舰船` / `航空航天` / `导弹与反导` / `信息化` / `后勤保障` / `轻武器` / `跨域` / `其他`
注:原"枪械"升级为"轻武器";原"空军防空"改为"导弹与反导""无人作战"从装备域剥离到 tech_tags。
**字段三:`scene_tags` 场景标签(多选,可空)** — 回答"为什么这周播"
`节点策划`(纪念日/周年/节庆/装备节点)/ `热点跟进`(突发新闻)/ `装备首发`(新装备亮相)/ `展会`
注:原"节日策划"从 program_format 移到 scene_tags 并改名"节点策划"。
**字段四:`tech_tags` 技术线标签(多选,可空)** — 新质新域追踪
`无人作战` / `智能化`AI/算法/智能决策)/ `有人无人协同`
**字段五:`narrative_structure` 叙事结构(单选,2 档)**
`主线演进` / `并列结构`v3 从 3 档收为 2 档)
**字段六:`opening_hook` 开篇钩子强度(单选,3 档)**
`强`(新闻/反差/画面震撼/悬念)/ `中`(背景铺陈/装备亮相/历史溯源)/ `弱`(直接讲技术/概念/平铺直叙)
### 1.5 系统四层架构
| 层 | 名称 | 做什么 | 当前状态 |
|----|------|--------|----------|
| L1 | **数据沉淀** | 每期节目的收视数据、文稿全文、编导、选题单持续入库 | 主项目已有 episodes 表基础结构 |
| L2 | **AI 打标** | 读文稿自动判别:题材分类(4字段)、叙事结构(2档)、开篇钩子(3档) | Prompt 1 v0.3(80%) + Prompt 2 v0.2(100%) + Prompt 3 v0.2(90%),三个均达可用水平 |
| L3 | **分析引擎** | 基于双引擎模型,计算走势、编导对比、题材对比、高低样本对照等多维分析 | HTML 原型 v0.1 已出(5 模块),页面布局已定 |
| L4 | **诊断报告** | 调用 LLM 生成文字诊断结论 + 改进建议(对标 PPT 第 8-10 页水平) | 位置已定(走势图下方),模拟文字已预览 |
### 1.6 三层分步交付策略(v1 快照定稿)
| 层 | 解锁条件 | 交付物 |
|----|---------|--------|
| 第一层"纯算的" | 只需题材字段(program_format + equipment_domain | 核心指标卡、走势图(含基础/摸高目标线+滚动3期均值)、阶段对比、题材对比、编导维度 |
| 第二层"打标后才能算的" | 叙事结构 + 开篇钩子标完 | **双引擎象限图**(招牌视觉)+ 高低样本下钻 |
| 第三层"算不出只能写的" | L3 数据就绪 + LLM API 配通 | AI 季度诊断小结(制片人审改后发布)+ 一句话诊断 + 病因 + 提振方案 |
**编导视角:能力地图,不是排名榜**v1 §2.7)。团队视角看"谁擅长哪种结构/哪类题材",把强项做成全组可复用模板。制片人视角可看完整排名+下钻。底层同一套数据,锁可后开。
### 1.7 分析周期策略
- **默认轨:季度报告**(Q1/Q2/Q3/Q4)。对标台里考核节奏,每季约 12-13 期,数据量合适。
- **灵活轨:自定义周期**。所有栏目人员均可自由选择时间范围查看诊断(如"暑期档 7-8 月"、"最近 10 期")。
- 系统按季度自动生成,用户也能手动选范围——两不误。
### 1.8 受众与权限
- **不只给制片人看**——全栏目人员(制片人、责编、6 名编导)都能查看分析结果、自由选择周期、调用 LLM 查看诊断。
- AI 打标结果仍须制片人审核后才正式落库(设计哲学红线:AI 给方向不给答案)。
- 但分析报告(L4)是基于已审核数据生成的,可直接展示。
### 1.9 样板文件参照表(`example/` 目录)
| 文件 | 内容 | 对标系统层 |
|------|------|-----------|
| PPT 第 2-5 页 | 收视走势、阶段对比、月度均值 | L3 分析引擎(走势分析模块) |
| PPT 第 6 页 | 题材结构饼图 + 各题材均值 | L3 分析引擎(题材分析模块) |
| PPT 第 7 页 | 高分 vs 低分样本对照 | L3 分析引擎(样本对照模块) |
| PPT 第 8-10 页 | 5 大病因、双引擎发现、提振方案 | L4 诊断报告(LLM 生成) |
| PPT 第 11 页 | 标题"3秒可懂"原则 | L4 诊断报告(建议模块) |
| PPT 第 12-13 页 | 选题日历、复盘会议程 | 超出系统范围,供人工参考 |
| Excel 8 个 Sheet | 核心指标卡、数据明细、走势图、编导对比、题材对比、阶段对比、高低样本、诊断结论 | L3 分析引擎的完整数据底稿 |
### 1.10 范围边界
- ✅ 做:Prompt 撰写与迭代、模型选型基准测试、ground-truth 维护、打标脚本、分析引擎设计与实现、诊断报告生成、前端看板页面
- ❌ 不做:选题日历自动编排、复盘会自动组织、标题自动改写(这些是人的工作)
- ❌ 不用旧 21 期数据冷启动——文稿和数据已重新整理清洗,拿新数据重新做
---
## 2. 技术栈与运行方式(稳定)
### 2.1 AI 打标沙盒(当前工作区)
- **语言**Python 3.x
- **依赖锁定**`scripts/requirements.txt`):
- `openai==1.55.0`**不能升级**,新版自动转 developer 角色,部分兼容接口不支持
- `python-dotenv>=1.0.0`
- `python-docx>=1.1.0`
- **生产模型**mimo-v2.5-pro(通过 OpenAI SDK 兼容接口调用)
- **备选模型**DeepSeek V4 Pro(命中率 80%MiMo 中断时备用)
- **工作目录**`E:\tps-dashboard\ai-labeling\`
### 2.2 诊断报告生成(L4 层,待实现)
- **多 LLM 共识机制**:配置多个 LLM API(如 MiMo + GLM 5.2 + 其他),分析相同数据、遵守相同规定,取共识结果。目的:弥补单一非顶级模型洞察力不足的问题,用"多家独立一致"提高诊断可信度。
- **模型候选**mimo-v2.5-pro、GLM 5.2(智谱)、其他国产合规模型。具体阵容待选型测试。
- **与 AI 打标的区别**:打标是结构化判别(JSON 输出),诊断是开放式分析(自然语言输出)。两者用不同的 Prompt、可能用不同的模型。
### 2.3 关键目录
```
ai-labeling/
├── example/
│ ├── 军事科技栏目收视复盘与提振方案_v2.pptx ← 质量标杆(14 页诊断报告)
│ └── 军事科技栏目收视诊断分析_v2.xlsx ← 质量标杆(8 个分析 Sheet)
├── benchmark-set/
│ ├── transcripts/ ← 20 期文稿 .md(基准卷子)
│ └── ground-truth.json ← 基准答案 v0.4.2(核心资产,入 git)
├── prompts/
│ ├── prompt1_classification.md ← 题材分类判别 v0.3(入 git)
│ ├── prompt2_narrative.md ← 叙事结构判别 v0.2(已锁定,入 git)
│ └── prompt3_opening_hook.md ← 开篇钩子判别 v0.2(入 git)
├── experiments/ ← 跑批结果 .json(不入 git)
├── scripts/
│ ├── import_transcripts.py ← docx → md 解析清洗
│ ├── run_labeling.py ← 调模型 + 写结果
│ └── summarize.py ← 汇总命中率
├── .env ← 真 Key(不入 git
├── .env.example ← Key 占位模板(入 git)
├── .gitignore ← 拦 .env / experiments/ / __pycache__/
└── README.md
```
### 2.4 常用命令(PowerShell
```powershell
# 单期打标(narrative / classification / opening_hook
cd E:\tps-dashboard\ai-labeling
python scripts/run_labeling.py --ep 1 --model mimo-v2.5-pro --field classification
# 批量跑 20 期基准
python scripts/run_labeling.py --all --model mimo-v2.5-pro --field classification
# 汇总命中率
python scripts/summarize.py --model mimo-v2.5-pro --field classification
python scripts/summarize.py --model mimo-v2.5-pro --field narrative
python scripts/summarize.py --model mimo-v2.5-pro --field opening_hook
```
### 2.5 模型配置(`scripts/run_labeling.py` 内 MODEL_CONFIG
| key | base_url | model_name | env key |
|------------------|---------------------------------------|------------------|------------------|
| `mimo-v2.5-pro` | `https://api.xiaomimimo.com/v1` | mimo-v2.5-pro | MIMO_API_KEY |
| `deepseek-v4-pro`| `https://api.deepseek.com` | deepseek-v4-pro | DEEPSEEK_API_KEY |
### 2.6 环境变量
`.env`,**不进 git、不写进本文件**。需要:`MIMO_API_KEY``DEEPSEEK_API_KEY`
---
## 3. 当前进度(动态,核心交接区)
- **已完成至**L3 原型 v0.1(HTML 可视化 + 制片人审定视觉方向),L2 打标收摊,003 迁移到位
- **正在做**:L3 原型视觉微调(Cline 执行),页面布局设计讨论中
- **卡点/待解**:无硬卡点。下一步进 React 前端实现前需定最终页面线框图
---
## 4. 已完成(只追加,最新在上)
- [2026-06-26 Opus] L3 分析引擎原型 v0.1Python 脚本读 Excel25期)+ ground-truth20期AI标签),计算 5 个模块(核心指标卡/走势图/季度对比/题材对比/编导对比),生成 HTML+ECharts 可视化报告。制片人审定:磨砂玻璃+大倒角+1100px 限宽+暖色渐变底;L4 诊断报告位置定在走势图下方(摘要-详情模式);题材饼图+柱图组合;摸高完成率动态变色。脚本 `scripts/l3_analysis_prototype.py`,输出 `output/l3_report.html`
- [2026-06-26 Opus] 003_add_ai_labels.sql 迁移已在 milsci_dev 执行:episodes 表 +7 列(program_format / equipment_domain / scene_tags / tech_tags / narrative_structure / opening_hook / ai_label_confidence+3 索引。COMMENT 因 Windows GBK 编码未写入,不影响功能。Schemaschemas/episode.py)留待 L3 API 时同步更新。
- [2026-06-26 Opus] GT v0.5.0:补完10期narrative_structure标注(MiMo跑批85%命中+制片人审定,ep019从AI判主线演进改为并列结构)。20期6字段全覆盖。Schema加字段方案:003_add_ai_labels.sqlepisodes表+7列)+ episode.py Model同步。summarize.py修复无标注期次崩溃。Git大扫除:doco/programs中间产物移出git、.gitignore补全、deliverables/寄存条入库。commit `cdb213f`
- [2026-06-25 Opus] Prompt 1 迭代 v0.1→v0.3(全对率40%→80%):v0.2加多选字段显著篇幅门槛+从属零件反例+前沿科技vs横切类比拆清+装备深解同类体系测试;v0.3修正跨域规则(传播分类框非军事术语)+训练舰窄类别判定+装备首发校准。ground-truth v0.4.1ep008补标跨域)。
- [2026-06-25 Opus] Prompt 3 v0.1→v0.2(开篇钩子,命中率50%→90%):v0.1撰写+脚本opening_hook支持;v0.2修复三问题——阅读范围扩至3段(导视+主持人+首段解说)、强判定从紧迫感硬门槛改为6条独立路径、弱判定区分信息性提问vs悬念式提问。ground-truth v0.4.220期opening_hook全标注,制片人逐期审定含钩子分析)。summarize.py改为从源GT文件读取。
- [2026-06-25 制片人] 开篇钩子经验规则:0-1钩≈弱,2钩≈中,3钩及以上≈强(钩子质量也影响,3个轻钩可能仍为中)。
- [2026-06-24晚 Opus] Prompt 1 v0.1 撰写完成(4分类字段:题材/装备域/场景/技术)+ ground-truth v0.4.010→20期扩展,旧ep编号重映射,4分类字段全填,制片人逐期审定)+ 脚本升级(ep编号2位→3位、ALL_EPISODES扩至1-20、summarize classification比对逻辑实现)+ MiMo首轮跑批20期(题材75%/装备域70%/场景95%/技术70%/全对40%)。主要错误模式:多选字段过度标注、装备深解/前沿科技与横切类比混淆。
- [2026-06-24 Opus+Cline] ground-truth v0.3.0 结构扩展(4 分类字段骨架预留)+ run_labeling.py / summarize.py 扩展 --field 参数支持 classification。脚本可直接跑 Prompt 1,等 prompt 文件就位即用。
- [2026-06-24 Opus] CLAUDE.md 二次更新:精读 v1-v4 四份续接快照,补入双引擎象限图视觉规格、6 字段完整枚举定义、三层分步交付策略、编导能力地图设计、v1-v4 关键决策。
- [2026-06-24 Opus] 全貌对齐:精读 PPT+Excel 样板、明确四层架构(数据沉淀→AI打标→分析引擎→诊断报告)、确认多 LLM 共识机制方向、确认季度+自定义双轨周期、确认全员可见。CLAUDE.md 从打标沙盒文档升级为全局指导文件。
- [2026-06-24 Opus] 模型配置统一更正:M3 配置移除,生产模型改为 mimo-v2.5-pro,更新 run_labeling.py / summarize.py / CLAUDE.md / README.md / .env.example。
- [2026-06-11 Opus+Cline] AI 打标流水线跑通:Prompt 2 v0.2 锁定、ground-truth v0.2.1 锁定、M3 100% 命中率、模型选型完成。Git commit `38f3728` + `edfb298`
- [2026-06-11 Opus+Cline] 叙事结构 3 档收为 2 档(主线演进/并列结构)、10 期基准答案集 v0.1 锁定。
- [2026-06-11 Cline] 工作区目录结构搭建、三个脚本(import_transcripts / run_labeling / summarize)编写完成、10 期文稿导入。
<!-- 新条目往上加 -->
---
## 5. 开发路线图(按层级展开,层内按优先级排序)
### L2 — AI 打标(当前主战场)
- [ ] **Prompt 1 继续迭代(可选)** — v0.3 全对率 80%,剩 3 期硬骨头(ep005/011/016:前沿科技节目中装备域从属判定边界)。边际收益递减,可暂停。
- [ ] **Prompt 3 继续迭代(可选)** — v0.2 命中率 90%,剩 2 期(ep004 枪王对决强→中:AI复活人物的反差未识别;ep007 巨舰反差中→强:旗语开头过度放大)。可考虑融入"数钩子"辅助判据(0-1钩弱/2钩中/3+钩强)。
- [x] **新增 10 期跑 Prompt 2 补 narrative_structure** — GT v0.5.0 已全覆盖(MiMo 85% + 制片人审定)。
- [ ] **示例集月度更新机制** — 上线后启用,每月集中替换,不碎片化(吃 prompt 缓存红利)。
- [x] Prompt 1 v0.3 迭代完成(80% 全对)
- [x] Prompt 2 v0.2 撰写 + 锁定(100%
- [x] Prompt 3 v0.2 撰写完成(90%
- [x] ground-truth v0.4.220期6字段全标注)
- [x] 模型选型(mimo-v2.5-pro 生产)
### L1 — 数据沉淀(与主项目交界,需 Opus 审)
- [x] **episodes schema 加字段** — 003 迁移已执行(2026-06-26),7 列 + 3 索引到位。
- [ ] **文稿入库流程** — 每期文稿全文入知识库(主项目 Phase 3 已有知识库基础设施)。
- [ ] **收视数据导入** — 真实收视 Excel 批量导入 + 清测试数据。
### L3 — 分析引擎(原型已出,进入前端实现)
- [x] **HTML 原型 v0.1** — 5 模块计算验证通过(指标卡/走势/季度/题材/编导),25 期数据全部读入。
- [x] **视觉方向定稿** — 磨砂玻璃+大倒角+1100px 限宽+暖色渐变底+三色判定+题材饼图柱图组合。
- [x] **页面布局定稿** — 指标卡 → 走势图 → L4 诊断报告 → 季度对比+题材对比 → 编导对比 → 双引擎象限图。
- [ ] **范围选择器(方案 A 已定)** — 按自然年分页,年内用 ECharts dataZoom 滑块选范围,下方所有模块联动刷新。历史年份(如 2025)仅展示走势+编导(无 AI 标签的模块标灰)。
- [ ] **单期详情页入口** — 走势图柱子可点击跳转到该期节目分析页(独立子项目)。
- [ ] **计算逻辑实现(React** — 将原型 Python 计算逻辑搬进 backend API。
- [ ] **API 设计** — 支持按年度+自定义期次范围查询,返回结构化分析数据。
### L4 — 诊断报告(位置已定,待实现)
- [x] **位置定稿** — 走势图下方,摘要-详情模式(看板页固定高度干条 + 点击展开详情页全文)。
- [ ] **自适应色调 Prompt 机制** — 根据选定范围的达标率/均值动态切换分析角度:优秀期→复盘总结模式;问题期→病因诊断模式;混合→综合对比模式。
- [ ] **多 LLM 共识选型测试** — 用样板数据测试 MiMo / GLM 5.2 / 其他模型的诊断分析能力,确定阵容。
- [ ] **诊断 Prompt 撰写** — 输入结构化分析数据,输出自然语言诊断结论 + 改进建议。需融入双引擎理论框架。
- [ ] **外部因素关联分析** — 结合互联网搜索(同时段竞争节目、社会热点)丰富诊断深度。
- [ ] **共识聚合逻辑** — 多家结果如何合并/投票/呈现。
- [ ] **UI 置信度三档** — AI 草稿/制片人确认/标题推断一眼可辨。
### 跨层
- [ ] **横轴量化方法落地** — 栏目均值偏离,需算具体数值。
- [ ] **prompt 缓存月度更新纪律** — AI 打标上线后第 1 个月起执行。
---
## 6. 关键决策(跨 session 最易丢)
### 项目全貌(v1-v4 快照 + 2026-06-24 对齐)
- [2026-06-24] **看板升级 ≠ AI 打标**。AI 打标只是 L2 层,完整系统是四层:数据沉淀 → AI 打标 → 分析引擎 → 诊断报告。目标是把 PPT+Excel 样板里的阶段性手工分析变成累积持续自动分析。
- [2026-06-24] **双引擎模型是理论基础**:收视 = 题材热度 × 叙事结构。所有打标维度、分析计算、诊断结论都围绕这个公式展开。
- [2026-06-24] **全员可见**:看板不只给制片人,所有栏目人员都能查看分析、自选周期、调用 LLM 看诊断。
- [2026-06-24] **分析周期双轨**:默认季度 + 自定义范围。
- [2026-06-24] **不用旧 21 期冷启动**:数据已重新整理清洗,拿新数据重新做。
- [2026-06-24] **诊断报告用多 LLM 共识机制**:因合规限制无法用顶级模型(Opus),改为多个国产模型(MiMo / GLM 5.2 / 待定)分析相同数据取共识,弥补单模型洞察力不足。
- [2026-06-09] **配色走浅色**:沿用 App 米色底 `#fbf9f1` + 深绿 `#6b8e6b`,不做深色大屏(留 2.0 独立数据大屏蓝本)。
- [2026-06-09] **DataEase 不进 1.0**:栈冲突 + 资源不够。图表用 ECharts / @ant-design/charts 在 React 栈直接复刻。
- [2026-06-09] **编导板块不做排名**(团队视角走"能力地图"),制片人视角可看完整排名+下钻。
- [2026-06-09] **"活的边界"**:实时脉搏(走势/滚动均值)永远滚动;周期复盘(象限/病因/提振)按周期生成。每张图都要有显式时间选择器。
- [2026-06-10] **话题性不独立立维**:稳态热度→横轴,时机→scene_tags,切口→横切类比形态。
- [2026-06-10] **6 字段枚举锁定**(见 §1.4):program_format 6 值 / equipment_domain 9 值多选 / scene_tags 4 值 / tech_tags 3 值 / narrative_structure 2 档 / opening_hook 3 档。
### 题材分类判别
- [2026-06-25] **`跨域`是传播分类框,不是军事术语**:一期节目天上、水里、地上都讲了没法归单一域就标跨域。涉及≥3个具体装备域时额外加选,不需要节目主题是"跨域协同作战"。
- [2026-06-25] **同一功能体系/窄类别内的多装备 = 装备深解**:防空体系远/中/近程、三艘训练舰、航母编队舰/机/护航——这些不是横切类比。换装测试要区分"换同类型号"和"换完全不同类别"。
- [2026-06-25] **前沿科技 vs 横切类比的核心判据**:串联各案例的角度本身是不是一项新兴技术?是→前沿科技,否→横切类比。
### 开篇钩子判别
- [2026-06-25] **"数钩子"经验规则**:0-1钩≈弱,2钩≈中,3钩及以上≈强。钩子质量也影响(3个轻钩可能仍为中)。
- [2026-06-25] **紧迫感不是判强的唯一门槛**:画面震撼、情感冲击、认知冲突(反差)、叙事吸引(战场故事)、节日/文化共鸣都是独立的强钩子路径。
- [2026-06-25] **阅读范围是前三段**(导视+主持人+首段解说),不是两段。有些节目的钩子在主持人之后才引爆。
- [2026-06-25] **信息性提问 vs 悬念式提问**:能用一句话/列表回答的是信息性提问(倾向弱),需要讲故事或揭示原理才能回答的是悬念式提问(至少中)。
### 叙事结构判别
- [2026-06-11] **3 档收为 2 档**`主线演进` / `并列结构`。原"强主线悬念 vs 主线演进"实操中区分不开,合并。
- [2026-06-11] **判别心法**:先列全片大章节(3-5 个)→ 做"打乱测试"(调换顺序观众是否懵)。**段内承接 ≠ 全片骨架**——看到"递进""演进"字样先别急,回到大章节之间判断。
- [2026-06-11] **关键边界**:命名共性、装备域共性、空间方位共性均不构成主线。
### 模型选型
- [2026-06-11] 初始选型 MiniMax M3Prompt 2 v0.2 命中率 100%)。DeepSeek V4 Pro 80%(备用)、MiMo v2.5 Pro 70%。
- [2026-06-24] **生产模型改为 mimo-v2.5-pro**Cline 统一配 MiMo),M3 配置移除。DeepSeek V4 Pro 保留为备用。
- [2026-06-11] **好 Prompt 不为单家定制**——v0.2 同时提升了三家命中率,说明判别规则讲清楚就是最好的优化。
### ground-truth 版本史
- v0.110 期初始标注
- v0.2:改 2 期(ep12 逆袭战局改为并列→后经复议改回主线演进、ep14 X76 确认并列)
- v0.2.1:改 1 期(ep12 经制片人复读稿 + 三家模型独立一致,最终定为并列结构)。**边界期用"多家独立一致 + 人工复审"双重证据机制**。
- v0.3.0:为 Prompt 1 预留 4 分类字段骨架(null/[]),ep 编号仍为旧制。
- v0.4.0:期号重映射(旧ep3-15→新ep001-020按播出日期排序),10→20期扩展,4分类字段全部填入。新增10期暂无narrative_structure/opening_hook。
- v0.4.1:ep008马年装备图鉴补标跨域(制片人确认遗漏)。
- **v0.4.2(当前锁定)**:新增10期opening_hook标注(制片人逐期审定含钩子分析)。20期6字段覆盖:4分类+opening_hook全填,narrative_structure仍有10期null待补。
### Prompt 设计原则
- [2026-06-11] **三个 Prompt 独立**(分类 / 叙事结构 / 开篇钩子),不合并成一个大 Prompt。
- [2026-06-11] **示例集"慢慢长大"**10-30 期全塞 prompt → 30-80 期 pgvector 检索相似 → 80+ 期固定 5 + 动态 5-8。栈里 pgvector 已就位,第二阶段不新增依赖。
### L3/L4 页面设计决策
- [2026-06-26] **范围选择器走方案 A(按自然年分页)**:每年目标清零+基础/摸高数值可能变+2025 年以前无文稿无 AI 标签,跨年混算问题太多。年内用 ECharts dataZoom 滑块选范围,所有模块联动刷新。
- [2026-06-26] **L4 诊断报告位置:走势图下方**(不是最底部):制片人定调——诊断分析是最有含金量的内容,不能埋在最后。摘要-详情模式:看板页放 3-5 条干条,点击展开详情页看全文。
- [2026-06-26] **L4 诊断内容自适应选定范围色调**:全红→复盘总结模式;全绿→病因诊断模式(语气重);混合→综合对比模式。
- [2026-06-26] **页面幅面 max-width 1100px 居中**:参考 Crextio 风格,不撑满全屏。
- [2026-06-26] **视觉方向**:磨砂玻璃卡片(backdrop-filter: blur+ 大倒角(16px)+ 暖色渐变底 + 充足留白。参考风格图 `example/页面风格.webp`
- [2026-06-26] **摸高完成率动态效果**:≥95% 红色微光闪烁;85-94% 蓝色;80-84% 绿色脉冲;<80% 黑色+红色警报光晕。
- [2026-06-26] **收视分析看板 ≠ TPS 仪表盘首页**:首页是每天扫一眼的门面(题图/近9期/热点/排播),分析看板是左侧工具栏里的深度分析入口。首页从看板抽关键数字展示。
- [2026-06-26] **2026 年收视目标**:基础 0.6448,摸高 0.8989。
### 技术约束
- [2026-06-11] MiMo / M3 等 reasoning model 输出带 `<think>...</think>` 前缀。脚本用 `extract_json_from_response` 正则剥掉后再 `json.loads`。**换其他 reasoning modelR1、o1 系列)同样适用。**
- [2026-06-11] `openai==1.55.0` 锁版本——新版自动转 developer 角色,部分兼容接口不支持。
- [2026-06-11] API 调用不用 `response_format={"type": "json_object"}`——部分模型不完整支持,改为在 Prompt 末尾加输出强约束。
- [2026-06-11] `experiments/*.json` 不入 git(结果不固化);`prompts/*.md` + `benchmark-set/` 入 git(核心资产)。
---
## 7. ⏩ 交接备注(换人/换工具 0 摩擦续上)
- **L3 原型已出**2026-06-26):`scripts/l3_analysis_prototype.py` 读 Excel 25 期 + GT 20 期标签,输出 `output/l3_report.html`。5 个模块计算验证通过,视觉方向已定(磨砂玻璃/大倒角/限宽/暖色渐变),L4 位置已定(走势图下方)。原型仍在微调中(Cline 执行视觉改动)。
- **页面布局已定**(2026-06-26):指标卡 → 走势图 → AI 诊断报告(L4) → 季度+题材对比 → 编导对比 → 双引擎象限图。范围选择器走方案 A(按自然年分页 + 年内 dataZoom 滑块)。
- **关键数据**2026 年基础目标 0.6448,摸高目标 0.8989。25 期完整收视数据在 `example/2026收视update.xlsx`。5 位编导:张彤枫/付天雨/孙逸昊/穆佩弦/左鑫。
- **GT↔Excel 映射**ground-truth 的 20 期 ep 编号与 Excel 期次不同(GT 用重映射编号),脚本通过关键词匹配标题。5 期无标签:第1/2/9/24/25期。
- **L2 打标已收摊**2026-06-26):三个 Prompt 均可用(分类80%/结构85%/钩子90%),GT v0.5.0 20期6字段全覆盖。
- **003 迁移已执行**2026-06-26):episodes 表 +7 列 +3 索引到位。`schemas/episode.py` 尚未加新字段,留待 L3 API 时同步。
- **下一步**:① 原型视觉微调收尾;② 页面线框图定稿;③ 进 React 前端实现(Cline 主力,Claude 审关键逻辑)。
- **单期详情页**:走势图柱子可点击跳转(已登记需求入口,独立子项目,暂不实施)。
---
## 8. 待确认 / 开放问题(需制片人拍板)
- [x] ~~Prompt 1 的 4 分类字段枚举最终口径~~ → 已在 v2 快照锁定(见 §1.4)
- [ ] 多 LLM 共识机制的模型阵容(MiMo + GLM 5.2 + ?)待选型测试后定
- [x] ~~L3 分析引擎是否需要超出 Excel 8 Sheet 的额外分析维度~~ → 暂不增加,先复刻 Excel 能力
- [x] ~~范围选择器方案 A vs B~~ → 方案 A(按自然年分页),2025 年以前无文稿无 AI 标签不适合跨年混算
- [x] ~~L4 诊断报告放在页面什么位置~~ → 走势图下方(制片人定调:诊断是最有含金量的内容)
- [ ] L4 诊断需要哪些外部搜索 API(同时段竞争节目热度等)
- [x] ~~下一步优先级:先推 Prompt 1 还是先推 schema 加字段方案?~~ → Prompt 1 先行,已完成 v0.380%
- [x] ~~Prompt 1 示例集是否需要扩充?~~ → v0.3 已扩至 7 个示例(含防空反导、硅基大脑等易错案例),全对率 80%