一堂课的完整评价过程

样本课 TJLG-XSX-T14-20250320 · 真实数据 · 所有判定可在本页修正并实时看到下游影响
本页描述的是建议全部落地后的终态:L4 评价已移除,直评出分;合规/事实核验/知识点覆盖走独立通道不进打分。

一、这堂课一共调了几次模型

1
ASR 转写(转完冻结,下游复用)
1
VLM(信息卡 12 字段 + 5 段文本,同一次)
9+N
LLM(直评3 + 判定B 1 + 合规1 + 核验1+N + 报告3)
14
纯规则环节(零模型调用)
合并到什么程度 · 这是本次审查的核心问题
原本看似独立的环节实际是否合并
课型分类 · 特征标记 · 多模态取证 · 章节 · 课时起止 · 开课纪律同一次 VLM 调用(判定 A)。资料包本就是「10 段 × 时间戳+分段文本+关键帧」,凡需时间锚的判定都搭这趟车。课型级联是规则不是模型,零额外成本
半堂课 · 课型文本判定合并为判定 B 一次轻量 LLM。课型普查按 E7 是抽样一次性的,非每课必跑
课程分诊(ASR 质量)零调用。逐字置信度是转写的副产品,聚合是纯算术
直评 · 事实核验 · 合规不能合并 —— 见下
取证 ≠ 判定:取证(1×ASR + 1 次抽帧)必须合并;判定不一定——信息卡已是 17 项输出,再塞就稀释(实证:8 条护栏版本在 DEV 上全面劣于 5 条版本)。故按「看画面」与「读文本」分两次判定,输入不同、失败模式也不同。
为什么直评/核验/合规三个必须分开:合并意味着同一个模型在同一上下文里既打分、又查事实、又审合规。而实证是任何 LLM 层都会复制原先验(分诊 v3 的措辞校正把重度召回 100%→0%);三件事混在一起,"找茬先验"会直接污染评分。这不是冗余,隔离本身就是设计目的。
顺序上的两处省钱点

① 准入不调 VLM。 拆开 admission / course_type 之后,准入只需 ffprobe + 画面扫描 —— 不合格的课根本不用抽帧调 VLM。原来的 A/B/C 把两件事塞在一个 VLM 判定里,所以每门课都得先花一次 VLM。

② A 桶在 P11 终止。 路由排在直评之前,排除评分的课省掉后面 9+N 次 LLM 调用

二、全流程图 · 从拿到视频到报告发布

清单读不出分支与并行,所以先看图。三件事只有图说得清楚: 三个准入检查点是渐进的(便宜的先判,废文件不必走完转写+抽帧+VLM); 阶段二与阶段三并行 阶段四被两个人审通道卡着。
一堂课从视频到评价完成的处理流程 阶段一 · 取证与准入 1×ASR + 1×VLM + 1×轻量 LLM · 三个准入检查点由便宜到贵渐进排布 阶段二 · 直评出分 ‖ 阶段三 · 合规 · 核验 · 覆盖 两条链并行跑;阶段三不进打分,但其中两项卡住阶段四的发布 阶段四 · 报告与发布 须等阶段三的两个人审通道都放行 元数据与硬闸 ffprobe 六项:容器/时长/分辨率/编码/码率/大小 规则 画面与噪声扫描 静音比 · 黑屏比 · 冻结比 · 音频 RMS 分位 规则 准入检查点 ① TECH_FAIL?——纯元数据即可判 抽音频 16k mono,只读原视频 规则 转写 全文 + diarization + 逐字置信度 1×ASR ASR 质量标记 逐字置信度课级聚合 → 分位数 规则 准入检查点 ② ASR_UNREADABLE?——不自动驳回 抽帧 按 ASR 时间戳切 10 段 + 4×4 cover 规则 通过 通过 驳回 · 技术不合格 视频本身不达标 → 请教师重新上传 不通过 推人审 · 人确认后才驳回 阶段性统计「人审 ↔ 置信度判断」一致率 存疑 全流程只转写一次,转完冻结, 下游所有判定复用同一份产物 取证到此为止 —— 1×ASR + 1×抽帧,之后不再碰视频 同一份资料包(时间戳 + 分段文本 + 关键帧)· 三路判定并行 判定 A · 看画面 信息卡 12 字段 · 章节 课时起止 · 开课纪律 1×VLM 判定 B · 读文本 半堂课(纯语义) 课型文本判定 1×LLM 非主讲块级判定 块 + 教师引入语定性 不用时间窗 规则 课型级联 网课 → 学生分享 → 剪辑 → 普通(先命中先判) 规则 章节校验 校验而非重判 规则 准入检查点 ③ TYPE_OUT?——课型不在评价范围内 不一致 → 进裁决,不重判 (606 语料实测 21% 章节错标) 驳回 · 课型不参评 请教师重新上传符合要求的课程视频 不通过 直评出分 K=3 独立上下文 → raw_score 0–100 + 证据字段 输入只有 ASR 全文 + 一条防冤枉句 3×LLM 分数分层 raw —— 复核 / 分析 / 排名 report 75–95 —— 只给教师 规则 复核触发 最低 10% + 最高 10% —— 双侧 AI 更容易看错的是好课,折扣 2.6–2.8× 规则 复核队列 · 成对人审 只裁决、不改分 不阻断发布 合规审查 五维(新增 classroom_conduct)+ category 政治红线 + 课堂不当言论 1×LLM 事实核验 抽断言 → 逐条核 → 四分类账本 产分级教研纠错单 1+N×LLM 知识点覆盖 关键词匹配 + 章节锚 只作教研提示、不进分、不阻断 规则 合规人审 · 核验人审 合规:flagged 即须人工批准 核验:仅 fabricated ∧ 承重 才阻断 通过 → 可评 报告生成 直评证据 + 账本 + 覆盖 + 信息卡叙事 + 禁词兜底 3×LLM 发布闸 合规与事实核验两个通道都放行才发布 报告发布给教师 报告素材 放行后才发布 图例 纯规则(零模型调用) 模型调用 检查点 / 闸 驳回出口 人工环节 终态
驳回出口一律是「请教师重新上传符合要求的视频」——本项目不做修复;教师确无可提交的视频,不提交即可。 单独打开 SVG ↗
逐环节明细 —— 左列是环节编号与该环节的每课模型调用次数;金点 = 有模型调用,灰点 = 纯规则。

阶段一 取证与准入

P00
元数据与硬闸
输入 原始视频 处理 ffprobe 六项:容器/时长/分辨率/编码/码率/大小
probehard_gate
P10
画面与噪声扫描
输入 视频 处理 静音比 / 黑屏比 / 冻结比 / 音频 RMS 分位
scannoise
P20
★ 准入检查点①
输入 P0+P1 处理 TECH_FAIL? —— 纯元数据,不调 VLM,不合格的课不再往下花钱
TECH_FAIL
P30
抽音频
输入 视频(只读) 处理 16k mono mp3
audio
P41×ASR
转写
输入 mp3 + 热词表 处理 fun-asr:全文 + diarization + 逐字置信度,一次转写后冻结复用
asrdiarconf
P50
ASR 质量标记
输入 逐字置信度 处理 课级聚合 → 分位数 → 标记「质量存疑」
asr_quality
P60
★ 准入检查点②
输入 P5 处理 ASR_UNREADABLE? → 推人审,人确认后才驳回(不自动)
ASR_UNREADABLE
P70
抽帧
输入 视频 + ASR 时间戳 处理 按 ASR 时间戳切 10 段 × 2×2 拼图 + 4×4 cover
frames
P81×VLM
★ 判定 A · 看画面
输入 10 段(时间戳+分段文本+关键帧) 处理 信息卡 12 字段 + 5 段叙事 + 章节 + 课时起止 + 开课纪律(内部有序:先定起点再判纪律)
info_card章节起止纪律
P91×LLM
★ 判定 B · 读文本
输入 正课首尾文本 处理 半堂课 + 课型文本判定(新授/复习/实践/讲座)
半堂课课型文本
P100
★ 非主讲块级判定
输入 diar + ASR 教师话语 处理 分块(主讲一开口即断块)→ 逐块看前置教师引入语定性 → 只保留学生块。不用时间窗
stu_ratio可观测性
P110
课型级联
输入 信息卡 处理 网课 → 学生分享课 → 剪辑课 → 普通课(先命中先判)
course_type
P120
章节校验
输入 P8 章节 + 教师所选 处理 校验而非重判,不一致进裁决(606 实测 21% 错标)
chapter_check
P130
★ 准入检查点③
输入 P11 处理 TYPE_OUT? → 驳回,请教师重新上传符合要求的视频
TYPE_OUTevaluable

阶段二 直评出分

P143×LLM
直评
输入 ASR 全文 + 两条防冤枉句 处理 K=3 独立上下文 → raw_score 0-100 + 证据字段 + 三态处置
raw_scorestrengths
P150
分数分层
输入 raw_score 处理 raw(复核/分析/排名)· report 75-95(只给教师)
rawreport
P160
复核触发
输入 raw_score 分位 处理 最低 10% + 最高 10% 双侧 → 成对人审
review_queue

阶段三 合规·核验·覆盖

P171×LLM
合规审查
输入 ASR 全文 处理 五维(新增 classroom_conduct)+ flagged_content 带 category阻断发布
compliance
P181+N×LLM
事实核验
输入 ASR 全文 处理 抽断言 → 联网逐条核 → 四分类账本;仅 fabricated∧承重 阻断发布
fact_ledger
P190
知识点覆盖
输入 ASR + 教材词典 + 章节 处理 关键词匹配(只作教研提示,不进分
coverage

阶段四 报告发布

P203×LLM
报告生成
输入 直评证据 + 账本 + 覆盖 + 信息卡叙事 处理 report_v2 三批 + 禁词正则兜底
report_v2
P210
发布闸
输入 合规 + 事实核验人审 处理 两个通道放行后才发布;不设超时,专人审核
publish

三、非主讲声音的块级判定 · 可修正

diar 检出 个说话人,非主讲原始占比 。但"非主讲"不等于"学生" —— 课堂里放视频时,视频原声也会被 diar 归到非主讲。

判据不是时间窗,是块 + 教师引入语。 把非主讲段按"主讲一开口就断块"分块,再看每块前面最近的教师话语说了什么。ASR 自带时间戳,比信息卡那句"大概时段"精确得多。

视频块(剔除) 学生块(保留) 存疑块(不出数)
为什么用这门课当样本 —— 时间窗方案在这里翻车

信息卡记录的放映时段是 「约 22:28 至 35:00」。而实际有两段视频:21:23–23:09(金一南演讲)与 27:28–33:06(支教教师自述)。

那个时段圈中了第二段、漏掉了第一段。所以按时间窗剔除的话,第一段视频的前半(21:23–22:22)落在窗外,被当成了"学生发言"

判法结论正确性
朴素占比(20.0%)适用❌ 含两段视频原声
时间窗剔除(2.6%)适用❌ 剔错了段 —— 留下的正是视频
模型自判(K=3 三次一致)不可观测✅ 对
块 + 引入语学生 0 秒 → 不可观测✅ 对,且给得出理由
真相:三个块全是视频原声,这门课一句可观测的学生发言都没有。教师在 33:14 说「来吧,交流一下…有没有同学?」并点名「思月,阿莲」——学生确实被叫起来了,发言却没被麦克风拾到。这正是「不可观测」的教科书场景。
教训:既有指引的原话是「须按教师引入语逐段判别剔除,只看阈值必误判」。时间窗是对它的简化,而简化的代价在这门课上完整演了一遍。

⚠️ 判据的已知局限:块 2 的前置话语里同时有两个锚点——「我们也一起来看一下这段视频」(视频)与「看完视频之后,我想让同学们来谈谈自己的感受」(学生)。规则按"视频优先"判对了,但理由是碰巧的:真正的区别在于后者是将来意图("看完之后再谈")而非当下邀请。关键词规则分不开这两种语气,所以块判定必须可人工改写,且保留「存疑」这一档。

四、可修正的判定项

改任一项,右列显示下游变化。人工只裁决、不改分 —— 本页产出的是裁决记录,不回写分数。
学生入镜
三分屏
教师出镜
视频放映
切镜
自动录播水印
半堂课判定
互动可观测性
下游实时结论
课型级联
正交标签
路由桶
是否参评
互动可观测性(规则层)
传给评分器的内容
报告页眉徽章

五、裁决记录

与默认判定不同的项会自动进入下表。这份记录就是资产沉淀的入口(裁决 → 路由规则 / 词典 / 金标)。

(尚无修改)

六、本课当前产物

产物
raw_score(K=3)[78, 78, 78] → 均值 78
report_score75–95 映射后的对教师分(本课 raw 78 → 映射区间需按新量程重标
模型自判可观测性['不可观测', '不可观测', '不可观测'] 与规则层不一致
直评理由本课思想主线清晰,以‘中国共产党为什么能’统摄真理信仰、人民宗旨、战略规划与奋斗精神四个维度,理论阐释有学理支撑且案例(独龙族、营养餐)有效服务于价值升华;但后半段‘成语接龙’活动偏离思政课严肃性,将政治叙事娱乐化,削弱了前文建立的理论厚度,且部分环节仍停留在知识点确认层面。
ASR 字数11779
课时区间0s – 2636.8s(无明显冗余段)
配色经 dataviz 校验器验证(dark / surface #131f2e,五项全 PASS),三段另配直接标注不靠颜色单独承载身份。
数据为天理工试点真实产物;分数不用于选优或纠错——直评在专家极值区间内部排序 ρ≈0。