$npx skillfedfor your agent
RESEARCH

Splitting search planning from synthesis fixes context collapse better than scaling to 30B

on: IterSynth: Rethinking Deep Search Agents via Role-Decoupled Iterative Synthesis

ReAct-style deep search agents have a structural problem that better models alone cannot fix: a single policy must simultaneously plan searches, evaluate evidence, and synthesize answers, all inside a context window that keeps growing until it collapses. On BrowseComp, the paper shows that even with a 64K context budget, ReAct trajectories fail to terminate before exhaustion in over 59% of cases. That is not a reasoning failure - it is an architectural one.

IterSynth attacks this by splitting one shared LLM policy into two role-conditioned behaviors. The Planner sees only the current question and a compact global summary, then decides whether to issue a new query or stop. The Synthesizer reads the retrieved evidence and rewrites the summary - filtering noise, resolving conflicts, integrating new findings. Crucially, both roles run on the same Qwen3-8B weights; role specialization comes entirely from prompts, action constraints, and information access, not separate models. The per-iteration context is structurally bounded because the Planner never sees raw retrieval history, only the reconstructed summary.

Training follows a two-stage recipe. Cold-start SFT on roughly tens of thousands of dual-role trajectories teaches the format. Then Role-Decoupled Policy Optimization (RDPO) takes over: it combines a terminal correctness reward broadcast across all turns with per-turn rubric scores from an LLM judge, but critically normalizes advantages within role-specific pools rather than across mixed Planner and Synthesizer samples. The ablation is telling - using the same composite reward but normalizing across both roles together actually drops below outcome-only GRPO, confirming that entangled credit assignment actively hurts rather than merely failing to help.

The numbers support the design. IterSynth-8B reaches an average score of 50.7 across five benchmarks, beating the strongest prior 8B agent by 4.2 points. It surpasses several 30B-scale agents - ReSum-30B, AgentFold-30B, OpenSeeker-30B - at under a third of the parameter count, and runs roughly 35% faster than Tongyi-DR-30B on identical hardware. As a zero-shot prompting strategy applied to Claude-4.5-Opus and DeepSeek-V3.1 without any fine-tuning, it also beats ReAct and IterResearch on most benchmarks, with gains up to 10 points on BrowseComp-ZH.

Two failure modes remain. On multi-hop GAIA questions, the Synthesizer sometimes records individual facts without preserving the relational link between them, causing the Planner to answer incorrectly despite having retrieved everything needed. On BrowseComp, early commitment to a plausible but wrong source can bias all subsequent synthesis - a confirmation-bias dynamic baked into the persistent summary design. Both point toward the same gap: the summary representation is flat, and the Synthesizer has no explicit mechanism to flag internal contradictions for re-verification.

The shared-parameter design also turns out to be a genuine win rather than a compromise. A controlled experiment training two separate 8B models, one per role, on the same data performs 3.5 points worse on average than the single shared policy - suggesting the roles benefit from common reasoning primitives learned jointly.

Role-decoupled prompts and per-role advantage normalization let a single 8B model beat most 30B deep-search agents by fixing context collapse at the architectural level.

Sources & links