Organizations: Seoul National University · University of California, Los Angeles · University of North Carolina at Chapel Hill · University of Houston · Snowflake AI Research
While LLM agents are increasingly capable of gathering and synthesizing evidence from a single homogeneous source, such as structured tables or unstructured data, real-world analytical questions frequently span heterogeneous sources. For example, answering one enterprise question may require both a result computed over an internal database and evidence found on the web. Recent evaluations on benchmarks like HybridDeepResearch show that even frontier agents struggle when evidence must cross this boundary. While these benchmarks have exposed the limitation, methodologies to explicitly teach cross-source reasoning remain absent. To address this, we introduce HybridResearcher, a 4B agent trained to bridge evidence across the structured and unstructured boundary. To build it, we synthesize cross-source bridge trajectories by starting with validated single-source tasks-such as existing text-to-SQL or web search queries-and fabricating the missing source around a bridge entity drawn from the seed's own output. We retain a sample only when strict construction gates confirm that neither side alone suffices, ensuring the data requires true cross-source interdependence. Finally, we train on this curated dataset using supervised fine-tuning followed by reinforcement learning. Evaluated on the existing HybridDeepResearch benchmark, HybridResearcher improves over our base model, Qwen3.5-4B, by 30.0 points pass@8 and surpasses the far larger Qwen3.5-397B-A17B by 8.3 points, while also improving over its base model on established, held-out single-source benchmarks (BrowseComp and BrowseComp-Plus), demonstrating that this complex cross-source reasoning can be taught directly to small models without triggering catastrophic forgetting.
Figures & tables
Figure 1: We start from validated single-source text-to-SQL and deep-research seeds, construct both single-source and cross-source (SQL2S/S2SQL) QA pairs, and use a hybrid agent to generate candidate trajectories. Successful trajectories are retained for supervised fine-tuning, while hard or incomplete cases are used for reinforcement learning, yielding HybridResearcher .
Figure 2: Overview of sql-originated data construction. Top ( SQL2S ): an output cell ( Northstar ) that passes the membership gate, entity-quality gate, and judge check becomes the bridge; coined facts about it (HQ city …) become search constraints that only one hub, Velora Labs , satisfies. Bottom ( S2SQL ): a WHERE literal from the SQL AST ( Oslo ) that passes the membership gate and execution check becomes the anchor, and the answer is the unchanged SQL output. Gold and hard-negative documents for every clue are inserted with real web text by the retriever used at evaluation. (Details: § 3.2 and Appendix C )
Figure 3: The search-originated pipeline. One hard-search item yields SQL2S or S2SQL according to whether the bridge is taken from the question or the answer. Both directions share the same stages: plan, improve, build, bridge, and a final improve, and draw SQL difficulty from a catalog of executable patterns.
Pass@8
Avg@8
Model
Overall
S2SQL
SQL2S
Parallel
Overall
S2SQL
SQL2S
Parallel
Qwen3.5-397B-A17B-FP8
52.50
52.50
32.50
72.50
26.77
32.50
13.75
34.06
GLM-5.2-FP4
63.33
65.00
47.50
77.50
38.54
32.19
27.50
55.94
Claude Sonnet 4.6
65.83
57.50
52.50
87.50
37.29
30.31
36.25
45.31
Qwen3.5-4B
30.83
22.50
20.00
50.00
7.71
5.00
3.44
14.69
+ Hybrid SFT
59.17
65.00
35.00
77.50
23.75
26.88
8.75
35.83
Table 1: Hybrid training progression and comparison with larger models (Pass@8 and Avg@8, %).
BrowseComp
BrowseComp-Plus
Spider 2.0-lite
Model
Pass@8
Avg@8
Pass@8
Avg@8
Pass@8
Avg@8
Qwen3.5-4B
54.03
29.57
60.84
36.49
59.26
30.65
+ Hybrid SFT
61.37
36.79
69.76
46.36
65.19
41.39
+ Hybrid RL
62.24
38.90
73.13
50.56
62.96
40.83
Table 2: Single-source performance before and after hybrid training (%): search-only on BrowseComp and BrowseComp-Plus, SQL-only on the held-out Spider 2.0-lite subset (execution accuracy).
Table 6
Figure 4: Training rollout length (left), tool calls per rollout (middle) and the share of rollouts with duplicated tool calls (right), with and without hard gating. Hard gating helps suppress redundant tool calls and stabilize rollout length.
Appendix figures & tables16 assets
Supplementary material from the paper’s appendix.
Appendix
nine raw text-to-SQL sources ( 25,747 rows, 115.7 M tokens)
HyDRA
Spider 1.0
BIRD
SynSQL
EHRSQL
LLMSQL3
MMQA
LogicCat
SParC
CoSQL
Total
Rows
10,184
7,791
6,231
3,360
3,107
2,587
1,942
592
130
7
35,931
Tokens (M)
196.1
24.9
24.3
23.4
23.7
9.3
6.1
3.5
0.5
0.04
311.7
Appendix
Table 5: Base data: trained on directly. Qwen3.5 tokens at 128 k packing.
Subset
Rows
Tokens
Direction / split
sql-orig-syn
14,985
598.3 M
SQL2S , synthetic
sql-orig-prim
15,067
272.2 M
SQL2S , primary
sql-orig-s2sql-syn
6,269
272.8 M
S2SQL , synthetic
total
36,321
1,143.3 M
Appendix
Table 6: The three SQL-originated subsets that ship. Token counts are Qwen3.5 tokens at 128 k packing.
Family
Members
Verdict
primary
BIRD ( Li et al., 2023 ) , Spider 1.0 ( Yu et al., 2018 ) , BULL/FinSQL ( Zhang et al., 2024 ) , Archer ( Zheng et al., 2024 ) , KaggleDBQA ( Lee et al., 2021 ) , Classics ( Finegan-Dollak et al., 2018 ) (Advising, ATIS ( Dahl et al., 1994 ; Iyer et al., 2017 ) , Geography ( Zelle and Mooney, 1996 ; Iyer et al., 2017 ) , Scholar ( Iyer et al., 2017 ) , Restaurant ( Tang and Mooney, 2000 ; Popescu et al., 2003 ; Giordani and Moschitti, 2012 ) , IMDB ( Yaghmazadeh et al., 2017 ) )
real databases, real named entities; form the primary split
synthetic
SynSQL-2.5M (OmniSQL; Li et al., 2025a )
the only synthetic set that ships populated databases ( 16,583 SQLite DBs, 2.5 M English rows); forms the synthetic split
Appendix
Table 7: Seed-source for shipped SQL-originated data, and the reason for the selection.
Category
Flips
Skill taught
same_entity_no_answer
omits the fact
do not accept partial evidence
wrong_event
the event
event discrimination
wrong_date
the date
temporal pinning
wrong_location
the place
spatial pinning
wrong_version_or_edition
a superseded value
read, do not skim
wrong_category_or_class
the class
type discrimination
Appendix
Table 8: The twelve hard-negative categories and the skill each one teaches.
Anchor type
Relations
place ( 10 )
is the birthplace of ⋅ is the hometown of ⋅ is the headquarters city of ⋅ is the home ground of ⋅ is the seat of ⋅ hosts the annual ceremony of ⋅ is the administrative district of ⋅ is the region served by ⋅ is the primary service area of ⋅ is the coverage territory of
organization ( 5 )
administers ⋅ develops ⋅ is chaired by ⋅ is the title sponsor of ⋅ was profiled in a feature by
person ( 5 )
coached ⋅ founded ⋅ was the inaugural recipient of ⋅ is the lead designer of ⋅ was profiled in a feature by
institution ( 3 )
is the alma mater of ⋅ confers ⋅ developed
creative work ( 3 )
won ⋅ was directed by ⋅ was produced by
product ( 2 )
is developed by ⋅ was designed by
Appendix
Table 9: The relation menu for S2SQL clues: 31 relations over seven anchor types.
Source
Questions
REDSearcher (SFT) ( Chu et al., 2026 )
9,177
OpenSeeker ( Du et al., 2026 )
8,743
DeepDive (RL) ( Lu et al., 2025 )
2,202
REDSearcher (RL) ( Chu et al., 2026 )
979
DeepDive (SFT) ( Lu et al., 2025 )
961
WebShaper ( Tao et al., 2026 )
474
Appendix
Table 10: Seed sources.
Stage
SQL2S
S2SQL
SQL2S (scale-up)
Seeds
14,233
14,233
24,285
Entity grounding
13,941
14,233
23,342
Plan
13,878
14,232
23,245
Improve
13,864
14,232
23,229
Build
13,479
14,223
22,502
Bridge
13,420
14,193
22,278
Appendix
Table 11: Data size remaining after filtering at each stage of the search-originated construction pipeline.
SQL2S
S2SQL
Databases
35,698
14,179
Tables per database (mean / median)
1.55 / 1
1.36 / 1
Share with ≥2 tables
37.6%
24.8%
Columns per table (mean)
4.15
4.14
Rows per table (mean / median)
613 / 200
348 / 215
Rows per database (mean / median)
953 / 329
473 / 292
Appendix
Table 12: Shipped SQLite databases for the search-originated arm.
Pass@8
Avg@8
Training data
Overall
S2SQL
SQL2S
Parallel
Overall
S2SQL
SQL2S
Parallel
base (no SFT)
30.83
22.50
20.00
50.00
7.71
5.00
3.44
14.69
hydra + SQL
47.50
45.00
22.50
75.00
13.96
11.25
6.25
24.38
+ search-orig.
54.17
52.50
30.00
80.00
20.10
18.75
9.69
31.88
+ SQL-orig.
59.17
65.00
35.00
77.50
23.75
26.88
8.75
35.63
Appendix
Table 13: SFT data ablation on Qwen3.5-4B (%; setup in § 5 ). Top: the base model without SFT. Bottom: data families added in turn: hydra and the nine raw text-to-SQL sources (Table 5 ), then search-originated (Appendix D ) and SQL-originated data (Table 6 ); the last row is the full recipe.
Tool
What it does
Web
web_search(query, k)
Returns up to k≤20 ranked search results with short snippets
visit_web(url)
Returns the full text of a selected web document
Database
run_sql(sql)
Executes a read-only SQL query
Knowledge lookup (3 tools)
Lists database-specific metrics and returns their definitions
Appendix
Table 14: Tools exposed by the hybrid agent harness.
Hybrid Agent (Ours)
smolagents
MiroFlow
Model
Overall
S2SQL
SQL2S
Parallel
Overall
S2SQL
SQL2S
Parallel
Overall
S2SQL
SQL2S
Parallel
Qwen3.5-4B
30.83
22.50
20.00
50.00
25.83
12.50
7.50
57.50
28.33
15.00
17.50
52.50
Qwen3.5-397B
52.50
52.50
32.50
72.50
45.83
47.50
22.50
67.50
44.17
45.00
30.00
57.50
GLM-5.2
63.33
65.00
47.50
77.50
62.50
55.00
52.50
80.00
60.83
55.00
55.00
72.50
Appendix
Table 15: Agent harness comparison on HybridDeepResearch (pass@8, %). Backbones: Qwen3.5-4B, Qwen3.5-397B-A17B-FP8 (Qwen3.5-397B), and GLM-5.2-NVFP4 (GLM-5.2).
Figure 5: Outcome of every rollout, in % of the 320 rollouts per model and task type (40 questions × 8 samples). The categories are mutually exclusive and are assigned by the first matching rule listed under Outcome categories ; each table lists them in bar order. Surfaced means that the string appears in a search result or a visited page. Bar labels are rounded to whole percentages.
Family
Frequent phrases
(1) Time or turn budget
“given the time constraints”, “time constraints”, “running out of time”, “turn budget”
(2) Effort already spent
“given all my research”, “spent enough time”, “given the extensive searching”, “spent a lot of time”, “given all the analysis”
(3) Calls the answer a guess
“best guess”, “make an educated guess”, “make my best guess”, “make a guess”
Appendix
Table 16: Frequent phrases that flag a commit, per family, in SFT and RL commits. Matching is deterministic, case-insensitive and on whole words, over the reasoning and visible text of the last three assistant messages up to and including the final_answer call; rows show frequent matched phrases, not the full pattern list.
Figure 6: A commit is flagged when its rationale (the last three assistant messages up to and including the final_answer call) (1) cites a time or turn budget , (2) cites the effort already spent , or (3) calls the answer a guess . (a) Share of wrong (solid) and correct (hatched) commits that are flagged, pooled over rollouts; whiskers are 95% bootstrap intervals over questions. (b) Accuracy of flagged (diamond) and unflagged (dot) commits within the same question (differences in percentage points, pp), for all commits and for commits where an assistant message up to the commit already named the target (the gold answer, or the bridge entity for S2SQL ).
Base
SFT
RL
Flagged commits (%)
All commits
30.7
64.3
72.9
Wrong commits
33.2
70.5
82.0
Correct commits
17.6
45.2
48.7
Accuracy of flagged minus unflagged commits, same question (points)
All commits
–
− 19.1 [ − 30.2, − 7.7]
− 24.3 [ − 36.0, − 12.9]
Appendix
Table 17: Supporting numbers for Figure 6 . (a) Coefficient on the flag in a linear probability model with one intercept per question over all commits, controlling for whether the target appeared in a tool result or in the agent’s reasoning, and for log turns, context length and output tokens; the RL − SFT difference is − 2.1 [ − 11.0, +7.2]. (b) SQL2S and Parallel rollouts that keep working after the first assistant message containing a flag phrase: share correct at submission minus the share whose most recently named answer was correct at that message (observational). The target is the gold answer (for S2SQL , the bridge entity); it is in the agent’s reasoning if an assistant message up to the commit names it. The first two rows of the middle block use, for each model, the questions whose commits in that row are both correct and wrong and both flagged and unflagged (40–57 questions per estimate); intervals are 95% bootstrap intervals over questions. The 120 questions include 12 verbatim-duplicate pairs; clustering them barely changes the estimates. Base submits an answer in only 49.2% of rollouts, so its rates describe a selected subset, and the other rows are not estimated for it (–).
Case
Example
1
Entity ambiguity. The reference entity is Charles Emmanuel III , while the model produces "Charles III" . Although the two names are lexically similar, they refer to different monarchs. A correct judgment therefore requires semantic entity resolution rather than string matching.
2
Partial SQL correctness. The gold result filters to Fort de Pontisse , while the model recovers the same ranking but omits the final filter. Gold result fort avg_days_held rank Fort de Pontisse 6.0 2 Model result fort avg_days rank Fort de Loncin 7.0 1 Fort de Pontisse 6.0 2 Fort de Fléron 5.5 3 Fort de Flémalle 3.5 4 Fort de Barchon 3.5 4 The model correctly computes the averages and ranking, and correctly places Fort de Pontisse at rank 2, but fails to apply the final filter. The final result is therefore incorrect despite substantial partial correctness, making the case difficult to judge reliably from surface-level table comparison.
Appendix
Table 18: Representative cases where single-vote judging produces an incorrect reward while five-vote majority judging reaches the correct judgment. The SQL example illustrates that judging requires reasoning about result-level semantics rather than exact table matching.
Autonomous research agents use language models and tools to search literature, design and run experiments, analyze results, and support scientific discovery.