Files
Video-Tree-TRM5/research-wiki/findings/2026-07-11-benchmark-failure-taxonomy.md

79 lines
8.6 KiB
Markdown
Raw Permalink 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.
# Benchmark 错题失败机理分类(第三轮:242 题全量)
- **日期**: 2026-07-11
- **目的**: 出题的目标不是与 benchmark 难度一致,而是产生能迁移的训练信号。本分析对 `infer_adhoc` 全部 242 道错题做机理级归因(统一 8 类分类法),确定出题应针对的技能缺陷、应回流建树/工具的硬缺陷、以及 benchmark 自身的噪声上限。
- **方法**: 5 组并行深度分析(4 组 Claude + 1 组 Codex/GPT-5.4),每组对 T1/T2 判定强制树内核实(合计 130+ 题做了 tree.json 核实);对 Codex 组做了抽查校准。
- **前序**: [2026-07-11-question-gen-calibration-analysis.md](生成题缺陷两轮分析)
## 一、全量分布(242 题)
| 类别 | 数量 | 占比 | 处置 |
|------|------|------|------|
| T2 检索未命中(证据在树中但没搜到) | 74 | 31% | **出题训练**(全部可学) |
| T5 推理/整合错误(证据在手判错) | 67 | 28% | **出题训练**(约 2/3 可学) |
| T7 题目/标注问题 | 39* | 16% | benchmark 噪声,出题时反向规避 |
| T1 树证据缺失 | 24 | 10% | **回流建树管线**,不出题 |
| T3 视觉验证缺失/误读 | 17 | 7% | 部分可学(多帧验证技能) |
| T4 跨段聚合失败 | 12 | 5% | 出题训练 |
| T8 基础设施 | 5 | 2% | **修 AgentLoop**(见 §四) |
| T6 时间定位失败 | 4 | 2% | 出题训练 |
*T7 注意事项:其中 27 题来自 Codex 组(Counting/Temporal),抽查发现 1 例误判(604-2 "Selic" 实在树中,应为 T2)且其"树时间戳与标注冲突"类判定存在解释陷阱——树不是 ground truth,冲突也可能是树的时序表征错误。已证实的硬 T7 如 624-2(选项 B/D 一字不差重复)。T7 真实范围估计 20-39,时序类需视频级裁决。
**可训练份额:T2+T4+T5+T6 ≈ 157 题(65%+ T3 部分 ≈ 7%。** 出题的"可作用空间"约占错题的 2/3——远大于树缺陷(10%),这决定了改进优先级在 Agent 技能而非树重建。
## 二、五大跨题型失败机理(多组独立收敛)
### M1 负证据幻觉(T2 的公共机理,最大单一杠杆,4 组独立发现)
语义搜索 2-3 次未命中 → Agent 断言"视频中不存在 X" → 以假阴性驱动排除法,或落入 "None of the above / not mentioned" 吸引子。证据实际以三种低召回形态存在:**实体列表/visible_entities 标签**"Bluetooth headset (both ears)"、"Zwicky")、**画面文字 visible_text**(姓名条、白板比分、标题卡)、**长字幕块中的单句**"well I'm a magician")。恶化因素:view_node 的按题摘要会吞掉 entities 字段信号(Agent 站在证据节点上仍漏读);L1 摘要的沉默被当成全树的沉默。缺失技能:检索升级协议(语义→关键词→变体扩展→分支遍历→entities 直读)+ 负证据高门槛。
### M2 字面匹配压倒语义/语用还原(T5 主干)
裁决准则偏向 n-gram 重合而非语义变换:蕴含判断失败(128K 上限→当然能输入 32K)、虚拟语气/反问句误读("I would be a fan")、触发事件当动机、序数映射错(倒计时视频"第 16 个描述"=排名 15)、出题语病零容错、外部世界知识凌驾视频内证据(用 2026 年知识否决 "all goals 200")、NOTA 双向失灵(该容错时跳 NOTA、该保守时过度推断)。
### M3 多实例锚定错误 + 首个匹配即停(T4/T6/部分 T5)
题目锚是"第 N 个/最后一个/紧接 X 之后/首次"而视频有多个相似候选,Agent 绑定第一个表面匹配后不再枚举后续推翻证据("FINAL MODE" 之后还有 "we got a whole van");序数题用时长线性外推替代逐项数数;全局占比题不做按时长/节点数的覆盖率统计,用单场景概括全片或用少数反例一票否决主导主题。
### M4 视觉验证时点/粒度失配(T3)
用单帧回答状态演化题(上色前的花盆判最终颜色)、observe_frame 过度解读(膝上交握双手读成"十指交叉"魔术环节)、验证帧与题目锚定时刻不对齐(Penny 不在场的帧回答"Penny 进门时")。
### M5 实体 grounding / ASR 变体断链(横跨 T2/T5
题目实体与树内 ASR 噪声变体不对齐(Harry→"Harley"、martabak→"marcher back"、PRZYBYLKO→"pris Bilco"),缺"变体扩展+属性核对(国籍/拼写/归属)"步骤;字幕无说话人标注导致归属靠共现猜测。
## 三、树侧硬缺陷(T1,24 题,回流建树管线)
集中在四类:**亚秒级瞬时动作**(缆绳绊翻卡车被编码成"车轮被橙光吞没")、**密集重复背景动作**(球童每回合捡球)、**记分牌瞬时数值与赛程的时序绑定**(比分帧被标"训练场景")、**无对白叙事因果**(舞台剧对白 ASR 缺失、动画剧情结局)。
**⚠️ 树污染(已审计并整改,2026-07-11)**:源头确认为历史建树增强环节曾把题目+答案作为信息输入 LLM 提取。全量普查(900 题 × 300 树,词面 S1/S2 检测):真污染 74 处(52 题、50 视频,87% 在 L2 entities[]);污染题正确率 69.2% 低于基线 73.3%,**未推高评估分数**。整改:71 处经 LLM 按树原生上下文改写(不见题目、出厂门校验与题目零词面命中),3 处经核实为合法屏幕文字/讲座主题引用予以保留;改写后残余命中均为合法重合(画面 OCR、字幕原话、描述性短语碰撞)。整改前全树备份:`data/backups/trees-pre-decontam-20260711.tar.gz`
## 四、工程缺陷(T85 题,修 `core/agent/loop.py`
1. deepseek 稳定输出变体(`args` 平铺 + ```json 围栏)解析三连拒 → 0 步阵亡(637-3、615-3);json_repair 修不了结构错位,需 parser 增加变体适配
2. LLM 调用异常(SSL BAD_RECORD_MAC、瞬时 API 错)无步级重试,一次网络抖动废掉 13 步上下文(796-3)。位置:`loop.py:118-159`
## 五、针对性出题规格(替代"难度一致性"目标)
| # | 题目形态 | 治什么 | 构造要点 |
|---|---------|--------|---------|
| 1 | **证据埋深/反"不存在"题** | M1(最大杠杆) | 正确判据只在 entities/visible_text/长字幕单句;干扰项含 "not mentioned";配镜像题(真不存在);判分要求证据节点 id + 宣称不存在须附遍历轨迹 |
| 2 | **转述还原题** | M2 | 正确项需一步语义变换(蕴含/虚拟语气/序数映射/轻微语病),干扰项与原句 n-gram 高重合但语义错 |
| 3 | **NOTA 校准对** | M2 | 成对生成:一半 NOTA 为正解、一半为陷阱,训练"最佳可用答案 vs 证据不足"判界 |
| 4 | **多实例锚定题** | M3 | 同类事件出现 ≥2 次的视频,问"第 N 次/紧接 X 后/首次",保证首个表面匹配是错的 |
| 5 | **序数枚举题** | M3 | 无显式编号视频问"第 N 个",N 取中段迫使完整数数;答案附计数单元节点 id 清单(可程序化验证) |
| 6 | **覆盖率权重题** | M3 | 主旨题四选项=全局框架(对)/前半段强子主题/品牌水印词/少数派场景 |
| 7 | **实例消歧数字题** | M4/M5 | 计数器/记分板多时刻读数做干扰项,训练"枚举全部实例→按时刻与主体归属筛选" |
| 8 | **状态演化多帧题** | M4 | 正确答案只在特定时点帧可见(上色后),需多帧对比 |
| 9 | **ASR 实体对齐题** | M5 | 题目用规范拼写/属性指称,树内是 ASR 变体;可程序化挖掘拼写不一致对 |
| 10 | **属性辨析题** | M1/M4 | 两两组合选项(左耳/右耳/双耳),证据只在 entities/spatial_layout 字段 |
| 11 | **参照系空间题** | T5 空间 | 摄像机视角 vs 被摄者视角两种参照系的方位换算 |
**出题禁区**:T1 类(瞬时动作/记分牌时序/无对白因果)出了也是噪声标签,先修树;T7 类启示逐题验证门必须含"标注答案能被树内证据唯一支持"检查(同时规避复刻 benchmark 噪声)。
**与前两轮的关系**:第二轮确定的三件套质量门(确定性后处理 + 信息不对称化 + 三验证器)仍然必要——它们保证题目"合法";本轮的 11 种题型规格决定题目"有用"(瞄准真实失败机理)。两者正交,共同替代事后的分数一致性校准(calibrate 降级为观测性报表)。
## 相关文件
- Agent 循环(T8 修复点):`core/agent/loop.py:118-159`
- view_node 按题摘要吞 entities 的问题:`app/tree/environment.py`(待定位具体行)
- 树污染审计对象:建树/增强管线历史(`app/tree/`、TRM4 迁移物)
- 数据:`workspaces/default/harness.db`predictionsrun_id='infer_adhoc'