Files
tps-dashboard/note/续接快照_看板分析升级_设计讨论_v3.md
T

16 KiB
Raw Blame History

续接快照 — 看板分析升级 v3(AI 打标流程设计阶段)

用途:下次新 chat 接力用。承接 2026-06-09 v1 + 2026-06-10 v2,包含 2026-06-11 一整天讨论。 状态:AI 打标流程设计已收敛;Cline 实操指令已交付至 Step 1.A/1.B;等 Cline 反馈推进 1.C。 更新时间:2026-06-11 顾问:Claude Opus 4.7 制片人:刘通


零、本快照与 v1/v2 的关系

v12026-06-09)和 v22026-06-10)的所有结论全部仍然有效,不替换。本 v3 是增量,主要做了三件事:

  1. 用 11 篇真实文稿验证 v2 的叙事结构 3 档分法,发现 3 档不稳,收为 2 档
  2. 锁定 10 期基准答案集 v0.1(叙事结构 + 开篇钩子两个字段)
  3. 设计完整的 AI 打标流程并启动 Cline 实操

一、今天最重要的两项决策

1.1 叙事结构 3 档 → 2 档(路 B 方案)

v2 写进规格的 3 档"强主线悬念 / 主线演进 / 并列结构"——经过 10 期真稿验证发现"强主线悬念 vs 主线演进"在实操中区分不开(两档都满足"打乱顺序观众能跟上"),且 v2 心法"打乱顺序观众是否一头雾水"AI 打标无法稳定执行。

最终采用路 B 方案:合并为 2 档:主线演进 / 并列结构

判别尺度:

  • 主线演进 = 全片由某种"贯穿主线"串起来。主线可以是:

    • a) 内在概念(哲学命题/反差/共同绝境/共同特征,如"自然 vs 人类"、"绝境逼出创新"
    • b) 时间/因果链(技术演进时代线、装备发展史)
    • c) 性能阶梯(从弱到强、从慢到快)
    • 心法:打乱顺序观众觉得逻辑乱,但能跟上
  • 并列结构 = 各段相互独立、相互可替换,共性只来自分类共性(命名/装备域/空间方位),不是有张力的主线

    • 心法:打乱顺序观众基本无感

关键边界(这些都不构成主线)

  • 命名共性:4 件装备都以"马"命名 → 不是主线
  • 装备域共性:5 件装备都装了 AI → 不是主线
  • 空间方位共性:远/中/近程防空 → 不是主线

真正的主线必须能让"段 A 是为了铺垫段 B"或"段 B 回应段 A 的命题"。

1.2 字段最终版(覆盖 v2 §2 相关字段)

字段 类型 枚举
narrative_structure 单选 主线演进 / 并列结构从 3 档收为 2 档
其他 5 字段(program_format/equipment_domain/scene_tags/tech_tags/opening_hook 维持 v2 定义不变

二、10 期基准答案集 v0.1(已锁定)

10 期清单(取自 v2 §5.1 的 11 篇文稿,X-76 完稿/最终稿合并为 ep14,用最终稿):

期次 节目 收视 narrative_structure opening_hook
3 硅基大脑 0.85 并列结构
4 潜艇仿生 0.92 主线演进
5 舰证不凡 0.72 并列结构
7 马年军事图鉴 0.95 并列结构
10 射速决定论 0.703 并列结构
11 空战颠覆者 0.859 主线演进
12 逆袭战局 0.85 主线演进
13 长短智慧 0.533 并列结构
14 X-76 飞行器 0.873 并列结构
15 空中坚盾 0.875 并列结构

分布:3 主线演进 / 7 并列结构;钩子 3 强 / 6 中 / 1 弱。

基准答案集是"活的",不是写死的答案

  • 它是 AI 打标 prompt 里的 few-shot 示例
  • 通哥审稿时如果判断更准 → 把新一期加入示例集 / 替换某期
  • 长大到 30 期、80 期,会逐步切换到 pgvector 向量检索机制

与 v2 Excel 草标签的关键修正

  • ep03 硅基大脑:v2 标"主线悬念(弱)+热点" → 改为 并列结构 + scene_tags=热点跟进
  • ep07 马年图鉴:v2 标"强主线(符号统摄)" → 改为 并列结构(符号统摄不另立维度,由开篇钩子 + scene_tags=节点策划 共同承接其 0.95 高分)
  • 其他 8 期标签按 2 档制重新映射详见 ground-truth.json

三、AI 打标流程完整设计

3.1 三阶段流水线

新一期文稿 → [阶段1 AI 出草稿] → [阶段2 制片人审核] → [阶段3 落库]
                  ↓                      ↓               ↓
              3 个 prompt 串行          独立小工具       标 confidence
              + 置信度自评              + 替换示例集    + 上看板

3.2 Prompt 拆 3 个独立调用(不合并)

  • Prompt 1:节目形态 + 装备域 + 场景标签 + 技术线(4 个分类字段)—— 待写
  • Prompt 2:叙事结构(已写第一稿,含 3 示例
  • Prompt 3:开篇钩子(只看前 1-2 分钟文本)—— 待写

理由:合并 prompt 顾此失彼,独立可单独调示例集、单独看准确率,可不同字段用不同模型。

3.3 置信度三档(对齐 v2 §5.4)

落库 confidence 来源 UI 颜色
制片人确认 制片人在审核界面点了"确认" 深绿
AI建议-高置信 AI 自评高 + 制片人尚未审核 浅绿
AI建议-中置信 AI 自评中 + 制片人尚未审核
AI建议-低置信 AI 自评低 + 制片人尚未审核(强制优先审核)
标题推断 文稿缺失,只靠标题猜

3.4 模型选型:3 个候选(M2.7 砍掉)

模型 角色 备注
MiniMax M3 主推 Cline 现已配置,1M 上下文,国内站 api.minimaxi.com
DeepSeek V4Pro 或 Flash 替代候选 1M 上下文,价格低
小米 MiMo v2.5 Pro 替代候选 1M 上下文,MIT 开源 + API

M2.7 已确认不稳定(通哥实战验证——读文稿写笔记总犯错),从候选阵容剔除

成本估算:单期 3 prompt 调用 ≈ 2 万 token 输入 + 2000 token 输出。选型阶段全程总成本约 20 元。

3.5 审核 UI 与看板的关系(严格方案,已定)

  • 审核小工具放在制片人页(加图标),独立于大看板
  • 未审核字段在看板上显示"待审核",不显示 AI 草稿值
  • 制片人审过后,已确认值才进入看板给编导看
  • 严格方案,保证编导看到的全是经过质量门的数据

3.6 示例集"慢慢长大"机制(非常重要)

关键澄清:完全不需要"训练 AI"。LLM API 是无状态的,每次调用模型本身冻结。所谓"示例集"实际上是每次调用都要带进 prompt 的参考资料——是 AI 的"判官手册",不是它内化的能力。

  • 示例条目只塞"摘要 + 标签 + 理由"(每条 ≈ 350 token),不塞原文
  • 判别准则 markdown 是独立部分(稳定不变)
  • 示例集 + 判别准则一起塞 prompt

技术演化路径:

示例池规模 技术方案
10-30 期 全部塞 prompt
30-80 期 pgvector 算相似度,每次挑 8-12 期相似示例
80+ 期 5 个经典固定示例 + 5-8 个动态检索示例

栈里 pgvector 已就位(v1 §7),第二阶段不新增依赖。

3.7 prompt 缓存月度更新纪律(待加入 backlog F1)

DeepSeek V4 / 小米 MiMo 等模型支持 prompt 缓存,命中后输入价格降 80%。

纪律:示例集每月集中更新一次,不碎片化更新。日常审稿时把"想替换的候选"先记本子上,月底统一改。这样既保持示例集"慢慢长大",又能吃到缓存红利、压住 token 成本。


四、Cline 实操进度

4.1 工作区目录结构(已定)

E:\tps-dashboard\ai-labeling\          ← 新增顶层目录
├── benchmark-set\
│   ├── transcripts\                   ← 10 份文稿(.md
│   └── ground-truth.json              ← 10 期标准答案
├── prompts\
│   ├── prompt2_narrative.md           ← Prompt 2 第一稿(含 3 示例)
│   ├── prompt1_classification.md      ← 待写(下一步)
│   └── prompt3_hook.md                ← 待写(下一步)
├── experiments\                       ← 每次跑结果(不入 git)
├── scripts\
│   ├── run_labeling.py
│   ├── import_transcripts.py
│   └── requirements.txt
├── .env.example
├── .gitignore
└── README.md

4.2 实操步骤路线图

步骤 内容 验证什么 状态
1.A Cline 创建目录结构 + 7 个文件骨架 文件创建对不对 指令已交付
1.B Cline 拷贝 10 期文稿 docx→md 文件到位、清洗后无 ** 符号 指令已交付
1.C pip install + M3 单跑 ep04 潜艇仿生 Prompt 写对、JSON 输出对 待执行
1.D 调 prompt(如 1.C 没命中) Prompt 调好后再做下一步 待执行
2 M3 跑全 10 期 M3 命中率 待执行
3 切 DeepSeek V4 跑全 10 期 模型对比 待执行
4 切小米 MiMo 跑全 10 期 模型对比 待执行
5 多模型对比表 → 通哥拍板用哪个模型 选型决策 待执行

4.3 MiniMax M3 技术参数(已查证 platform.minimaxi.com 文档)

项目
base_url https://api.minimaxi.com/v1(国内站,注意 i
model 字段 MiniMax-M3大小写敏感,写成 minimax-m3 会报 "model not found"
OpenAI SDK 兼容 ✓ 支持
openai 库版本 锁定 openai==1.55.0(避免新版自动把 system 转 developer 角色,MiniMax 不支持 developer 角色)
response_format JSON mode ⚠️ 文档未明确,不用此参数,改 prompt 末尾强约束(跨模型兼容)

4.4 三段已发的 Cline 指令(关键参数留存,避免再查)

如新 chat 顾问需重发 Cline 指令,关键参数:

# MODEL_CONFIG(在 scripts/run_labeling.py 中)
MODEL_CONFIG = {
    "m3": {
        "base_url": "https://api.minimaxi.com/v1",
        "model_name": "MiniMax-M3",
        "api_key_env": "MINIMAX_API_KEY",
    },
    # DeepSeek V4 / 小米 MiMo Step 3-4 阶段才加
}

# call_model() 函数——不要 response_format 参数
response = client.chat.completions.create(
    model=config["model_name"],
    messages=[
        {"role": "system", "content": system_prompt},
        {"role": "user", "content": user_prompt}
    ],
    temperature=0.1,
    # ❌ 删 response_format={"type": "json_object"}
)
# requirements.txt
openai==1.55.0
python-dotenv>=1.0.0
# prompts/prompt2_narrative.md 的 USER 部分末尾必须有:

【重要:输出约束】
你的回复必须是且只是一个合法的 JSON 对象,不要有任何前置说明、
后置说明、markdown 代码块包裹(不要 ```json 标记)、思考过程描述。
直接输出 { 开头,} 结尾的纯 JSON。

4.5 10 期文稿映射表(Step 1.B 用)

源目录:E:\TPS-我和顾问的便签\刘瑞桦收集\ 目标目录:E:\tps-dashboard\ai-labeling\benchmark-set\transcripts\

源 docx 目标 md
硅基大脑终稿.docx ep03_硅基大脑.md
潜艇的仿生之路.docx ep04_潜艇仿生.md
_舰__证不凡一稿.docx ep05_舰证不凡.md
马年军事图鉴0125.docx ep07_马年图鉴.md
_枪械射速决定论_0225.docx ep10_射速决定论.md
完稿_武器进化论_空战颠覆者.docx ep11_空战颠覆者.md
逆袭战局的组装武器.docx ep12_逆袭战局.md
枪械设计中的长短智慧总稿.docx ep13_长短智慧.md
_X_系列新成员_X-76飞机-最终稿.docx ep14_X76飞机.md
空中坚盾__解码现代防空网.docx ep15_空中坚盾.md

注意:ep14 用最终稿,不用完稿(两版结构一样,仅措辞润色差异)。

文件处理逻辑:检测前 4 字节,若为 PK\x03\x04 是真 zip docx(用 python-docx 提取),否则是 UTF-8 纯文本(被命名为 docx)直接读取。清洗:去掉 ** 强调符号、连续空行合并。


五、Prompt 2 第一稿核心要点

写在 ai-labeling/prompts/prompt2_narrative.mdCline 已写入)。结构:

  • SYSTEM 部分(可缓存):

    • 角色:《军事科技》栏目内容分析助手
    • 判别准则:2 档定义 + 心法
    • 关键边界:3 类不构成主线的共性
    • 示例集:潜艇仿生(主线演进-内在概念)/ 空战颠覆者(主线演进-时间线)/ 马年图鉴(并列结构-命名共性)—— 3 例
    • 输出 JSON schemanarrative_structure / main_thread / reasoning / key_evidence / confidence / confidence_reason
    • 置信度自评标准
  • USER 部分

    • {transcript} 占位符
    • 输出强约束(避免 markdown 包裹)

剩余 7 期(ep03/05/10/13/14/15)的示例待 v0.2 补——等 M3 跑通后看是否还需要扩示例集。


六、待办池(建议追加到 backlog.md)

F1. AI 打标示例集更新纪律【优先级:中,上线后启用】

  • 背景:示例集占大头 tokenDeepSeek V4 / 小米 MiMo 等模型支持 prompt 缓存,命中后输入价格降 80%
  • 纪律:示例集每月集中替换一次,不碎片化更新;想替换的候选先记本子上,月底统一改
  • 触发时机:AI 打标系统上线后第 1 个月起

F2. Prompt 1 + Prompt 3 撰写【优先级:中,等 Prompt 2 验证后】

  • Prompt 1:4 分类字段(节目形态/装备域/场景/技术线)
  • Prompt 3:开篇钩子(只看前 1-2 分钟)
  • 等 Prompt 2 在 M3 上验证通过、命中率 OK 后再写

F3. Decision 3 横轴量化方法落地【优先级:中】

  • v2 §3 已基本定(栏目均值偏离),但还没真正算过 23 期具体数值
  • 跟 Prompt 1 撰写并行,可单独推进

F4. 23 期回填确认(继承 v2 §5.5)

  • ep15 空中坚盾原"空军防空" → 应该是 导弹与反导?请确认
  • ep16 启程远航原只有 scene_tag "节点策划"equipment_domain 缺失,疑似 海军舰船
  • ep18 海上先锋·无人舰艇 → 海军舰船 + tech_tag=无人作战,请确认

七、纪律红线(沿用 v2 §6 + 增补)

沿用:

  • 改表须 Opus 审Cline 不得自行加字段
  • AI 只出草稿、给方向,人拍板
  • 不做编导排名(团队视角走"能力地图")
  • 置信度三档必须在 UI 上可辨
  • 时间边界永远显式可调

新增(v3 引入):

  • 未审核字段不上看板,编导只看已确认数据
  • AI 打标三个 prompt 独立,不合并
  • 示例集每月集中更新,不碎片化(吃缓存红利)
  • Prompt 内容不让 Cline 创作——Cline 是执行者不是作者,Prompt 由 Opus 写、Cline 落文件

八、技术备忘(沿用 v2 §7 + 新增)

沿用:

  • 栈:React18 + Vite + AntD5 + Zustand FastAPI + SQLModel + PG16 + pgvector
  • 图表:ECharts / @ant-design/charts
  • 配色固化:米色底 #fbf9f1、深绿主色 #6b8e6b
  • 三色色板:红 #c0584f / 蓝 #5b8db8 / 绿 #7aa874
  • 基础线 0.6448 / 摸高线 0.89892026

新增(AI 打标实验):

  • AI 打标工作区独立顶层 E:\tps-dashboard\ai-labeling\,不混进 backend
  • 模型 API 调用走 OpenAI SDK 兼容接口(避开 Anthropic 接口的 developer 角色坑)
  • experiments/*.json 不入 git(结果不固化)
  • prompts/*.md 入 git(核心资产)
  • benchmark-set/ 入 git(标准答案 + 文稿是栏目核心资产)

九、新 chat 开局第一句

"续接 v2 → v3。今日完成:叙事结构改 2 档制(主线演进/并列结构)、10 期基准答案集 v0.1 锁定、AI 打标流程完整设计、Cline 已收 Step 1.A + 1.B 指令。先把 Cline 跑到哪儿的结果贴回来给我看,然后推进到 1.C 跑 ep04 潜艇仿生。"


附:今日核心结论一句话总结

叙事结构 3 档收为 2 档(主线演进/并列结构);10 期基准答案集 v0.1 锁定;AI 打标流程三阶段流水线 + 3 prompt 独立调用 + 置信度三档 + 模型选型阵容(M3/DeepSeek V4/小米 MiMoM2.7 砍掉)全部定稿;Cline 实操路线 1.A → 1.B → 1.C → 2 → 3 → 4 → 5 已铺好,下一步等 Cline 反馈推进 1.C。