跳转至

Visual Document Understanding and Reasoning: A Multi-Agent Collaboration Framework with Agent-Wise Adaptive Test-Time Scaling

会议: CVPR 2026
论文: CVF Open Access
领域: 多智能体 / 多模态VLM
关键词: 视觉文档理解, 多智能体协作, 测试时缩放, 过程奖励, 自我纠错

一句话总结

MACT 把"单模型一把梭"的视觉文档问答拆成规划、执行、判断、回答四个分工明确的智能体,并按每个智能体的认知负荷自适应分配测试时算力(而非统一堆参数),在 15 个基准上以 <30B 参数稳进前三、平均比基座模型提升 9.9–11.5%。

研究背景与动机

领域现状:视觉文档理解(DocVQA、ChartQA、表格/网页问答等)目前主流靠"单体缩放"(monolithic scaling)推进——把 VLM 参数堆大、喂更多高质量数据,于是有了 GPT-4o、Gemini-2.0-Pro、Claude-3.7-Sonnet 这些通用强者。

现有痛点:但在文档类任务上,统一堆参数的边际收益急剧递减——开源模型沿参数轴往上走,性能只涨一点点,算力却指数级膨胀。论文把根因拆成三条:(1)程序性推理被压扁——文档分析本质是"拆解问题→定策略→定位信息→综合作答"的多步流程,单体模型一次前向就想把整条流程解完,推理路径不稳;(2)认知过载——一套权重要同时扛布局解析、细粒度取字、逻辑推断、数值计算等截然不同的技能,互相干扰,结果是样样通、样样松;(3)对事实错误脆弱——文档语义对微小过程错误极敏感,一处段落截断或表格行错位就能让整个答案作废,而前馈式单体模型没有内部校验/纠错回路,早期的小错会像滚雪球一样一路放大。

核心矛盾:文档不是适合"均匀放大"的单体对象,它内在地需要分阶段、有验证、可纠错的程序化处理,而单体缩放恰恰把所有功能塞进一组权重、且没有自纠错环。

本文目标:把范式从"单体缩放"切换到"程序化缩放"(procedural scaling)——按文档处理的功能实体拆解问题,并对每个实体施加定制化的测试时缩放。

核心 idea:用"四智能体分工协作 + 按智能体自适应的测试时缩放 + 混合奖励"代替"把单模型堆大",让算力按每个认知步骤的复杂度与冗余度按需投放。

方法详解

整体框架

MACT 把文档理解流水线显式映射成四个角色专一、串行协作的智能体:规划智能体 \(A_{plan}\)(拆解问题、生成高层执行计划)→ 执行智能体 \(A_{exe}\)(调用工具库逐步执行计划、产出执行过程)→ 判断智能体 \(A_{judg}\)(只判对错、定位出错步骤并回传)→ 回答智能体 \(A_{ans}\)(综合正确过程与被纠正的错误片段,给出最终答案)。其中 \(A_{plan}\)\(A_{exe}\) 用 VLM(要看图),\(A_{judg}\)\(A_{ans}\) 用 LLM(只处理文本中间产物)。当 \(A_{judg}\) 检测到错误,会把"错在哪一步 + 简述"路由回 \(A_{plan}\)\(A_{exe}\) 重做,最多纠错 \(N_c=3\) 次后强制收口。

这套协作骨架之上叠了两层增益:一是按智能体自适应的测试时缩放,给不同功能的智能体配不同缩放策略(不是统一加算力);二是混合奖励建模,用 GRPO 把"每个智能体各自的奖励 + 一条全局结果奖励"一起优化,既强化局部能力又压住智能体的"自私"倾向。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400, 'subGraphTitleMargin': {'top': 8, 'bottom': 16}}}%%
flowchart TD
    IN["视觉文档 + 问题"] --> P["四智能体程序化分工<br/>规划→执行→判断→回答"]
    subgraph SCALE["按智能体自适应测试时缩放"]
        direction TB
        P --> A1["规划:并行采 Np 条计划"]
        A1 --> A2["执行:每步采 Ne 候选<br/>过程奖励选最优"]
        A2 --> A3["判断:预算强制<br/>逼出足够思考 token"]
    end
    A3 -->|有错·回传错误描述 M| A1
    A3 -->|全对| ANS["回答:拼接正确过程<br/>+ 被纠错片段→作答"]
    ANS --> RW["混合奖励<br/>各智能体奖励 + 全局奖励"]
    RW --> OUT["最终答案"]

关键设计

1. 四智能体程序化分工:把"一次前向解全程"换成"一步一专家"

针对单体模型的"程序性推理被压扁 + 认知过载",MACT 不再让一个模型一口气从感知到作答,而是显式拆出四个角色专一的智能体串行接力。\(A_{plan}\) 只产高层计划——先借类比提示(analogical prompting)生成 \(N_p\) 个相似实例及其计划 \(P_{rel}=A_{plan}(Q,D)\),再据此为原问题生成执行计划 \(P=A_{plan}(Q,P_{rel},D,M)\),每个计划是若干步 \(\{s_1,\dots,s_n\}\);关键是它只描述每步的目标与要求、不写具体执行细节、也不绑定具体工具,从而把"该用什么工具"的自由度留给 \(A_{exe}\),避免越权干扰执行。\(A_{exe}\) 则把每一步当作执行单元、从工具库 \(T\) 里选工具逐步执行 \(e_i=A_{exe}(Q,D,s_i,T,M)\),最后拼成执行过程 \(E=\{e_1,\dots,e_n\}\) 往下传。这样每个智能体只需精通一项功能,认知过载随之被拆掉——消融里把四智能体的提示词揉回单模型(w/o multi-agent collaboration)后平均分从 74.8 暴跌到 58.6,甚至低于基座,说明"塞进一个模型"本身就是文档任务的硬伤。

2. 独立判断智能体:把"判断"和"纠错"解耦开

文档任务对过程错误极敏感,但已有自纠错有两条路都不理想:(a)同一智能体内部自纠——生成和纠错用同一个模型,容易陷入认知盲区、抓不住大多数错;(b)单独一个智能体既判又改——既要会判又要会改,逼着用更大参数、更复杂奖励,而且它重写错误片段时常和原有正确部分冲突。MACT 的做法是只让 \(A_{judg}\) 当裁判、不动手改\(J=A_{judg}(Q,P,E)\),输出 \(J=\{flag_{plan},flag_{exe},M\}\),两个布尔标志指出计划/执行哪层有错、\(M\) 给出错误描述并路由回对应的 \(A_{plan}\)\(A_{exe}\) 去改。把判断从纠错里剥离,带来一个"无偏中立的裁判"——它不为"让纠错通过验证"而生成模糊话术或省略细节,奖励设计也随之简化(不用再评纠错结果)。实验里这套独立判断策略比另两种自纠机制平均高 ≥2.6%,且平均少用 0.3 次纠错、\(N_c=3\) 即达最优(另两者要 \(N_c=5\))。

3. 按智能体自适应的测试时缩放:算力按认知负荷投放,而非均匀放大

现成的测试时缩放(并行/串行/混合/内部)都是为单模型设计的,套到多智能体上忽视了分工差异、效果次优。MACT 给前三个智能体各配一招:\(A_{plan}\)并行缩放——独立生成 \(N_p\) 条相关计划,等于给每个问题铺 \(N_p\) 条并行推理路径,提高"至少有一条对齐文档语义"的概率;\(A_{exe}\)逐步 best-of-\(N_e\)——每一步当评估节点、采 \(N_e\) 个候选执行,用预训练过程奖励模型打分、留最高分作为后续节点的基底、其余拒绝;\(A_{judg}\)预算强制(budget forcing)——强制一个最小思考 token 数,token 不够就逼它继续想,从而把判断做透、避免错误滚雪球。\(A_{ans}\) 主要是综合信息,缩放只有边际收益、不额外加。这种"按功能给不同缩放"在表 4 里比四种统一策略都好、平均 ≥+1.8%,且在文档内的推理任务上增益尤为明显——印证了它确实在缓解认知过载。

4. 混合奖励建模:各智能体奖励 + 全局奖励,压住"自私"

四个智能体功能不同、偏好的奖励信号也不同,单给局部奖励会让每个智能体只优化自己那点、彼此不顾全局。MACT 因此把奖励混合:先给每个智能体定制奖励——\(A_{plan}/A_{exe}\) 用多模态过程奖励模型 \(r_{plan/exe}=R_{prm}(s_i/e_i\,|\,Q,D,P/E)\) 提供逐步、分层的即时反馈,\(A_{judg}/A_{ans}\)结果奖励模型 \(r_{judg/ans}=R_{orm}(J/O\,|\,Q)\) 给单条信号;再叠一条基于四智能体最终选定路径的全局奖励 \(r_{global}=R_{orm}(\{P,E,J,O\}\,|\,Q,D)\),强化正确路径、缓和智能体的自利倾向。表 5 显示:只用全局奖励反而最差(70.2,比无奖励还低),只用各智能体奖励有 72.7,两者混合才到 74.8——全局奖励单看增益有限,但它的价值在于"防自私",给混合策略再补 1.3%。

损失函数 / 训练策略

两阶段流水线。第一阶段 SFT:在文档/非文档数据(混带或不带 CoT)上微调一个 11B/7B/7B 的 VLM 增强视觉理解与推理,作为 \(A_{plan}\)/\(A_{exe}\);再用 GPT-4o + 规则验证生成的判断标签微调一个 8B/7B/7B 的 LLM 当 \(A_{judg}\);最后用前序智能体输出 + ground-truth 微调一个 3B/3B/7B 的 LLM 当 \(A_{ans}\)第二阶段 RL:用 GRPO 优化,过程奖励用 VisualPRM、结果奖励用 Skywork-VL-Reward。三个变体分别基于 Qwen2.5-VL / MiMo-VL / InternVL3 系列的小参数基座组装。

实验关键数据

主实验

15 个基准(10 文档类 + 5 非文档类,覆盖文本/网页/图表/表格 + 通用/数学)。三个变体均稳进平均分前三,其中 MACT-MiMo-VL-28B 平均最高,13/15 个基准夺冠。

变体(参数量) 平均分 vs 基座 备注
MACT-MiMo-VL-Series (28B) 77.2 +9.9 平均最高,领跑 7 个基准
MACT-InternVL3-Series (28B) 75.3 +11.5 第二
MACT-Qwen2.5-VL-Series (24B) 74.8 +10.3 第三
Gemini-2.0-Pro(闭源参照) 71.3 通用闭源最强
Qwen2.5-VL-72B-Instruct 70.5 同系更大单体

亮点:MACT-MiMo-VL-28B 平均比最强开源/闭源分别高 5.6% / 5.9%;在长上下文的 MMLongBench-Doc 及三个数学基准上,比第二名分别高 7.1%、10.6%、5.9%、8.7%——长上下文与推理密集场景增益最大。

消融实验

(基于 MACT-Qwen2.5-VL-24B,选 MMLong/TabBench/MVision 三个最难基准 + 全体平均)

配置 MMLong TabBen MVision 平均
Monolithic(单体) 32.5 50.8 32.4 66.2
w/o 多智能体协作 24.7 44.4 26.0 58.6
w/o 自适应缩放 34.9 50.8 34.5 71.1
w/o 混合奖励 38.3 54.2 36.7 71.4
MACT(完整) 43.7 57.2 41.8 74.8

智能体组合消融(表 3):仅 \(A_{plan}+A_{exe}\)=68.4(比基座 +3.9);加 \(A_{judg}\) 跳到 73.9(+5.5,判断/纠错回路是最大贡献);只加 \(A_{ans}\) 仅 68.8;四者齐全 74.8(\(A_{ans}\) 再补约 0.9)。

关键发现

  • 认知过载是真痛点:把四智能体提示揉回单模型(w/o multi-agent)平均分掉到 58.6,甚至低于裸基座——硬塞进一个模型比不拆还差,多智能体分工是性能基石。
  • 判断智能体贡献最大:在 \(A_{plan}+A_{exe}\) 基础上加 \(A_{judg}\) 一项就 +5.5%,远超 \(A_{ans}\) 的 +0.9%;独立判断比"内部自纠"和"判改合一"平均高 ≥2.6% 且少 0.3 次纠错。
  • 纠错不是越多越好\(N_c=3\) 即最优,再加大反而可能"把智能体绕晕、盖住正确答案",性能不再上升。
  • 全局奖励单看弱、组合才强:只用全局奖励 70.2(最差),但它防住智能体自私,混合后净增 1.3%。
  • 缩放收益集中在难任务:自适应缩放在文档内推理任务上的增益明显高于平均,印证其在缓解认知过载。

亮点与洞察

  • "程序化缩放 vs 单体缩放"的范式对照很有说服力:用 <30B 的组合体在 13/15 基准上压过 72B/78B 单体甚至闭源大模型,把"文档任务不该靠堆参数"这件事用数据钉死了。
  • 判断与纠错解耦是可迁移的设计:让裁判只判不改,避免了"为通过验证而糊弄"的奖励黑客;这套"中立裁判"思路可迁移到任意需要自校验的 agent 流水线(代码、数学证明、检索问答)。
  • 缩放策略按角色定制:并行给规划、best-of-N 给执行、预算强制给判断、回答不缩放——这种"按功能选缩放招式"的思路,比无脑给所有模块加算力更省、更准,值得在其他多智能体系统复用。
  • 回答智能体"反直觉地吃错误片段"\(A_{ans}\) 同时拿正确过程和被纠正前的错误片段作答,让模型把注意力聚焦在被改动处、防止漏掉易错细节,形成"错误—纠正"闭环。

局限与展望

  • 系统重、推理成本高:四个智能体串行 + 每步多候选采样 + 预算强制 + 最多 3 轮纠错回环,单次问答的延迟和 token 开销远高于单模型一次前向;论文主打"参数省",但未充分讨论端到端推理时延/算力的真实代价。
  • 依赖外部奖励模型与 GPT-4o 标注:判断标签靠 GPT-4o 生成、奖励靠 VisualPRM/Skywork-VL-Reward,这些外部模型的偏差会传导进训练,且复现门槛不低。
  • 工具库与流程是为文档场景手工设计的:四智能体分工、工具库、缩放配方都围绕文档处理定制,迁到其他视觉推理领域是否同样有效、\(N_p/N_e/N_c\) 等超参是否要重调,论文未展开。
  • 评测多用 GPT-4o 当裁判:大量基准用 GPT-4o 判对错,存在评测器偏好与被评模型同源的潜在循环风险。

相关工作与启发

  • vs 单体缩放(GPT-4o / Gemini-2.0-Pro / 72B-78B 开源):它们靠堆参数与数据获得通用强能力,但在文档程序性推理上边际收益递减;MACT 用程序化分工 + 按需缩放,以更小参数在文档任务上反超,主张"文档任务不是单体对象"。
  • vs 内部自纠错(同一智能体生成+纠错):同源模型存在认知盲区、抓不全错;MACT 用独立判断智能体引入中立裁判,平均高 ≥2.6% 且更省纠错次数。
  • vs 判改合一的单纠错智能体:既判又改需更大参数 + 复杂奖励,且重写易与原有部分冲突;MACT 把判断与纠错解耦,奖励设计更简、冲突更少。
  • vs 通用测试时缩放(并行/串行/混合/内部):这些为单模型设计、忽视多智能体分工;MACT 按角色配缩放招式,平均 ≥+1.8%。
  • vs 多智能体文档系统(如 MDocAgent-39B):MACT 以更小参数(24–28B)取得显著更高平均分,且引入了独立判断 + 自适应缩放 + 混合奖励这套配套机制。

评分

  • 新颖性: ⭐⭐⭐⭐ 把"程序化缩放"系统化为四智能体 + 按角色自适应缩放 + 混合奖励,判断/纠错解耦的设计有清晰洞察,但各组件多为已有技术的精心组合。
  • 实验充分度: ⭐⭐⭐⭐⭐ 15 基准、三套基座、智能体组合/缩放策略/奖励/纠错次数全维度消融,结论扎实。
  • 写作质量: ⭐⭐⭐⭐ 动机三痛点—范式切换的逻辑链清晰,图表丰富;细节较密、部分公式与术语略需对照附录。
  • 价值: ⭐⭐⭐⭐ 用小参数组合体压过大单体,为"文档/复杂推理该走多智能体程序化缩放"提供了有力证据,判断解耦与按角色缩放的思路可迁移。