note
- VideoChat-A1 不追求把整段长视频塞进模型,而是把视频看成若干镜头(shot) ,围绕用户问题逐步挑出相关镜头 → 在镜头内继续切细 → 看证据够不够、不够就再深挖 。这种"选择---细分---反思"的闭环叫 Chain-of-Shot(CoS,镜头链推理) 。它的核心卖点是:用更少的输入帧、更短的平均推理时间,让 7B/8B 级模型在多个长视频问答基准上接近甚至超过闭源大模型。
- 研究动机:传统视频问答依赖均匀抽帧或一次性检索,容易遗漏关键事件、引入冗余信息。作者提出 Chain-of-Shot(CoS),通过多轮交互逐步定位关键视频片段。
- 核心方法:
- Video Glance:先均匀抽取4帧,判断问题是否需要局部深入分析;全局问题直接抽32帧回答。
- Shot Selection:MLLM 根据问题及历史推理总结检索线索,利用微调 LongCLIP 检索相关片段。
- Shot Partition:以1 FPS抽帧,通过 CLIP Embedding + K-Means 寻找关键帧,再依据特征距离确定边界,将片段细分为 Subshots。
- Shot Reflection:MLLM 基于细分片段回答问题并评估置信度(0~3);置信度不足则继续检索、细分,最多迭代3轮。
- 实验结果:在 Video-MME、EgoSchema、MLVU 等长视频基准上取得提升。InternVL2.5-8B 版本 Video-MME(含字幕)达到 77.0%,EgoSchema 达到 72.1%;平均仅处理35.9帧。
- 技术评价:本质是 Query-guided 视频片段检索 + 层次化细分 + 置信度驱动的 Agent Loop,无需训练新的推理 Backbone。创新重点在于利用视频时序结构动态分配视觉计算预算,而非单纯增加抽帧数量;但自评置信度可能失准,且多轮检索存在额外开销。
- 举例:可以用一个 60 秒视频举例:初始只有一个 Shot:0s, 60s。第一轮 CLIP + K-Means 找到代表性关键帧,再确定分割边界,得到多个 Subshots。如果当前回答不够确定,第二轮 LongCLIP 从这些 Subshots 中检索最相关的片段,例如 20s, 35s。对 20s, 35s 再次进行 CLIP + K-Means 细分,获得更精细的视觉证据。
文章目录
-
- note
- 一、研究动机:长视频难在「看什么」,不在「看多少」
-
- [1.1 直接堆帧的两条路都不理想](#1.1 直接堆帧的两条路都不理想)
- [1.2 现有视频智能体只会「找到内容」,不会「反思内容」](#1.2 现有视频智能体只会「找到内容」,不会「反思内容」)
- [1.3 为什么用「镜头」做推理单位](#1.3 为什么用「镜头」做推理单位)
- 二、论文核心:先看要不要深挖,不够就沿镜头链往下走
-
- [2.1 Video Glance:先判断问题是「全局」还是「局部」](#2.1 Video Glance:先判断问题是「全局」还是「局部」)
- [2.2 镜头链:选择 → 细分 → 反思,循环最多 3 轮](#2.2 镜头链:选择 → 细分 → 反思,循环最多 3 轮)
- [2.3 整体的流程图](#2.3 整体的流程图)
- 三、实验设置:四个基准、三种骨干,比较口径要盯紧
-
- [3.1 评测覆盖的任务类型](#3.1 评测覆盖的任务类型)
- [3.2 统一实现配置](#3.2 统一实现配置)
- [3.3 两个必须盯住的口径](#3.3 两个必须盯住的口径)
- [四、实验结果:77.0 是什么,优势有多大](#四、实验结果:77.0 是什么,优势有多大)
-
- [4.1 「77.0」的准确读法](#4.1 「77.0」的准确读法)
- [4.2 和闭源强基线比:接近 GPT-4o,但没全面超越](#4.2 和闭源强基线比:接近 GPT-4o,但没全面超越)
- [4.3 三个骨干没有固定胜负](#4.3 三个骨干没有固定胜负)
- [4.4 「提升 10.1% / 6.2%」怎么理解](#4.4 「提升 10.1% / 6.2%」怎么理解)
- 五、结果分析:效率从哪来,性能靠什么
-
- [5.1 效率优势 = 「最终喂给模型的帧少」,不是「整段视频处理免费」](#5.1 效率优势 = 「最终喂给模型的帧少」,不是「整段视频处理免费」)
- [5.2 消融结论:三块都有效,联合 > 单独](#5.2 消融结论:三块都有效,联合 > 单独)
- [5.3 迭代轮数是「性能-成本折中」,不是越多越好](#5.3 迭代轮数是「性能-成本折中」,不是越多越好)
- 六、贡献与局限
-
- [6.1 贡献](#6.1 贡献)
- [6.2 局限](#6.2 局限)
- 七、结论与启示
-
- [7.1 核心结论](#7.1 核心结论)
- [7.2 对不同角色的建议](#7.2 对不同角色的建议)
- [7.3 总结](#7.3 总结)
- Reference
一、研究动机:长视频难在「看什么」,不在「看多少」
VideoChat-A1:基于Chain-of-Shot的长视频推理 Agent
VideoChat-A1: Thinking with Long Videos by Chain-of-Shot Reasoning(AAAI 2026)

1.1 直接堆帧的两条路都不理想
- 均匀密集采样:视频从秒级变分钟、小时级,帧数、视觉 token、推理成本一起暴涨;而且相邻帧高度重复,信息冗余。
- 视觉 token 压缩:能塞更多帧,但压缩最容易在真正需要细节的关键镜头上失真。
所以瓶颈不是"帧不够",而是"不知道哪些帧值得细看,也不知道看到什么程度该停"。
1.2 现有视频智能体只会「找到内容」,不会「反思内容」
论文把前人工作归成两类:
- 一次性抽取型:先用工具/记忆库把视频知识抽出来,再检索作答。抽取完就固定了,后续推理需要的新细节很可能已经漏掉。
- 多轮搜索型 :会主动探索、动态检索,但通常找到候选后一次性丢给模型,或只做一次切分,缺少对镜头内部的二次检查和迭代放大。

见图 1(论文 Figure 1):直观对照三种路线------全局均匀采样的 GPT-4o 类方法难以聚焦关键局部;树状检索类方法可能选错、选多;VideoChat-A1 沿镜头链迭代缩小范围。看这张图时重点体会「逐步聚焦」而不是某个精度数字。
1.3 为什么用「镜头」做推理单位
- 单帧:可能丢掉动作前后的因果上下文。
- 整段均匀采样:会把关键片段稀释在大量无关画面里。
- 镜头:既保留一小段连续语义,又能继续细分------首轮圈定候选镜头,后续轮次在镜头内部再找子镜头,天然支持"由粗到细"的时间定位。
关键判断 :VideoChat-A1 不是从零训练一个新的长视频基础模型,而是在既有 MLLM + 视觉编码器 + 检索器之上搭的一套推理时智能体系统 。优势是免去整段视频全量输入;风险是早期选错镜头会一路错下去,而且每轮 MLLM 调用、检索、聚类都有额外开销。
二、论文核心:先看要不要深挖,不够就沿镜头链往下走
2.1 Video Glance:先判断问题是「全局」还是「局部」
- 对整段视频均匀采 4 帧,连同问题、选项一起给 MLLM,判断需不需要看局部。
- 全局问题 :整段视频的信息都相关 → 采 32 帧直接作答。
- 局部问题:启动镜头链推理。
这一步的意义是避免所有问题都付多轮搜索的代价。「4 帧 / 32 帧」是论文的固定实验设置,不代表 32 帧真能无遗漏覆盖一段长视频。
2.2 镜头链:选择 → 细分 → 反思,循环最多 3 轮
每一轮做三件事:
-
关键信息总结(Key Information Summary)
让 MLLM 结合问题、选项、历史采样帧和上一轮的答案/理由,生成一段用于下一轮检索的查询文本。检索依据会随着推理推进而更新,而不是一次定死。
-
镜头选择(Shot Selection)
用微调的 LongCLIP 算「查询文本 ↔ 各镜头」的余弦相似度,取最相关的若干镜头。
- 相似度高于 0.8 的镜头进入候选(论文设置);
- 第 1 轮整段视频本身就是唯一候选,采样 16 帧;
- 之后每轮选 2 个镜头。
-
镜头细分(Shot Partition)
对候选镜头继续挖细节,流程是:
- 以 1 fps 采样 → CLIP 提特征 → K-Means 聚成 K 簇 → 每簇取离中心最近的帧做关键帧;
- 再用「某帧到相邻两个关键帧的特征距离之和」找边界帧,把镜头切成 K 个子镜头。

见图 2(论文 Figure 2 / Figure 3):看 Shot Selection、Shot Partition、Shot Reflection 三个模块怎么串成闭环,以及 K-Means 聚类和边界帧定位的具体流程。重点看信息是怎么在轮次间传递的。
这里有个容易被忽略的细节 :K-Means 不考虑时间顺序,单簇可能跨不连续帧;所以论文再用关键帧排序和边界帧补上时间结构。也正因为如此,论文里的"shot"更接近「按视觉语义聚类出来的连续片段」,不等于影视编辑意义上的精确镜头切分(硬切、叠化、回闪未必能识别)。
- 镜头反思(Shot Reflection)
MLLM 给出答案 + 理由 + 0~3 的置信度 :- 置信度 > 2:停止,输出答案;
- 否则:带着新总结的查询文本进入下一轮,最多 3 轮;
- 跑满 3 轮仍没高置信:对各轮答案投票。
别把置信度当成正确率 :它是个启发式的计算预算开关------证据不够就继续,够了就停。但模型"自我感觉良好"不等于答对了;如果首轮就选错镜头,后面越细化越可能锁定在错误区域。
2.3 整体的流程图
整体的流程图如下,注意第一轮整个视频就是一个shot:
#mermaid-svg-aCLenJrEoRVPdtNv{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-aCLenJrEoRVPdtNv .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-aCLenJrEoRVPdtNv .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-aCLenJrEoRVPdtNv .error-icon{fill:#552222;}#mermaid-svg-aCLenJrEoRVPdtNv .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-aCLenJrEoRVPdtNv .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-aCLenJrEoRVPdtNv .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-aCLenJrEoRVPdtNv .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-aCLenJrEoRVPdtNv .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-aCLenJrEoRVPdtNv .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-aCLenJrEoRVPdtNv .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-aCLenJrEoRVPdtNv .marker{fill:#333333;stroke:#333333;}#mermaid-svg-aCLenJrEoRVPdtNv .marker.cross{stroke:#333333;}#mermaid-svg-aCLenJrEoRVPdtNv svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-aCLenJrEoRVPdtNv p{margin:0;}#mermaid-svg-aCLenJrEoRVPdtNv .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-aCLenJrEoRVPdtNv .cluster-label text{fill:#333;}#mermaid-svg-aCLenJrEoRVPdtNv .cluster-label span{color:#333;}#mermaid-svg-aCLenJrEoRVPdtNv .cluster-label span p{background-color:transparent;}#mermaid-svg-aCLenJrEoRVPdtNv .label text,#mermaid-svg-aCLenJrEoRVPdtNv span{fill:#333;color:#333;}#mermaid-svg-aCLenJrEoRVPdtNv .node rect,#mermaid-svg-aCLenJrEoRVPdtNv .node circle,#mermaid-svg-aCLenJrEoRVPdtNv .node ellipse,#mermaid-svg-aCLenJrEoRVPdtNv .node polygon,#mermaid-svg-aCLenJrEoRVPdtNv .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-aCLenJrEoRVPdtNv .rough-node .label text,#mermaid-svg-aCLenJrEoRVPdtNv .node .label text,#mermaid-svg-aCLenJrEoRVPdtNv .image-shape .label,#mermaid-svg-aCLenJrEoRVPdtNv .icon-shape .label{text-anchor:middle;}#mermaid-svg-aCLenJrEoRVPdtNv .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-aCLenJrEoRVPdtNv .rough-node .label,#mermaid-svg-aCLenJrEoRVPdtNv .node .label,#mermaid-svg-aCLenJrEoRVPdtNv .image-shape .label,#mermaid-svg-aCLenJrEoRVPdtNv .icon-shape .label{text-align:center;}#mermaid-svg-aCLenJrEoRVPdtNv .node.clickable{cursor:pointer;}#mermaid-svg-aCLenJrEoRVPdtNv .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-aCLenJrEoRVPdtNv .arrowheadPath{fill:#333333;}#mermaid-svg-aCLenJrEoRVPdtNv .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-aCLenJrEoRVPdtNv .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-aCLenJrEoRVPdtNv .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-aCLenJrEoRVPdtNv .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-aCLenJrEoRVPdtNv .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-aCLenJrEoRVPdtNv .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-aCLenJrEoRVPdtNv .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-aCLenJrEoRVPdtNv .cluster text{fill:#333;}#mermaid-svg-aCLenJrEoRVPdtNv .cluster span{color:#333;}#mermaid-svg-aCLenJrEoRVPdtNv div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-aCLenJrEoRVPdtNv .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-aCLenJrEoRVPdtNv rect.text{fill:none;stroke-width:0;}#mermaid-svg-aCLenJrEoRVPdtNv .icon-shape,#mermaid-svg-aCLenJrEoRVPdtNv .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-aCLenJrEoRVPdtNv .icon-shape p,#mermaid-svg-aCLenJrEoRVPdtNv .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-aCLenJrEoRVPdtNv .icon-shape .label rect,#mermaid-svg-aCLenJrEoRVPdtNv .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-aCLenJrEoRVPdtNv .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-aCLenJrEoRVPdtNv .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-aCLenJrEoRVPdtNv :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} Global Question
Local Question
是
否
否
是
输入:长视频 V + 问题 Q + 候选答案
Video Glance:全视频均匀采样 4 帧
MLLM 判断问题类型
全视频均匀采样 32 帧
MLLM 直接推理并输出答案
初始化 CoS:整段视频作为初始 Shot
Shot Selection:MLLM 生成 Query-aware 检索描述
LongCLIP-B 匹配候选 Shot
选出相关 Shot
Shot Partition:Shot 内按 1 FPS 采样
CLIP ViT-B/32 提取帧特征
K-Means 选取代表性关键帧
根据特征距离确定边界,划分 Subshots
Shot Reflection:抽取片段帧并进行 MLLM 推理
输出本轮答案 + 推理依据
独立 MLLM 调用评估置信度 0~3
置信度 > 2?
输出当前答案
已达到 3 轮?
保留 Subshots 与历史推理信息
汇总各轮答案,多数投票
输出最终答案
三、实验设置:四个基准、三种骨干,比较口径要盯紧
3.1 评测覆盖的任务类型
| 基准 | 报告结果 | 主要考察什么 |
|---|---|---|
| EgoSchema | 70.1 | 第一人称长视频的时间推理 |
| LongVideoBench | 65.2 | 最长约 1 小时,引用推理、关系推理、长上下文 |
| MLVU | 75.1 | 3 分钟到约 2 小时,多任务、全局+局部能力 |
| Video-MME | 72.3 / 77.0 | 多模态理解,无字幕 / 有字幕分列 |
论文用三个 MLLM 当底座(Qwen2.5-VL-7B、InternVL2.5-8B、InternVideo2.5-8B),目的是验证同一套检索---推理外壳能不能适配不同视觉基础模型。所以不能把三个数字简单平均成一个"VideoChat-A1 成绩"。
3.2 统一实现配置
1 fps 特征、CLIP-ViT-B/32、Shot Selection 每镜头 16 帧、微调 LongCLIP-B 算相似度、相似度阈值 0.8、首轮 K=6、后续 K=2、最多 3 轮、2×A800-80GB。
3.3 两个必须盯住的口径
- Video-MME 的「w/ subs = with subtitles(有字幕)」,不是音频、光流等其他模态。
- EgoSchema 70.1 的分集不明:EgoSchema 公开答案只有 500 题,完整 5031 题答案未公开、需官方提交。论文没说明用的是哪个集合,所以既不能断言它是全量集成绩,也不能拿它和只在公开 500 题上测的模型硬比。

见图 3 / 见 Table 1(论文 Table 1):看四个基准上各骨干、各基线的完整结果。读这张表时先定好字幕/无字幕口径,再看数字。
四、实验结果:77.0 是什么,优势有多大
4.1 「77.0」的准确读法
Video-MME 列是「Short / Medium / Long / Average」,每格写成「无字幕 / 有字幕」。InternVL2.5-8B 那一行的四个 Average 值是:
| 无字幕 | 有字幕 | |
|---|---|---|
| Average | 72.3 | 77.0 |
所以 77.0 = Video-MME 有字幕条件下的总体平均准确率 (短+中+长汇总后),具体各长度为 81.4 / 76.8 / 72.6。它不是一个"Video-MME 子集"的得分。
论文正文导言里出现的 "77.0 on VideoMME with subset" 与表头、表注的「w/o subs / w/ subs」矛盾,又没定义过什么叫 subset。最稳妥的理解是版本修订/排版遗留,引用时一律以表格口径为准。
4.2 和闭源强基线比:接近 GPT-4o,但没全面超越
| 模型 | Video-MME 有字幕 Average | 平均输入帧 | 平均推理时间 |
|---|---|---|---|
| GPT-4o | 77.2 | 384 | 134.4 秒 |
| Gemini 1.5 Pro | 81.3 | 568 | 198.8 秒 |
| VideoChat-A1 (InternVL2.5-8B) | 77.0 | 35.9 | 14.7 秒 |
- 77.0 比 GPT-4o 的 77.2 低 0.2,基本打平;
- 比 Gemini 1.5 Pro 的 81.3 低 4.3,并未全面胜出;
- 论文摘要说「平均只用 7% 输入帧、12% 推理时间」,是一个跨模型汇总的宏观说法,别当成 35.9/384 或 14.7/134.4 算出来的精确比例。
见图 4 / 见 Table 2(论文 Table 2):看跨模型效率对比。看这张图时关注「最终送入 MLLM 的帧数」,而不是"整段视频只处理了这些帧"。
4.3 三个骨干没有固定胜负
- MLVU 上最高的是 InternVideo2.5-8B:76.2
- EgoSchema 上最高的是 Qwen2.5-VL-7B:70.7
- LongVideoBench 和 Video-MME 有字幕上最高的是 InternVL2.5-8B:65.2 / 77.0
这说明 CoS 是个通用的推理外壳 ,但视觉表征、编码器、指令遵循能力会决定最终表现------任务结构比参数规模更影响谁赢。
4.4 「提升 10.1% / 6.2%」怎么理解
论文说的是相对对应基线的百分点提升上限,不是"性能是基线的 110.1%"。例如:
- VideoChat-A1 (Qwen2.5-VL-7B) 有字幕 76.5 vs 基线 69.7 → +6.8 个百分点;
- VideoChat-A1 (InternVL2.5-8B) 有字幕 77.0 vs 基线 66.9 → +10.1 个百分点。
这是论文表述本身的口径风险,面向非专业读者时特别容易误读。
五、结果分析:效率从哪来,性能靠什么
5.1 效率优势 = 「最终喂给模型的帧少」,不是「整段视频处理免费」
平均帧数从 GPT-4o 的 384、Gemini 1.5 Pro 的 568、Qwen2.5-VL-72B 的 768,降到 VideoChat-A1 的 35.9。但注意:抽帧、CLIP 编码、K-Means、多轮 MLLM 调用都发生在回答之前,这些开销不一定计入"输入帧"这个指标。所以"省帧"≠"省全部算力"。
Video Glance 的分流让简单全局题只走 32 帧粗看,难题才进入多轮细化,这正是平均帧数低的原因。但论文没公布每题实际迭代轮数、分流正确率和各阶段耗时占比,所以节省主要来自哪类问题,目前无法定量判断。
5.2 消融结论:三块都有效,联合 > 单独
以 Qwen2.5-VL-7B 的「EgoSchema / LongVideoBench / MLVU / Video-MME 无字幕/有字幕」四项为例:
- 关闭 Video Glance:70.7 / 64.2 / 71.9 / 71.8·76.5 → 69.4 / 63.4 / 70.0 / 70.4·74.9(各模块普遍下降,说明全局分流不是冗余步骤)
- 只用 Shot Partition(不加 CoS):67.5 / 61.1 / 68.5 / 67.8·73.9
- 只用 CoS(不加 SP):69.1 / 57.7 / 67.0 / 65.8·70.8
- 两者都用:70.7 / 64.2 / 71.9 / 71.8·76.5
两个值得记住的点:
- Shot Partition + CoS 的联合增益通常大于任一单独增益 ,尤其在 EgoSchema、MLVU 上;但 Video-MME 有字幕只从 73.9 涨到 76.5(+2.6),说明收益因任务而异,并非均匀释放。
- 语义---时间联合分区优于纯聚类、纯均匀切分 :Qwen2.5-VL-7B 的 Video-MME 有字幕,联合分区比聚类分区高约 3.7 个百分点、比均匀分区高约 5.7 个百分点------保持时间连续性比单纯增加采样覆盖更重要。
5.3 迭代轮数是「性能-成本折中」,不是越多越好
Video-MME 有字幕,最大轮数 1/2/3/4:66.8·73.4 / 69.6·76.0 / 71.8·76.5 / 72.0·76.9。三轮后还在涨,但幅度很小,而延迟和检索误差累积在增加。K=6 → K=2、最多 3 轮是实验成本约束下的配置,不是理论最优。
六、贡献与局限
6.1 贡献
- 把镜头从「索引单位」升级为「推理单位」:选择、细分、反思形成闭环,查询理解和候选镜头集合在迭代中共同演化。
- 用置信度做动态计算路由:证据够了就停,比固定采样或固定搜索树更贴合交互式视频理解。
- 多骨干消融较完整:证明"推理时计算分配"可以是强视觉模型/长上下文之外的另一条路。
6.2 局限
- 误差会沿链传播:首轮检索错 → 后续全在错的方向细化。
- 置信度不可校准:高置信 ≠ 答案正确。
- shot 定义不严格:基于 CLIP 语义聚类,未必识别专业镜头边界。
- 省帧 ≠ 省总计算:抽帧、聚类、多轮调用都是隐藏成本。
- 可复现信息不足:未披露训练/微调数据规模、算力、显存峰值、调用次数、失败案例;EgoSchema 分集不明。
- 字幕增益要单列:Video-MME 有字幕是"视频+字幕"成绩,不能当成纯视觉能力。
七、结论与启示
7.1 核心结论
VideoChat-A1 最值得借鉴的不是"少采样",而是「先判断要不要深挖,再按问题递归聚焦证据,证据不足就继续 」这套动态路由思路。它在 Video-MME 有字幕总体平均上达到 77.0,接近 GPT-4o 的 77.2,且帧数和平均耗时大幅降低,但距 Gemini 1.5 Pro 的 81.3 仍有明显差距。
7.2 对不同角色的建议
- 对研究者:下一步应投入的不是"再加迭代轮数",而是提高每一步的可靠性------专业镜头边界检测、视频专用长上下文检索、证据级置信度校准、拒答机制。
- 对工程落地 :适合证据稀疏、允许多轮调用 的场景(长视频审核、屏幕录制分析、机器人环境感知);不适合单帧即可作答或硬实时场景------那种情况下多轮检索反而拖慢响应。
7.3 总结
镜头链是一种动态计算路由范式,不是"更少帧必然更强"的普遍定律。
Reference
1 VideoChat-A1- Thinking with Long Videos by Chain-of-Shot Reasoning