Files
Video-Tree-TRM5/research-wiki/findings/2026-07-15-question-gen-v2-diagnosis-and-strategy.md
T

6.1 KiB
Raw Blame History

出题质量 v2 诊断与重构策略:Phase A 为何不够、四层病灶、锁定方向

  • 日期: 2026-07-15
  • 触发: Phase Agrounded selector)落地并生成 30 道 AR 题后,Claude 三 agent + Codex 独立质量抽检均判"未真正过关";遂精读已下载 6 篇论文,定位根因并锁定 v2 重构方向。
  • 前序: [2026-07-14-ar30-too-easy-analysis.md]96.7% 太简单诊断)、[2026-07-14-hard-distractor-literature.md](首轮文献调研)、[2026-07-14-grounded-question-gen-phaseA-design.md]Phase A 设计)。

一、质量抽检结论:Phase A 部分奏效,但没解决真问题

对 Phase A 生成的 12 道新题 + 8 道旧 baseline 做了两次独立抽检:

Claude 三 agent Codex(独立)
负空间干扰项 基本消灭(12 道仅 1 处) 减少但 grounding 不可审计
仍可 shortcut 4/12 8/12
严格 grounded 多数 仅 1/12
双正解高风险 3 处 4/12

机制层证据:干扰项视觉分落 [0.05,0.35] 甜区 90%——但这是 selector 用自己的 VLM 给自己打分(循环自证)Codex 一针见血:"视觉可信分包装过的、不可审计的近似答案"。

二、四层病灶(根因)

证据
① grounding 来源 同一个 VLM 生成+打分,且是"生成式 judge 打分"而非跨模态度量 → 循环自证、不可审计 抽检;GroundAttack 对照
② 题型结构 1-vs-3 单共识 + 自由编辑天然可被:逐槽多数投票、最模糊/子串项获胜(A⊃B)、最长项获胜 抽检逐题
③ 歧义控制 Phase A 松绑了 multi_true——方向反了,放进更多近双正解 抽检 4 道双正解
④ 对抗信号位置 只做后置过滤(Phase B);过滤天生分不清"难"和"歧义",且产量靠反复补生成 AFLite 自认局限

三、文献回挖(6 篇,对症三缺口)

GroundAttackgrounding 的正解 + 关键纠偏)

  • 三个独立冻结模型Qwen2.5VL 描述 / DeepSeek-V3(纯文本 LLM)生成候选 / SigLIP(CLIP) 打分。生成候选的模型看不到视频,结构上无法自评。
  • 打分是跨模态 embedding 相似度(候选文本嵌入 vs 真实帧视觉嵌入的 cos),不是 VLM 生成一个分。Clustering+CLIPK-means 聚类 → 每簇取与真实帧 argmax。
  • 纠偏:只把自评 VLM 换成第二个 VLMMiniMax-M3)只解决"同模型循环"仍不是 GroundAttack 机制(那是 embedding 度量)。且 bge 是纯文本、算不了跨模态,跨模态必须 CLIP/SigLIP。
  • GroundAttack 独立验证了"grounded"没独立验证"wrong"——这是它的短板,正好留给 MiniMax-M3 补。

TempCompass / VITATECS / Vinoground(题型 + 歧义)

  • 放弃 1-vs-3,改对称 1-vs-1 对比对:VITATECS 五条约束(禁蕴含=杀子串、等信息量=杀最长项、只改单维);Vinoground 正负选项同词不同序bag-of-words 相同 → 长度/具体度线索结构上不存在)+ 双向 AND 评分(问 A 问 B 都对才算,杜绝蒙)。
  • text-only 盲答过滤Vinoground 0 帧探针 / VITATECS NLI 蕴含过滤——去视频只喂选项,高于随机就剔。
  • 歧义靠收紧不靠松绑:全用"人在环 + 一致性 κ + 高精度过滤器(宁杀错勿放歧义)"。VITATECS 原话"更在乎 precision 而非 recall"。
  • 警钟:随机换词/名词替换干扰项极易被解(74.5–90.3%),动作反事实必须落在动词/事件结构 + 等信息量 + 禁蕴含。

AFLite / AdVQA(对抗信号位置)

  • AFLite 作者自认:模型化过滤分不清"题难"和"题烂/歧义"(过滤后人类正确率反降)。我们的作弊者门是其单模型无集成弱化版,必然继承并放大盲点
  • AFLite 不解决产量,靠超大池剔剩 1/3 糊弄;无补生成。
  • AdVQA 正解:对抗前移到生成端(出题当下让活模型试答)+ 独立于求解器的多裁判答案一致性门10 人,<6 confident 或无共识→剔)。自动对抗(无一致性校验)会制造歧义/标签漂移——同我们盲点。

四、两个把方案串起来的洞察

  1. Phase B 翻转门 = Vinoground 双向对比:机制对,但用错层——应把"对称 before/after 对"做成生成格式,而非先生成 1-vs-3 再事后翻转检验。
  2. MiniMax-M3 定位不是 grounding scorer,是独立"错误性/歧义核验器":补 GroundAttack 缺的"wrong"验证 + 堵"歧义当难度"盲点。

五、锁定的 v2 重构方向(用户已拍板:三个都选治本重构)

岔路 决定
题型 全面转对称 1-vs-1 对比对(改 4 选项契约,评测/训练侧跟着动)
grounding 引入独立 CLIP/SigLIP 依赖(跨模态 embedding 相似度,最贴 GroundAttack 原意)
对抗位置 对抗信号前移到生成端(作弊者门降为第二道网;主信号生成时产生)

目标架构(待 brainstorming 细化):

生成: 出"正解 + 单维反事实"对称对(等信息量/禁蕴含/尽量同词不同序)
grounding: 独立 CLIP/SigLIP 对真实帧算相似度选负项(不是 VLM 自评)
歧义门: MiniMax-M3 独立核验"确实错、非双正解" + NLI 禁蕴含 + text-only 盲答过滤(收紧)
对抗: 主信号前移生成端; 作弊者门 = 第二道网; 双向 AND 评分

下一步brainstorming 定 question-gen v2 设计(重点解决:对比对如何进 inference/eval/training 的 4 选项契约、CLIP 适配器如何装配、生成端对抗的反馈环怎么设计、Phase A/B 既有代码如何取舍)→ Codex 审 → writing-plans → 实现。

相关

  • 论文:reference/papers-distractor-gen/GroundAttack/TempCompass/VITATECS/Vinoground/AFLite/AdVQA
  • 现有实现:app/question_gen/distractor_selector.pyVLM 自评,待换 CLIP)、adversarial_filter.py(Phase B 翻转门,待前移为生成格式)
  • 独立 VLM.envM3_VL_LLM_*MiniMax-M3,异于生成用的 qwen3.6-plus