Learning to Route in Visual Space via Multi-Step Embedding Retrieval
Organizations: The University of Texas at Austin · Google DeepMind
Abstract
LLM agents rely on retrieval tools to access external knowledge, yet visual agentic search remains severely bottlenecked by standard single-step retrievers. In current pipelines, the agent must issue text queries for every intermediate step, struggling when visual clues are difficult to describe or when the retriever fails to surface necessary intermediate evidence within its top results. We hypothesize that offloading multi-step navigation across the entire embedding space directly to the retrieval tool resolves this performance bottleneck. To study this systematically, we introduce VHOP, a flexible data generation framework and benchmark with five core difficulty levels testing both visual matching and search planning. Using this framework, we develop VHOP-Router, an end-to-end training pipeline---combining supervised fine-tuning, online imitation learning, and reinforcement learning---that transforms a standard embedding model into an autoregressive multi-step retriever. Operating directly in the visual latent space, VHOP-Router retrieves linked image chains in a single tool call without requiring the agent to formulate intermediate text queries. Experiments show VHOP-Router boosts retrieval performance from under 5% to 76.3%. In agentic search, it improves task success rates by 52.7% and reduces the average token length by 61% from 1886 to 728, whereas upgrading the agent yields only a 3.7% gain. Compared to a strong baseline where the agent retrieves the top 50 results per step, VHOP-Router maintains superior performance while reducing in-context images by and cutting the cumulative API payload by . The models also generalize robustly to unseen difficulty levels and realistic test sets. Ultimately, VHOP and VHOP-Router provide an efficient and effective solution for visual agentic search that leaves native LLM capabilities entirely intact.
Figures & tables
| Split | Worlds | Queries/ world | Images/ world | Gold trajectories |
|---|---|---|---|---|
| SFT/ Online IL | 1 | 978 | 4,492 | Yes |
| RLVR | 10 | 91–100 | 445–450 | No |
Appendix figures & tables21 assets
Supplementary material from the paper’s appendix.
Appendix
| Level | Added requirement | Required behavior |
|---|---|---|
| L1 | Object identity | Match the same physical object across views. |
| L2 | Spatial relations | Reject an otherwise matching scene with the wrong relation. |
| L3 | Color constraints | Check the color specified in the instruction. |
| L4 | Dead ends | Recover after a plausible branch fails to continue. |
| L5 | Appearance twins | Distinguish instances with similar type, color, and appearance. |
| L6 | Shared logos | Follow links defined by a shared logo. |
| Sampled action | Basic term |
|---|---|
| Select | |
| Backtrack | |
| Stop |
| Retrieval tool | Agent | L1 | L2 | L3 | L4 | L5 | L6 | L7 | mean |
|---|---|---|---|---|---|---|---|---|---|
| GE2 (untrained) | Flash | 60.6 | 58.2 | 56.7 | 19.3 | 15.0 | 6.4 | 12.6 | 32.7 |
| Pro | 93.9 | 89.8 | 90.7 | 37.0 | 40.0 | 11.7 | 11.6 | 53.5 | |
| Qwen3 (untrained) | Flash | 73.7 | 69.4 | 77.3 | 32.7 | 28.0 | 9.6 | 14.7 | 43.6 |
| Pro | 78.8 | 77.6 | 90.7 | 36.3 | 34.0 | 9.6 | 18.9 | 49.4 | |
| VHop-Router , -hop | Flash | 85.9 | 62.2 | 58.8 | 59.7 | 57.0 | 12.8 | 6.3 | 49.0 |
| Pro | 82.8 | 64.3 | 72.2 | 64.7 | 61.0 | 16.0 | 6.3 | 52.5 |
| Retrieval tool | L1 | L2 | L3 | L4 | L5 | L6 | L7 | calls | images | sent | |
| GE2 (untrained) | 1 | 60.6 | 58.2 | 56.7 | 19.3 | 15.0 | 6.4 | 12.6 | 14.5 | 15 | 120 |
| 3 | 82.8 | 81.6 | 78.4 | 46.7 | 40.0 | 10.6 | 24.2 | 11.8 | 35 | 249 | |
| 5 | 86.9 | 86.7 | 84.5 | 61.0 | 60.0 | 19.1 | 36.8 | 9.6 | 48 | 300 | |
| 10 | 92.9 | 93.9 | 88.7 | 78.0 | 72.0 | 31.9 | 42.1 | 6.9 | 69 | 344 | |
| 50 | – | – | – | 81.3 | – | – | – | 5.4 | 270 | 1084 | |
| Qwen3 (untrained) | 1 | 73.7 | 69.4 | 77.3 | 32.7 | 28.0 | 9.6 | 14.7 | 13.0 | 13 | 104 |
| in-dom. | L4 test, iter | 41.0 | 45.7 | |
| L4 test, iter | 46.0 | 44.7 | ||
| L4 test, iter | 48.0 | 47.7 | ||
| vague | L1 | 32.3 | 37.4 | |
| L2 | 34.7 | 49.0 | ||
| L3 | 27.1 | 31.2 |
| Training configuration | Accuracy |
|---|---|
| Precise, -hop | 1.0 |
| Precise, mixed-hop | 1.0 |
| Vague, -hop | 8.2 |
| Vague, mixed-hop | 1.0 |
| Method | Training configuration | Answer accuracy | Set success |
|---|---|---|---|
| VHop-Router | Precise, -hop | 12.0 | 20.0 |
| Precise, mixed-hop | 4.0 | 20.0 | |
| Vague, -hop | 4.0 | 4.0 | |
| Vague, mixed-hop | 14.0 | 14.0 | |
| Flash VHop-Router | Precise, -hop | 20.0 | 36.0 |
| Precise, mixed-hop | 20.0 | 34.0 |
| Method | Strategy / training | L6 (logo) | L7 (text) |
|---|---|---|---|
| GE2 | Single-shot | 2.1 | 3.2 |
| GE2 | Greedy | 4.3 | 2.1 |
| GE2 | History | 2.1 | 2.1 |
| Qwen3 | Single-shot | 3.2 | 4.2 |
| Qwen3 | Greedy | 4.3 | 3.2 |
| Qwen3 | History | 4.3 | 3.2 |