Skip to content

22.2 Evaluation Benchmarks and Open-Source Projects

24.2 built the training harness. But how good is the Deep Research agent that comes out of it? That question needs an evaluation benchmark. This section covers two things: (1) the design philosophy and pitfalls of the mainstream Deep Research benchmarks (BrowseComp, xbench-DeepSearch, GAIA); (2) reproducible open-source projects (GPT-Researcher, STORM, OpenResearcher) so you don't have to build everything from scratch.

Why Deep Research Evaluation Is Especially Hard

Traditional LLM benchmarks (MMLU, GSM8K) share two properties: (1) the answer is unique (a math problem has exactly one correct answer); (2) no tools are needed (the model answers directly). Deep Research breaks both of these:

  • The answer isn't unique: ask "compare state management in React and Vue" and there are countless valid ways to phrase a correct answer
  • Tools are mandatory: the model can't answer "what was the Bitcoin price in June 2026" from memory
  • The process matters: did the model get the right answer in 5 steps or 50? Did it cite reliable sources?
  • Data contamination: web content changes constantly, so today's answer may be stale tomorrow

Because of this, Deep Research evaluation needs benchmarks designed specifically for it.

Mainstream Benchmarks

BrowseComp (Meta, 2025)

BrowseComp is a browser-agent benchmark Meta released in 2025, built specifically to test an agent's ability to find information on the open web.

Design philosophy:

  • Hard enough to force browser use: every question is designed so it cannot be answered from the model's parametric memory
  • Answers are unique and verifiable: each question has one clear-cut answer that can be checked by exact string match
  • Anti-Google: the answer isn't a single Google search away — it takes multi-step navigation

Example:

Q: "The player who scored Argentina's only goal in the 1998 World Cup quarterfinal, which club did he serve as youth coach for after retiring?"

A: "Argentinos Juniors" (exact string)

To solve this, the model has to: (1) look up who scored for Argentina in the 1998 World Cup quarterfinal → Batistuta; (2) look up what Batistuta did after retiring → became a youth coach; (3) look up which club. That's at least 3-5 steps of browser navigation.

Metric: Exact Match Accuracy.

SOTA results (as of June 2026):

SystemBrowseCompNotes
GPT-5 + browser38.2%Upgraded OpenAI Operator
Claude Opus 4.635.7%Anthropic internal
Kimi K2.5 Swarm72.1%Multi-agent collaboration
Tongyi DeepResearch51.4%Alibaba, March 2026
Human expert87.5%Single person, 30-min limit

Notice that Kimi K2.5 Swarm beats the single-agent systems by more than 30 percentage points — real-world evidence for the 22.6 multi-agent collaboration discussion.

xbench-DeepSearch (Tsinghua University, 2025)

xbench-DeepSearch is a Chinese-language Deep Research benchmark released in 2025 by Tsinghua and the University of Hong Kong, targeting several shortcomings of BrowseComp:

  • Chinese-first: BrowseComp is English-only; xbench-DeepSearch covers both Chinese and English
  • Diverse task types: BrowseComp is all single-entity Q&A; xbench-DeepSearch adds multi-document synthesis, comparative analysis, and temporal reasoning
  • Controllable difficulty: each question is labeled with a difficulty rating (1-5 stars), so you can pick a subset matched to a model's capability

Task types:

TypeShareExample
Single-entity Q&A30%"Which university did the 2025 Turing Award winner get their bachelor's from?"
Multi-document synthesis25%"Compare the training cost of DeepSeek V3 and Llama 4"
Comparative analysis20%"How do React 19 and Vue 3.5 differ in SSR performance?"
Temporal reasoning15%"When did the Vision Pro, announced at Apple WWDC 2024, launch in mainland China?"
Implicit reasoning10%"Following the method in paper X, what accuracy would you expect on dataset Y?"

Metrics: besides EM, xbench-DeepSearch also reports:

  • Process Score: correctness of intermediate steps
  • Efficiency: average steps / minimum steps
  • Citation Quality: whether the cited sources are reliable

GAIA (Meta + HuggingFace, 2024)

GAIA (General AI Assistants) is an earlier benchmark, but it remains one of the standard Deep Research test sets. GAIA defines three difficulty levels:

LevelTask complexityAverage stepsExample
Level 1Easy5-10"Find an image matching a specific condition"
Level 2Medium10-30"Extract a table from a PDF"
Level 3Hard30-100"Plan a multi-city trip across Europe"

Metric: accuracy + average number of steps (fewer is better).

The key difference between GAIA and BrowseComp: GAIA tasks look more like "personal assistant" work, while BrowseComp tasks look more like "research" work.

Four Pitfalls in Evaluation

Deep Research evaluation has several distinctive pitfalls — miss them and the reported numbers end up inflated.

Data Contamination

The LLM's pretraining data may already contain the answer. Ask "who won the 2024 Nobel Prize in Physics" and the model can answer from memory, no browser required.

Countermeasures:

  • Use time-sensitive questions (the answer was published after the training cutoff)
  • Use counterfactual questions ("if event X hadn't happened, what would Y look like?" — the model has to look up the real facts about X)
  • BrowseComp mitigates this by design, requiring multi-step navigation

Diversity in Answer Phrasing

Ask an agent to "compare React and Vue," and both "React uses JSX, Vue uses templates" and "Vue uses templates, React uses JSX" are correct — but exact-match scoring would mark one of them wrong.

Countermeasures:

  • Use an LLM-as-Judge (GPT-4 / Claude) to judge semantic equivalence
  • Use structured answers (JSON, Markdown tables) to reduce phrasing variance
  • xbench-DeepSearch calibrates with an LLM judge

Gaming the Process

An agent might skip actually browsing and instead generate a plausible-looking answer directly, hallucinating the citation.

Countermeasures:

  • Citations must be clickable: check at evaluation time whether the URLs the agent provides actually exist
  • Page snapshots: save snapshots of the pages the agent visited during evaluation for later audit
  • BrowseComp includes "reverse verification" questions — questions whose answers are random strings that no agent could guess

Cost Contamination

Token cost varies 10-30× across agents (22.6 notes that Kimi K2.5 Swarm costs 15× a single agent). A naive accuracy comparison ends up favoring the expensive system.

Countermeasures:

  • Report accuracy per token cost as an efficiency metric
  • Compare under a fixed budget (e.g., "at most 100K tokens per question")

Reproducing with Open-Source Projects

You don't need to build a harness from scratch — the following open-source projects provide complete Deep Research training / inference pipelines.

GPT-Researcher (assafelovic-gpt-researcher)

The most popular open-source Deep Research framework. 18K+ GitHub stars, actively maintained.

Features:

  • Python, built on Playwright
  • A built-in Planner / Researcher / Writer three-layer architecture (a typical Orchestrator-Worker pattern)
  • Supports multiple search backends (Tavily, SerpAPI, Google CSE, Bing)
  • Outputs Markdown reports with citations

Good for: quickly standing up a production-grade Deep Research service. Not good for: RL training (it's designed for inference-time use).

bash
pip install gpt-researcher
python
from gpt_researcher import GPTResearcher

async def research():
    researcher = GPTResearcher("Compare React 19 vs Vue 3.5 SSR performance")
    report = await researcher.conduct_research()
    print(report)

Stanford STORM (stanford-omp-storm)

An open-source research framework from Stanford's Oval group, built specifically for "long-form structured article generation."

Features:

  • Follows the Wikipedia writing workflow: first a "simulated conversation" (multiple personas interviewing each other), then an outline, then the final article
  • Built-in Wikipedia retrieval and citation management
  • Produces Wikipedia-style long-form articles (5K-20K words)

Good for: academic surveys, in-depth reports. Strength: high citation quality (Wikipedia standard).

bash
pip install knowledge-storm
python
from storm import STORMWikiRunner

runner = STORMWikiRunner(...)
runner.run("History of reinforcement learning")

OpenResearcher (tjuloonkopen-researcher)

A fully open-source Deep Research training pipeline, RL training code included.

Features:

  • Reproducible training: ships a 100K-trajectory dataset plus GRPO training scripts
  • Built on the Search-R1 architecture
  • A 7B model reaches 31.2% on BrowseComp
  • Complete documentation (English)

Good for: training a Deep Research agent from scratch. Strength: a complete vLLM + veRL pipeline that's easy to extend.

bash
git clone https://github.com/OPPO-PersonalAI/O-Researcher
cd open-researcher
bash train.sh --model qwen2.5-7b --algo grpo

Other Projects Worth Watching

ProjectInstitutionHighlights
Search-R1UIUCThe earliest open-source Deep Research RL training code
R1-SearcherRenmin UniversityMulti-stage training (SFT → RL)
Tongyi DeepResearch reproductionAlibaba DAMO Academy (official)Industrial scale, needs an H100 cluster
PokeeResearchPeking UniversityA 7B model matching 70B-class performance
DeepResearcherRenmin UniversityOpen-source end-to-end RL training

End-to-End Experiment: Training a Deep Research Agent from Scratch

Now let's string everything in this section together into a full experimental pipeline.

Step 1: Pick a Base Model

  • Beginner: Qwen2.5-7B-Instruct (easy to get running)
  • Intermediate: Llama-3.1-8B-Instruct
  • Advanced: Qwen3-14B / DeepSeek-V2-Lite

Step 2: Pick an Action Space

  • Simple (API-based): the 3-action space from Search-R1
  • Realistic (Playwright-based): the 7-action space from OpenResearcher

Step 3: Pick Training Data

  • xbench-DeepSearch training set (10K)
  • HotpotQA + Natural Questions (needs adaptation)
  • Synthesize your own: generate questions and answers with GPT-5 / Claude

Step 4: Train

bash
# Using OpenResearcher's training script
bash train.sh \
    --model qwen2.5-7b \
    --algo grpo \
    --env api \
    --data xbench-train.jsonl \
    --batch-size 256 \
    --lr 5e-7 \
    --epochs 3

Step 5: Evaluate

bash
# BrowseComp evaluation
python eval.py \
    --model checkpoint-final \
    --benchmark browsecomp \
    --max-steps 30

Expected outcome: after 3 epochs of training, Qwen2.5-7B's BrowseComp accuracy rises from 8% (the SFT baseline) to 25-30% — already close to GPT-4 + browser territory (35%).

Section Summary

The four major Deep Research benchmarks (BrowseComp / xbench-DeepSearch / GAIA / your own) each emphasize something different — BrowseComp tests "forced multi-step navigation," xbench-DeepSearch tests Chinese-language coverage and task diversity, GAIA tests personal-assistant scenarios. There's no silver bullet; run at least two benchmarks.

On the open-source reproduction side, GPT-Researcher is the pick for building a product, OpenResearcher is the pick for doing research. The former is engineering-mature; the latter is training-transparent. If your goal is research or learning, start with OpenResearcher; if your goal is shipping a product, start with GPT-Researcher.

The next chapter, Chapter 23: Computer Use and GUI Agents, moves from the browser to the entire desktop — the agent no longer just browses web pages, it operates arbitrary GUI applications (Excel, Photoshop, internal office tools).

现代强化学习实战课程