Skip to content

Marco DeepResearch: Unlocking Efficient Deep Research Agents via Verification-Centric Design

Marco DeepResearch is an 8B-scale open deep-research agent from Alibaba AIDC built on Qwen3-8B and post-trained with verification injected at every stage: QA synthesis, trajectory construction, and test-time scaling. The headline result is that a small 8B model (under a 600-tool-call budget) matches or beats several 30B-scale agents — including Tongyi DeepResearch-30B and MiroThinker-v1.0-30B — on BrowseComp-ZH, and tops the 8B-scale category on BrowseComp (31.4), BrowseComp-ZH (47.1), WebWalkerQA (69.6), and xBench-DeepSearch. The paper’s bet is that “make verification explicit and load-bearing at every stage” is what unlocks 30B-class behavior from an 8B base; the code, model weights, and a family of related artifacts (HSCodeComp, DeepWideSearch, Table-as-Search, UMEM) are released under Apache-2.0.

  • A three-role adversarial loop (Generator / Attacker / Analyzer) over knowledge-graph QA synthesis guarantees answer uniqueness: the Generator proposes 2–3 obfuscated constraints from a structured attribute profile, the Attacker searches for counterexample entities, and the Analyzer adds new discriminative constraints until either no counterexample remains or a 10-round budget is hit — convergence follows a monotonicity argument (each round adds at least one constraint and removes at least part of the counterexample set) [§3.1].
  • A Generation–Execution–Verification loop over agent-based web exploration replaces forward QA generation with evidence-first reverse construction plus an independent search-agent solver and a verification agent; failed samples are returned with structured diagnostic feedback (under-constrained, shortcut path, insufficient depth, evidence conflict) for targeted revision rather than discarded [§3.2].
  • Multi-agent trajectories with explicit verifier sub-agents are converted to single-agent ReAct format for SFT, injecting verification patterns into the training distribution; a verification-reflection re-rollout step recovers failed-answer trajectories by conditioning on verifier-generated failure diagnosis [§4].
  • Verifier-guided test-time scaling uses Marco DeepResearch itself as a verifier: each candidate answer is checked via rule-based + agent-as-judge, and if rejected the agent continues exploring under a budget; combined with a “Discard All” context reset (drop tool-call history and intermediate reasoning, keep only the original query + system prompt) when degeneration signals fire (max steps, failed solve) [§5].
  • SFT uses token-level cross-entropy with a loss mask such that only assistant-response tokens contribute (instruction and tool-response tokens are masked out) [§6.1, Eq. 1].
  • RL stage is GRPO with within-group reward normalization and a two-stage LLM-as-Judge reward (Qwen-Turbo-Latest as fast primary judge; GPT-4.1 escalation for uncertain cases) [§6.2, Eq. 2–4].
  • Training data combines open-source multi-hop QA (2WikiMultihopQA, BeerQA, ASearcher, DeepDive, REDSearcher) with 12K synthesized graph-based + agent-based QA samples; 2K high-quality QA samples are held out for RL [§7 Training Data].
  • Backbone is Qwen3-8B with YaRN-extended 128K context; trained on 64×A100 with Megatron and a 600-tool-call evaluation budget [§7 Implementation].
  • Under 600 tool calls, Marco-DeepResearch-8B is top of the 8B-scale category on BrowseComp (31.4), BrowseComp-ZH (47.1), WebWalkerQA (69.6), and xBench-DeepSearch (82.0 / 42.0 on 2505 / 2510 splits); on GAIA text-only it trails RE-TRAC-4B by 0.5 points [§8.1, Table 1].
  • The verification-augmented graph-based QA synthesis is a controlled head-to-head win on three of four held-out benchmarks (+2.3 BC-ZH, +1.7 GAIA, +1.3 xBench-DS-2505) at identical data scale, with a small regression (−0.4) on a 200-sample BrowseComp slice [§8.2, Table 2].
  • Augmenting single-agent ReAct trajectories with multi-agent verified trajectories improves all reported benchmarks with positive average gain [§8.2, Table 3].
  • The RL stage on top of SFT contributes consistent gains across all five benchmarks, averaging +X points with the largest single gain on xBench-DS-2505 (+6.7 from 68.3 → 75.0) [§8.2, Table 4].
  • Synthesized trajectories show higher token length, deeper tool-call counts, and a lower answerable rate (29.0% vs 51.7% under matched ReAct construction) than REDSearcher / DeepDive / ASearcher — a quantitative argument that the synthesis pipeline is producing harder, denser supervision rather than just more samples [§8.2, Figs. 3–5].

The pipeline is organized along three verification-injection stages and a standard SFT→GRPO post-training stack. Stage 1 (Verified Data Synthesis) runs two parallel pipelines: a knowledge-graph branch that does answer-first reverse construction with an adversarial Generator/Attacker/Analyzer uniqueness loop, and an agent-based web-exploration branch that runs a Generation–Execution–Verification loop with three role-playing agents (question, search, verification) and a diagnosis-iterative-optimization step instead of plain rejection. Stage 2 (Verification-Driven Trajectory Construction) generates multi-agent trajectories where a verifier sub-agent independently checks every sub-task output and the final answer with web tools; failed steps are revised and re-executed so the trajectory explicitly records verification-driven correction. Multi-agent traces are then flattened into single-agent ReAct format for training, and failed-final-answer trajectories are re-rolled out conditioned on verifier-generated feedback. Stage 3 (Verifier-Guided Test-Time Scaling) uses Marco DeepResearch as an in-context verifier: candidates that fail rule-based + agent-as-judge checks trigger continued exploration under a fixed budget, with a “Discard All” context reset that drops tool-call history and intermediate reasoning when degeneration signals fire (max steps reached, candidate rejected). When the budget is hit or convergence triggers, a Joint Verify pass over all candidates produces the final answer.

Post-training itself is conventional: SFT with assistant-only loss mask on the synthesized trajectories, followed by GRPO with within-group advantage normalization. The reward is a two-stage LLM-as-Judge: Qwen-Turbo-Latest scores all rollouts cheaply, with GPT-4.1 re-scoring uncertain or low-confidence cases. Training infrastructure uses Redis caching for repeated queries, exponential-backoff retries on tool failures, asynchronous non-blocking tool calls, and asynchronous reward computation pipelined with model updates — engineering choices that are load-bearing on long-horizon trajectories with hundreds of tool calls.

Under a 600-tool-call budget on Qwen3-8B, Marco-DeepResearch-8B is the top 8B-scale open agent on four of six benchmarks: BrowseComp 31.4, BrowseComp-ZH 47.1, WebWalkerQA 69.6, xBench-DeepSearch 82.0 (2505) / 42.0 (2510) [Table 1]. On GAIA text-only it places second to RE-TRAC-4B by 0.5 points; on DeepSearchQA it remains competitive but does not lead. Crucially, on BrowseComp-ZH the 8B model surpasses MiroThinker-v1.0-8B and matches/exceeds Tongyi DeepResearch-30B and MiroThinker-v1.0-30B — a same-recipe scaling reduction by roughly a factor of 4 in active parameters under the same tool-call budget. Verification-augmented graph QA wins +2.3 BC-ZH / +1.7 GAIA / +1.3 xBench at matched data scale [Table 2]. Multi-agent verified trajectories augmenting single-agent ReAct help across all benchmarks [Table 3]. RL on top of SFT contributes +0.8 to +6.7 absolute points across five benchmarks, biggest on xBench-DS-2505 [Table 4]. Data-statistics figures show the synthesized corpus is longer, deeper, and harder (29.0% vs 51.7% answerable rate by a fixed ReAct agent) than REDSearcher / DeepDive / ASearcher [Figs. 3–5].

This is a clean datapoint for the “verification gate as load-bearing piece” thesis already running through Synthetic Training Data — Marco-DeepResearch makes the gate explicit at three stages rather than one, and lets the same model serve as the test-time verifier, which is a tighter loop than Close the Loop: Synthesizing Infinite Tool-Use Data via Multi-Agent Role-Playing‘s separate-verifier role-playing pipeline. It also adds a new datapoint to the “interaction depth scales monotonically” claim on the Tool-Use Agents page: Marco operates at MiroThinker’s 600-tool-call budget but on an 8B model rather than 72B, suggesting interaction depth interacts with model capability in non-trivial ways — closing the parameter gap by raising the budget. The “Discard All” context-reset primitive is also a structural sibling of Recursive Language Models’ fresh-sub-LM-instance idea, applied here within a single rollout rather than across hierarchical sub-LMs. Finally, the released codebase (github.com/AIDC-AI/Marco-DeepResearch) bundles four related releases (HSCodeComp, DeepWideSearch, Table-as-Search, UMEM) that map onto distinct corners of the deep-research agent design space and will likely seed several of the candidate concepts (research-agents, multi-hop-qa-synthesis, long-horizon-rl-rollouts) toward promotion.