Bio-Audit 演示讲稿(5 分钟)· demo/docs/demo-script.md
窗口:N-e(execution-plan §六.十八 N-e 13)|日期:2026-08-19 依据:demo-redesign-design v0.3 §2(目标/观众)、§3.2(推荐轨迹清单与默认路径)、 §12(留实现窗口处理:PMID 断网纪律 / 63.7 vs 66.7 话术 / 预热纪律)+ 台账 §5 收口。 配套:
streamlit run demo/app.py(冷启动实测 5.18s ≤10s 到可交互;演示前先启动预热一次)。 默认演示路径与工坊页「恢复演示默认态」按钮语义一致:scrna / 经典轨迹 / [scrna_correct, scrna_error] 并排结果就绪(缓存命中,秒级)。
0. 开场(0:00–0:20)
话术:”Bio-Audit 是一个给单细胞分析 AI Agent 当’方法学监考’的确定性审计系统—— 管线被拆成一条条决策,逐条对照文献锚定的规则打分、给依据、留证据。 接下来 5 分钟,我用真实数据走一遍四页演示。”
操作:应用已处于审计工坊默认态(若中途状态被改:点「恢复演示默认态」两次, 回到 scrna / 经典轨迹 / scrna_correct + scrna_error 并排结果就绪)。
1. 审计工坊——审什么(0:20–1:30)
操作序列(默认路径,无需额外点击即可讲):
| 步骤 | 操作 | 预期画面 | 话术要点 |
|---|---|---|---|
| 1.1 | 看向左侧级联 | 范式 scRNA · 案例类型 经典轨迹 · 案例轨迹 scrna_correct | “范式 → 案例类型 → 轨迹三级联动;上级变更自动清空下级” |
| 1.2 | 看向对比区 | 轨迹对比 [scrna_correct · 85.0 pass, scrna_error · 40.0 blocked] | “最多三条并排,决策行按本体顺序对齐——缺失列显示『无此决策』,错位即信息” |
| 1.3 | 指向并排对比表 | 两列轨迹逐决策对照(level 徽章 + 选择) | “同样跑完整管线:正确的 85.0 pass,跳了关键步骤的 40.0 blocked——审计评的是科学逻辑链,不是只看终答” |
| 1.4 | 指向 85.0 大卡 | 分数大卡 + 绿色 pass 色点 + 快照徽章 | “分数实时由引擎现场重算,零硬编码;每个结果都带快照徽章:engine 0.3.0 · ruleset 1.7.0 · ontology 0.1.3 + 生成时间——任何数字可溯源、可复现” |
| 1.5 | 指向决策状态点 | L3 绿 / L2 青 / L1 黄 / L0 红 / L-1 灰 五档徽章网格 | “每一档都有文献依据;L-1 灰是『无法评估』,不是危险——与 verdict 红点严格区分” |
| 1.6 | 指向时间轴 | 阶段分组 + 四色节点 + 已审计标记 | “时间轴由决策点 + 本体阶段推导,不伪造 workflow 字段” |
| 1.7 | 指向证据卡 | PMID 悬停徽章 | 纪律话术:”证据卡里 PMID 是悬停徽章——悬停显示编号、不点击(演示现场不断网、不跳外链)” |
备用演示点(时间允许才讲):
- 选
scrna_edge_singleanno运行 → 60.0 · pass——关键话术: “分数不饱和的 pass 是单决策边缘案例”:60.0 不接近满分,但没有任何致命级(L0) 决策,verdict 就是 pass——分数是连续轴,verdict 是门限判据,两者必须一起看。 - 选
scrna_melanoma_cellvoyager运行 → 29.0 · blocked——29/30 双口径注: “29.0 = D5 修复后实测(当前快照 ruleset 1.7.0);评测页 30.0 = K1 后重评 (ruleset 1.5.0 口径)——同一 Agent 运行,两套口径不混写”(页内注释随快照自动更新)。
2. 采集演示——怎么审(1:30–2:15)
操作序列:侧边栏切「采集演示」→ 默认即 63.7 复现链路就绪。
| 步骤 | 操作 | 预期画面 | 话术要点 |
|---|---|---|---|
| 2.1 | 指向对齐表 | 四类判定四色(一致 10 / 虚报 1 / 漏报 0 / 未验证 0)+ 补入 expected 1 | “交叉验证把『声明了但没做』当场抓出来——skip_doublet 声明被判虚报、撤销” |
| 2.2 | 指向 verdict 流转 | provisional 11 → final 13 / revoked 1 三态计数条 + 逐行流转 | “M1 主动上报即 provisional,交叉验证一致转 final、判虚报撤销为 revoked——状态位全程留痕” |
| 2.3 | 指向 63.7 大卡 | 63.7 · blocked 红卡 + 「与断言基准一致 ✓」徽章 | “10X-B 静默跳过双联体检测 → 预期决策点缺失被补入 → 该做没做 → 致命级 L0 → blocked 63.7。与断言基准 windowL_10X_B_expected.json 实时比对一致” |
| 2.4 | (可选)取消勾选 doublet_detection | 立即变 80.0 · pass + 「与断言基准不一致 ✗」 | “静默跳过在预期清单外就看不见了——这就是 expected_types 机制存在的意义” |
机制/现象分工:工坊页点按钮看结果(现象层);本页勾选清单实时重算(机制层)—— 两处数字同源(共享 capture_chain),任何一处都可独立复算。
3. 评测与奖励——凭什么信(2:15–3:10)
操作序列:切「评测与奖励」→ 四 tab 依次讲。
| 步骤 | 操作 | 预期画面 | 话术要点 |
|---|---|---|---|
| 3.1 | Tab1 benchmark | recall 0.820 / precision 0.7455 / F1 0.7810 / IRR κ=0.8336 | “60 任务双标注回归底座:κ 出处 F1 报告;gap +0.046(M 后复跑 +0.0449)在预注册容差区间内无告警——引擎自身持续被评测” |
| 3.2 | Tab2 平台对照 | 五份黄金对照 + 口径纪律 callout | “Smart-seq2 vs 10X 决策集差异:10X 多双联体/UMI/批次维度。口径纪律:63.7 仅限 10X-B expected 口径、66.7 仅限 Smart-seq2-C 口径,禁止混写” |
| 3.3 | Tab3 reward | 映射表 + spike-in 掉分条 | “level→reward 非线性映射,L-1 mask 不参与分子分母;当前诚实标注 experimental_uncalibrated——未做 RLHF 校准” |
| 3.4 | Tab4 真实评测档案 | 两次运行 30.0×2 + 成本 ¥2.55/¥0.43 + R0 ρ=0.9747 | “真实 LLM 运行如实呈现:高分不保证如实兑现;黄金对照是确定性脚本非 LLM——对象不同、口径分列” |
4. 关于页——我们是谁(3:10–3:40)
操作序列:切「关于」。
| 步骤 | 操作 | 预期画面 | 话术要点 |
|---|---|---|---|
| 4.1 | 指向三价值层 | 01 lint 审得准 / 02 benchmark 信得过 / 03 reward 可训练 | “价值层白话:逐条标错 → 可追溯可复现 → 系统自己也被评测” |
| 4.2 | 指向工程数字 | 274 测试 / 3.10+3.12 双矩阵 / golden 0 差异 / 三元组快照 | “274 项测试、CI 双矩阵全绿、golden 回归 0 差异——任何分数可复现” |
| 4.3 | 指向 takeaway | 三句话带走 | 按观众挑一句收尾(见 §6 话术卡) |
5. 收尾与答疑位(3:40–5:00)
话术:”总结三句话:逐条标错、可追溯可复现、系统自身也被评测。 演示不是脚本——四页全部实时计算,你可以现场换轨迹、改勾选,数字跟着变。”
预留 ~80s:答疑 / 现场换轨迹(范式 DEG/Pan-Cancer 的引导文案也可演示: “黄金对照与真实评测仅 scRNA 范式提供”)/ 展开规则匹配明细(Split Button ▾ → 查看规则匹配明细)。
6. 关键话术卡(背熟,五条纪律)
| # | 场景 | 话术(原文) |
|---|---|---|
| K1 | 分数-verdict 关系 | “分数不饱和的 pass 是单决策边缘案例”——scrna_edge_singleanno 60.0 · pass:没有致命级决策,verdict 就是 pass;分数是连续轴,verdict 是门限判据,两者必须一起看 |
| K2 | 29/30 双口径 | “29.0 = D5 修复后实测(当前快照 ruleset 1.7.0);评测页 30.0 = K1 后重评(ruleset 1.5.0 口径)——同一 Agent 运行,两套口径不混写”(版本号随快照自动更新,禁止照抄旧示例) |
| K3 | 63.7 vs 66.7 分数-verdict 错序 | “63.7 · blocked(10X-B expected)和 66.7 · needs_correction(Smart-seq2-C)分属不同平台×版本口径,禁止混写;分数排序 ≠ 结论等级排序——blocked 判据是存在致命级(L0)决策(双联体补入 L0),66.7 是 QC 硬阈值风险(无 L0)。结论等级看 verdict 门限,不只看分数” |
| K4 | PMID 断网纪律 | “证据卡 PMID 是悬停徽章:悬停显示编号、不点击——演示现场不跳外网,断网也可用” |
| K5 | 预热纪律 | “演示前先启动预热一次”:冷启动实测 5.18s(≤10s 预算),预热后缓存命中、恢复默认态秒级出结果;现场不要让观众等首次加载 |
7. 演示前检查单(每次演示前过一遍)
streamlit run demo/app.py已启动并预热一次(跑一遍默认路径:恢复演示默认态 ×2)- 页面停留在审计工坊默认态(scrna / 经典轨迹 / [scrna_correct, scrna_error] 并排就绪)
- 断网纪律自查:全程不点击 PMID、不打开外链(演示环境可离线)
- 分辨率 ≥1280px(窄屏仅保证不溢出,建议投屏 1440+)
- 若演示中途状态被改:「恢复演示默认态」点两次回到讲稿起点
8. 故障预案
| 现象 | 处理 |
|---|---|
| 恢复默认态后无结果 | 缓存未命中时秒级重算(spinner 正常);仍无结果则点击「运行审计」手动出分 |
| 63.7 断言徽章变 ✗ | 数据被改动——跑 python demo/scripts/verify_demo_data.py 核对;正常情况下恒 ✓ |
| 切换范式后对比区被清空 | 设计行为(防跨范式混口径),重选轨迹即可 |
| 观众要求看 DEG 黄金对照 | 演示引导文案:”黄金对照与真实评测仅 scRNA 范式提供”(空类型引导,非 bug) |
讲稿产物:N-e 窗口(2026-08-19)。默认演示路径与工坊页「恢复演示默认态」语义一致, 数字全部来自实时引擎与 demo/data 提炼摘要(零硬编码),随版本自动更新。