Writing
July 19, 2026 · 6 min read

GRASP: teaching a retrieval agent when to skim, scan, and read closely

A new RL framework trains agentic RAG systems to choose between semantic search, keyword search, and paragraph reading at each reasoning step, and its ablations show that controlling context granularity beats adding another search tool.

agentic-ragreinforcement-learningretrieval-augmented-generationmulti-hop-qasearch-agents

Multi-hop RAG agents are supposed to reason, search, read, and search again until they've assembled enough evidence to answer correctly. In practice, most agentic RAG systems still make three decisions badly: when to retrieve, whether to search by meaning or by exact terms, and how much context to pull back once something relevant turns up. A new paper out of UMass Amherst and Adobe Research, GRASP: GRanularity-Aware Search Policy for Agentic RAG (Gandhi, Lee, Todmal, Dernoncourt, Rossi, Wang, and Lan), trains an RL policy to make all three decisions jointly. The headline numbers are solid, but the detail I keep coming back to is buried in the ablation table: controlling how much context the agent pulls back mattered more to accuracy than giving it a second search tool.

The problem: one retrieval signal, one chunk size, every step

Static RAG retrieves once and generates. Agentic RAG lets the model reason, issue a query, read results, and loop — which helps, but most implementations still commit to a single retrieval signal (usually dense/semantic) and a single context granularity (usually the whole paragraph) at every step. The authors illustrate why that fails on multi-hop questions with a worked example: asked which Eminem album featured a guest vocalist who also appeared on an album called "Unapologetic," a single-step retriever pulls in a distractor document and the model hallucinates a connection to the wrong album. In an agentic setting the failure compounds: once one retrieval step goes wrong, the reasoning chain inherits the mistake and keeps building on it.

Three tools, one learned policy

GRASP gives the agent three primitives instead of one: semantic search (dense retrieval), keyword search (BM25), and a read-paragraph action that expands a retrieved sentence out to its full parent paragraph. Retrieval defaults to the sentence level rather than the paragraph level, a deliberate choice to keep irrelevant tokens out of the context window, and reading is the only way to widen that window. That's what makes this "granularity-aware": the agent isn't just deciding what to search for, it's deciding how much text to bring back and when.

The policy backbone is Qwen2.5-3B-Instruct, trained with GRPO (the group-relative variant of PPO introduced for DeepSeekMath) rather than plain PPO. Each step samples a group of trajectories for the same question and updates the policy from their relative rewards, which avoids training a separate value model.

A reward built from four signals, weighted so one dominates

The reward is layered so it can't be gamed by any single easy signal. Answer accuracy — token-level F1 between the predicted and gold answer — is left unweighted, capped at 1.0, and set as the dominant term. Three auxiliary rewards, weighted to sum to at most another 1.0, shape how the agent gets there: a grounded-reading reward that credits reading gold-evidence paragraphs and penalizes reading distractors, a complementary-search reward that only pays out when both semantic and keyword search each surface at least one gold document, and a turn-efficiency reward that only activates once the answer is already correct, so the agent can't farm efficiency credit by guessing early and stopping. The authors put most of the auxiliary weight on grounded reading (0.7 of that budget) and split the rest evenly across complementary search and efficiency (0.15 each) — enough to shape behavior without letting the auxiliary terms override answer correctness.

Results that hold on datasets the model never trained on

GRASP trains only on HotpotQA and is evaluated unchanged on 2WikiMultiHopQA and MuSiQue. Against single-step retrieval, a prompting-based agentic baseline (IRCoT, using gpt5-mini to drive the chain-of-thought), and Search-R1 (an RL baseline limited to one retrieval tool), GRASP posts the best exact-match, F1, and LLM-judge scores on essentially every metric across all three benchmarks. On HotpotQA it reaches 0.53 EM / 0.66 F1, against 0.45 / 0.56 for the strongest Search-R1 checkpoint and 0.37 / 0.48 for hybrid single-step retrieval. Retrieval recall tells a similar story: GRASP lands at 0.90 on HotpotQA, 0.90 on 2WikiMultiHopQA, and 0.70 on MuSiQue — best or effectively tied-best on all three, edged out only by IRCoT's 0.91 on HotpotQA itself, despite IRCoT generating its reasoning with a much larger proprietary model rather than the same 3B open-weight backbone GRASP uses.

The behavior it learned, and the ablation that explains it

The authors trace the agent's action sequences and find a consistent pattern: it tends to open with semantic search to locate a relevant topic or entity, read a paragraph to verify that context and extract a bridge entity, then pin that entity down with a targeted keyword query — before looping back to semantic search for the next hop. It's a rough analogue of skim-then-scan reading behavior.

Learned retrieval policy loop: semantic search for broad exploration, paragraph reading for local verification, keyword search for entity lookup, looping to the next hop or exiting to an answer

The ablation study backs this up in a way I find more interesting than the leaderboard numbers. Dropping keyword search costs almost nothing (EM −0.012). Dropping semantic search costs more (EM −0.072). But dropping the read-paragraph action — forcing the agent back to fixed paragraph-level retrieval instead of letting it choose sentence-level evidence and expand only when needed — costs the most by a wide margin (EM −0.122, F1 −0.147). The granularity control is doing more work than the second search modality. For a paper whose title leads with "granularity-aware," that's the result that actually earns the name.

Where this sits

GRASP is explicit that it's the first work to jointly study retrieval-signal choice, context granularity, and RL-trained policy learning in agentic RAG, and that's a fair, narrow claim. It sits directly downstream of Search-R1 (single retrieval tool, outcome-level reward) and alongside newer multi-tool RL retrieval work like MARAG-R1, which adds filtering and aggregation tools but still retrieves at the chunk level and needs supervised fine-tuning before RL kicks in. GRASP's contribution is specific rather than sweeping: keep retrieval at sentence granularity by default, make paragraph expansion a learnable action instead of a fixed setting, and reward the tool combination explicitly instead of hoping it emerges from an outcome-only signal.

It's a sensible, well-executed increment in an already busy lineage of RL-for-search-agents papers, not a different way of thinking about the problem. It also inherits a real constraint from its own reward design: both the grounded-reading and complementary-search rewards need gold supporting-fact annotations, which is why the evaluation stays on HotpotQA-style benchmarks and doesn't yet say anything about corpora without that kind of labeling. If I were building an agentic RAG system today, the lesson I'd take isn't "add three tools." It's that letting the agent control how much context it pulls back, one sentence at a time, is worth more than another retrieval modality bolted on next to the ones you already have.

References
  1. 01GRASP: GRanularity-Aware Search Policy for Agentic RAG (arXiv:2607.10463)