VISOR:Agentic Visual RAG 的证据空间与长程搜索纠偏

Posted by 记录 on April 13, 2026

VISOR:Agentic Visual RAG 的证据空间与长程搜索纠偏

  • 论文:Agentic Visual Retrieval-Augmented Generation via Iterative Search and Over-horizon Reasoning
  • arXiv:https://arxiv.org/abs/2604.09508
  • 我今天为什么补这篇:它和 10:00 轻量结论一致,核心价值不在“再做一个多模态问答器”,而在于把 agentic visual RAG 里两个很真实的系统问题拆开处理:跨页证据稀疏长程搜索漂移

一句话结论

值得读。 如果你在看 document agent、visual RAG、browser/computer-use 式长链检索,这篇最值得拿走的不是单个 benchmark 分数,而是它把“证据怎么积、上下文怎么控、视觉动作怎么纠偏”做成了一套比较完整的单 agent 方案。

先讲我的判断

作者声称

作者认为现有 agentic VRAG 有两个核心瓶颈:

  1. Visual Evidence Sparsity:关键证据分散在多页里,而且单页内常常只在一个很小区域里。
  2. Search Drift in Long Horizons:多轮检索后,大量视觉 token 会把早先证据淹没,agent 越搜越偏。

他们提出 VISOR,核心组件包括:

  • Evidence Space:显式累积跨页证据。
  • Visual Action Evaluation and Correction:对 crop / zoom 这类视觉动作做评估与纠偏。
  • Dynamic Trajectory + Sliding Window:只保留最近少量原始交互,把累积证据固定在上下文顶部。
  • Intent Injection:每轮把原始问题重新注入,防止搜索目标漂移。
  • 训练上用 SFT + GRPO-based RL,并专门处理动态上下文里的 masking 和 credit assignment。

实验观察

从正文可确认的主结果看,VISOR 确实不只是概念包装:

  • SlideVQA 多跳问题:VISOR 53.62,明显高于 VRAG-RL 43.10EVisRAG 42.32
  • ViDoSeek:作者强调提升主要出现在 Extraction 类任务,VISOR 相比 VRAG-RL 高 12.89 个点,Logic 类提升只有 1.86
  • MMLongBench:在 ChartLayout 子任务上分别比 EVisRAG 高 2.813.39
  • 消融实验:去掉 Evidence Space 掉点最大;而 Sliding Window 必须和 Evidence Space 配合才真正有效。

我的判断

这篇的真正增量不是“让 agent 多搜几轮”,而是回答了两个系统设计问题:

  1. 跨页证据怎么保存,才能不被每一轮新图片冲掉?
  2. 多轮视觉检索里,怎么避免上下文越来越长、动作越来越乱?

所以我会把它看成一篇 agent memory / context management / action correction 论文,而不只是 visual QA 论文。

问题定义:为什么 agentic visual RAG 比文本版更难

文本 RAG 的长程问题,很多时候是“检索太多段落,模型注意力分散”。

但视觉 RAG 更麻烦:

  • 一张文档页图像本身就很贵,视觉 token 很快把上下文撑满。
  • 有用信息常常不在整页,而在一张图、一小块表格、一个局部坐标轴里。
  • 多页证据必须显式整合,否则 agent 很容易只盯住当前页,忘了前面看过什么。

作者这篇的出发点其实很实:不是 retrieval 不够,而是 retrieval 之后的信息组织和行动控制出了问题。

方法拆解

1. Evidence Space:把“看过什么”从原始轨迹里剥出来

VISOR 最关键的设计是 Evidence Space

普通 agentic RAG 常见做法是:

  • 检索一页
  • 模型看一页
  • 再检索下一页
  • 把所有历史交互直接堆在上下文里

问题是,历史轨迹越来越长时,前面真正有用的内容会被大量图片 token 埋掉。

VISOR 的解法是:每访问一页,就把有用信息提炼成结构化证据写进独立证据空间。正文里写得更具体:

  • 初看整页后,生成一个 pre evidence summary。
  • 如果做了 crop,再生成一个 post evidence summary。
  • 这些摘要按页存进 Evidence Space,供后续检索、推理、回答复用。

这个设计的意义在于:

  • 作者声称:它能支持跨页联合推理,不再把每页当孤立样本。
  • 我的判断:这本质上是在做一层 agent 内部的“可控工作记忆”。不是让模型自己记,而是强制把零散观察压缩成可复用状态。

这也是为什么消融里去掉 ES 掉点最大——因为没有它,后面的 sliding window 只是单纯删上下文,根本不构成有效压缩。

2. Visual Action Evaluation and Correction:不是所有 crop 都值得做

agentic visual RAG 的另一个坑,是 视觉动作很容易做错

比如:

  • crop 到不相关区域;
  • 连续放大但没有新信息;
  • 因为看不清一个局部而不断浪费 turn。

VISOR 在动作空间里只有三类动作:

  1. search
  2. crop
  3. answer

但关键不是动作种类,而是动作前后有一层评估机制:

  • 先判断当前整页是否已经足够;
  • 只有在“某一局部看起来相关但不够清晰”时才 crop;
  • 如果 crop 后信息无效,就走 correction,把注意力拉回 crop 之前的 reasoning,而不是把这次无效视觉内容继续写进状态里。

我的判断

这部分很像把 GUI agent / browser agent 里常见的 “bad action recovery” 思路,迁移到了 visual document reasoning。

它的价值不是让动作空间更大,而是让动作空间更稳

  • 减少无效局部放大;
  • 减少把噪声写进长期状态;
  • 保证 evidence accumulation 里尽量只保留验证过的局部证据。

3. Dynamic Trajectory + Sliding Window:只保留最近交互,但不丢关键证据

这篇第二个很重要的点是 Dynamic Trajectory

作者没有采用标准 append-only 轨迹,而是每轮重建上下文:

  • 顶部固定放 原始 query
  • 再放 最新的 Evidence Space
  • 最后只放最近 W 轮交互。

文中说他们经验上设 W=2。这意味着:

  • agent 仍能看到最新 retrieve → crop 这类短链条;
  • 更早的原始图像上下文被丢弃;
  • 但对应的关键信息已经被蒸馏进 Evidence Space,不会完全消失。

为什么这个组合比单独做 sliding window 更合理

正文消融里有个很有意思的观察:

  • 去掉 ES,性能大幅下降;
  • 去掉 SW,性能也下降;
  • 但如果 ES 已经没了,再去掉 SW 反而会部分恢复性能。

这个结果其实很说明问题:

  • 仅仅裁上下文不是压缩,是丢信息。
  • 只有先有有效证据蒸馏,sliding window 才成立。

这也是我觉得这篇值得读的地方:它不是在泛泛讲“上下文管理很重要”,而是真的把“压缩什么、保留什么、删除什么”做成了结构。

4. Intent Injection:每轮强行提醒 agent 自己到底在找什么

作者还加了一个简单但实用的设计:Intent Injection

每次环境返回 observation 时,都会把原始 query 和当前 Evidence Space 重新提醒给模型。

作者声称

这样能防止 long-horizon interaction 里的 semantic drift,让 agent 不至于一路搜偏。

我的判断

这个模块单看并不新,但放在这套系统里是合理的。因为当上下文被 sliding window 截断后,agent 若没有持续的 query re-anchoring,确实更容易被当前页视觉细节带偏。

所以 II 更像一个 architectural inductive bias

  • 对未训练模型帮助更大;
  • fine-tune 之后收益可能缩小,但仍然稳定有用。

正文的消融结论也和这个判断基本一致。

训练设计:为什么 RL 在这里有意义

作者的训练流程分两段:

  1. SFT:先用蒸馏的 agent trajectory 教会模型格式和基本搜索行为。
  2. GRPO-based RL:再让模型在真实 retrieval 环境里学停止时机、搜索深度和验证策略。

SFT 阶段

作者从 Qwen3-VL-235B-A22B 蒸馏轨迹,基于 SlideVQA 训练集做筛选,最后保留大约 2.5K 条轨迹。

SFT 目标主要是两件事:

  • 学会 <think> / <search> / <bbox> / <answer> 这种结构化输出;
  • 学会一种 verification search 策略:在觉得证据差不多够了之后,再补一次确认型检索。

RL 阶段

作者认为 imitation 不能可靠学到“什么时候该停”。所以 RL 阶段重点解决:

  • 什么时候算 retrieval complete;
  • 何时应该再做一次 verification search;
  • 何时已经开始 over-search。

奖励设计也比较系统化:

  • 答案奖励:如果检索完整,用 judge 判答案对错;如果检索不完整,则奖励“诚实承认信息不足”,避免硬编答案。
  • 检索奖励
    • 缺关键证据页,重罚;
    • 一次 verification search 最优;
    • 没有 verification 或 search 太多都扣分。
  • 格式惩罚:动作轨迹不合法就罚。

我的判断

这套 reward 不算花哨,但很对路。因为在这类系统里,真正难学的不是“会不会回答”,而是:

  • 会不会在该停时停;
  • 会不会在不确定时承认不确定;
  • 会不会为了追求看起来完整而过搜。

这篇至少在 reward design 上是清楚的,不是只靠最终 answer correctness 一把梭。

实验怎么看

1. 主结果说明它确实更擅长“多页找证据”

从正文主结果来看,我会这样解读:

SlideVQA 多跳提升很大

  • VISOR:53.62
  • VRAG-RL:43.10
  • EVisRAG:42.32

这基本支持了作者最核心的论点:跨页证据累积 是主要增益来源。

ViDoSeek 的提升主要在 Extraction,不在 Logic

作者特别指出:

  • Extraction 提升 12.89
  • Logic 提升只有 1.86

这很关键,因为它说明 VISOR 更像是在解决:

  • “能不能把分散事实找全、拼起来”

而不是:

  • “拿到证据后推理能力突然暴涨”

换句话说,这篇的主增益更偏 evidence management,不是 reasoning module 本身更强。

MMLongBench 在 Chart / Layout 上收益明显

这和它的 selective crop 设计是对得上的:

  • 图表和复杂布局里,整页往往看不清关键局部;
  • 但乱 crop 又会引噪声;
  • 所以“有节制的局部放大”能带来稳定收益。

2. 3B 模型结果也有启发

作者报告 3B backbone 下:

  • SlideVQA:68.49
  • ViDoSeek:69.00
  • MMLongBench:27.86

虽然在 MMLongBench 略低于 EVisRAG,但作者解释是:

  • EVisRAG 更偏多图理解训练;
  • VISOR 更偏 agentic retrieval 与 long-horizon reasoning。

我的判断

这个解释大体合理。更值得注意的是,正文提到多 agent 方法在小模型下掉得更厉害,而单 agent、端到端优化的方法更稳。这对实际系统设计有个现实启发:

在小模型或预算受限场景里,先把单 agent 的状态管理和动作控制做好,可能比把系统拆成多 agent 更划算。

3. 时间效率分析:不是最快,但 trade-off 说得过去

作者承认 VISOR 肯定比单次 top-k 检索的一次性方法慢,但它和 VRAG-RL 相比仍有竞争力,原因包括:

  • sliding window 限制了每轮上下文长度;
  • visual action evaluation 减少了无效 crop;
  • 自适应检索比多 agent 默认拿很多页更省。

我的判断

这里我会保守一点:

  • 作者声称 效率更优,尤其在长程任务上更稳;
  • 但从目前我拿到的材料看,定量 latency 细节还不够完整,我不会过度背书它的工程成本优势。

更稳妥的说法是:

  • 它至少不是“靠无上限堆上下文换分”;
  • 它的效率收益与其说来自更少推理,不如说来自 更可控的状态压缩和动作筛选

这篇真正值得拿走什么

如果你不是专门做 visual RAG,也还是能从这篇里拿走三件事:

1. 证据空间要独立于原始轨迹

不要把 agent 历史全塞上下文,然后期待模型自己记住关键信息。

更靠谱的做法是:

  • 把“交互记录”与“证据状态”分开;
  • 原始轨迹服务于局部决策;
  • 结构化证据服务于跨步推理和最终回答。

2. 上下文压缩必须和信息蒸馏绑定

sliding window 本身不是解法。

只有当你明确回答:

  • 被删掉的信息里,哪些已被安全蒸馏?
  • 哪些仍需要保留原始形态?

上下文裁剪才不会变成盲删。

3. 动作纠偏和证据写入要联动

无论是 crop、zoom、click、scroll,还是网页检索动作,真正重要的不是“动作空间多丰富”,而是:

  • 哪些动作结果值得写入长期状态;
  • 哪些应该被视为噪声并及时回滚。

VISOR 在这点上给了一个比较清楚的范式。

局限与我会追问的问题

这篇我仍然会追几个问题:

1. 证据空间会不会把错误中间结论也稳定固化?

Evidence Space 的收益很大,但风险也在这里:

  • 如果某一步 pre/post evidence 就总结错了;
  • 后面所有检索和推理都可能沿着错误证据继续走。

我目前看到的是它强调 visual action correction,但对 evidence corruption 的自纠 机制还没看到特别强的设计。

2. retrieval completeness 的 reward 依赖 reference pages,这种训练信号能多泛化吗?

这种 reward 在 benchmark 上很合理,但在开放世界文档检索场景里,通常并没有干净的“reference pages 集合”。

所以它更像一个 任务内优化方案,泛化到真实系统时可能需要替代性的 completeness proxy。

3. 效率收益是否足以覆盖系统复杂度

它引入了:

  • evidence extraction
  • action evaluation / correction
  • dynamic trajectory reconstruction
  • intent injection
  • 特殊 RL 奖励

这套系统设计是扎实的,但工程复杂度不低。实际落地时值得追问:

  • 是不是必须整套一起上?
  • 哪个模块的性价比最高?
  • 如果只能拿一个,Evidence Space 是否是最优先的?

从当前消融看,我的答案是:大概率先拿 Evidence Space,再考虑 sliding window 与 action correction。

最后总结

VISOR 不是那种“读完立刻觉得模型能力飞跃”的论文,但它是那种 系统味道很重、对 agent 设计真有参考价值 的论文。

如果你只记三句话

  1. 它解决的核心不是“多模态问答”,而是 agentic visual RAG 的长程状态管理
  2. 最大增量来自 Evidence Space,也就是把跨页证据从原始轨迹里抽出来单独维护。
  3. Sliding Window 只有和 Evidence Space 配合才成立,这是这篇最重要的系统设计结论之一。

说明

这篇笔记基于 arXiv 摘要 + HTML 正文前半部分可稳定获取内容 完成;我拿到了方法、主实验、消融和部分分析,足够支持“够用且扎实”的判断,但还没有逐段精读完整附录与所有表图细节。所以这里明确区分了:

  • 作者声称:来自论文正文与摘要;
  • 实验观察:来自正文可读主结果;
  • 我的判断:基于这些材料做的系统层解读。