Upstage AI
Preprint · 2026
Ask a web-search agent a question it already knows the answer to: which 1904 naval incident saw a Russian fleet, steaming to the Far East, fire on British fishing trawlers it mistook for enemy torpedo boats? By its second reasoning step the agent has written the answer — the Dogger Bank incident — from parametric memory, and the very first page it opens corroborates it. A well-behaved agent would stop here and answer. Instead it keeps going: it re-opens the same page, issues fresh queries for details the question never asked, and only after another twenty-odd rounds reports the answer it has held all along.
I call this over-reflection: continuing to search after the answer has both been stated by the model and corroborated by a tool result. It is a cousin of the “overthinking” documented in reasoning models, but a distinctly agentic pathology — the excess is spent on external tool calls rather than private tokens, so every redundant round costs a real query, a page fetch, and wall-clock latency.
Effective search agents must know not only how to search, but when to stop. Current agents fail at the latter in a specific way I call over-reflection: they find the correct answer, verify it through search, and then keep searching for many more rounds before reporting it. This behavior is strikingly consistent across frontier models.
I argue that over-reflection is learned, not incidental. Search agents are increasingly trained by imitating synthesized browsing trajectories, and these trajectories systematically encode the behavior. In an in-house corpus of synthesized trajectories, over-reflection is a structural property rather than a rare failure: among trajectories I can verify, 62.8% continue searching after the answer has been confirmed, yet a standard leakage detector flags only 21.1%. Two over-search metrics from the closest prior work, scored on the same trajectories, side with the 62.8% rather than the 21.1%.
Given this, I intervene at the trajectory level: truncating the redundant search tail of over-reflective trajectories while preserving healthy verification and dropping ungrounded ones. To evaluate the intervention, I fine-tune Qwen3.5-35B-A3B on four arms of the corpus: as-is, naive dropping, taxonomy repair, and correctness filtering. On post-cutoff evaluation, the four arms converge to nearly identical behavior — no data-level edit substantially changes the learned stopping policy. The lesson is negative but instructive: modifying the trajectories a policy imitates is not enough to modify its stopping behavior. Data repair improves corpus quality, but fixing over-reflection requires supervising the stop decision itself — conditioned on the agent's evidence state, not its outcome.
Eight agents, six providers, one post-cutoff benchmark.
The opening trajectory could be dismissed as recall: the agent already knew the Dogger Bank incident, so its search merely decorated a memory. On LiveBrowseComp, that explanation is unavailable. The questions post-date every model's training cutoff, so no model can recall the answers — any over-search happens after the answer has surfaced in a retrieved page. I verify rather than assume this: with no tools at all, five frontier agents answer these 335 questions correctly 0.0–2.4% of the time.
Conditioned on the gold answer appearing in an opened page, all eight agents keep searching: on 75–98% of their grounded trajectories at the k = 2 operating point, for a mean of 9–57 further rounds. Sweeping the threshold shows the operating point is not doing the work — the deepest searchers still over-search on more than 60% of grounded trajectories at k = 20. The pathology is graded across the frontier, not binary.
Others report the same behavior from the inside. Tracing a Claude Opus 4.6 BrowseComp run, Anthropic engineers describe the model verifying an answer it already held by “searching for the actual source material on the web”; the Opus 4.8 system card scores 4.3% of its DeepSearchQA answers “correct with excessive answers”; the Sonnet 5 card reports “long indecision loops in extended thinking.”
The generating model knows the answer. The trained model copies the shape without the knowledge.
The dominant training recipe imitates browsing trajectories generated by a stronger model, and those trajectories systematically encode over-reflection. The generating model often already knows the answer: it recalls it, then searches to verify rather than to discover. For that model, stating the answer early and searching around it is sound. A model that does not know the answer copies only the shape — state a guess, then search around it, whether or not the search produced anything. A trajectory's validity is knowledge-conditional, and imitation copies trajectories across the very knowledge boundary that made them valid.
The corpus bears this out. The gold answer appears inside a search query in 61% of trajectories, and in 15% it is already in the first query, before any result has been read. Once a trajectory states its answer it keeps it in 88% of cases — 92% when the answer came from memory before any evidence arrived — so post-statement search overturns a commitment in roughly one case in eight. The search is confirmatory, not corrective.
Over-search and under-grounding need opposite fixes, so a single “search less” rule is unsafe.
Confirmation is the round at which the model has stated the gold answer and a tool result contains it. Typing each trajectory by which came first, and how many search rounds follow, gives seven types — and the prescriptions run in opposite directions across them.
| A | reasoning states it first; a page later corroborates; search runs far past confirmation — truncate | 36.8% |
| B | evidence surfaces it first; the model states it, then keeps searching — truncate | 26.1% |
| C | finalizes an answer no opened page contains — search as theater — drop | 8.0% |
| D | never grounded, never stated before the forced final turn — recitation — drop | 3.7% |
| E | evidence surfaces it; the model states it and stops within the bounded check — keep | 11.2% |
| F | reasoning states it first; a bounded check corroborates; stops — keep | 10.0% |
| G | never pre-stated; extracted from an opened page at the end — keep | 4.4% |
Share of the English keyed subset. Over-reflection (A+B) = 62.8%; ungrounded (C+D) = 11.7%; healthy (E/F/G) = 25.6%.
The pipeline that filters the corpus already contains an answer-leakage detector — gold string in the reasoning before evidence arrives. Run as a proxy for over-reflection it flags 21.1% of English trajectories, the one-in-five rate that makes the problem look small. Comparing it against the tagger on a matched sample isolates four blind spots: the largest single corpus source is long free-text gold answers whose verbatim needle almost never appears (0.04% flag rate there); a query echoed in a result snippet counts as grounding; type B is invisible by construction, because the detector's premise is “the model knew it before searching” while B searches on after real evidence arrives (caught at 6%); and the recitation type D is never flagged at all.
So I put four detectors on one set of trajectories — the leakage audit, both over-search metrics from the closest prior work (SAAS), and the evidence-state rule of this paper.
Four arms of one corpus, one 35B model, and a convergence.
Given a taxonomy that separates over-search from healthy verification, the obvious move is to repair the data: cut the redundant search tail of A/B, drop the ungrounded C/D, keep E/F/G intact. Half of the over-reflective trajectories turn out to be cite-pinned — their final answer cites the tail, so no citation-safe cut exists. That is a deterministic ceiling on what any truncation rule can reach, and it is exactly half of A+B.
The ceiling belongs to the edit, not to the data. Asking a model to rewrite those final answers using only the sources available at confirmation — and accepting a rewrite only when a deterministic check passes, gold key still present and every citation handle resolvable inside the kept prefix — unlocks 61.5% of a 200-trajectory sample. I do not adopt that repair, since a rewrite puts text into a trajectory that was never in it. But it locates the 31.5% correctly: it is the reach of a citation-safe deterministic cut, not a limit on repair as such.
I fine-tune Qwen3.5-35B-A3B on four arms of the same corpus — as-is, naive-drop (delete A/B/C/D), taxonomy-repair (truncate A/B, drop C/D), correct-filter (keep only trajectories whose final answer matches gold) — and evaluate on 335 post-cutoff LiveBrowseComp questions under one browsing harness.
| Model | acc % | grounded n | over-search % | post-conf. rounds |
|---|---|---|---|---|
| base (no fine-tuning) | 5.1 | 82 | 73.2 | 6.1 |
| as-is | 26.3 | 209 | 94.7 | 34.4 |
| naive-drop | 22.4 | 188 | 97.3 | 34.5 |
| taxonomy-repair | 24.2 | 199 | 95.0 | 34.7 |
| correct-filter | 26.0 | 210 | 96.7 | 34.3 |
Post-cutoff LiveBrowseComp (335 questions), single rollout. Every paired difference between the four fine-tuned arms contains zero on every column under a paired bootstrap.
The arms converge. Fine-tuning moves the stopping policy enormously — 6.1 rounds to ~34, 73.2% to ~95% — but which edit of the corpus a model is trained on moves it almost not at all. Deleting the over-search demonstrations (naive-drop) does not reduce over-search. Neither does truncating them. Neither does keeping only correct trajectories.
The two volume panels make the same point on different tasks: on K-BrowseComp every arm spends 40–51 search rounds per question against the base model's 6.6; on DRACO every arm writes reports with 61–66 tool calls against the base's 40. Repair reduces neither — on K-BrowseComp, taxonomy-repair is in fact the deepest searcher.
Grading every search query against all earlier queries in its trajectory: 84–86% of the arms' searches echo an earlier one. But only 6–8% are verbatim or word-order variants, so the redundancy is aggressive re-search around a single intent, not literal looping. The four arms churn within 2.3 points of one another — a second axis on which they converge — while frontier reference models repeat verbatim at 0.4–2.1%.
Taxonomy repair remains what the measurement said it was: corpus hygiene with a deterministic ceiling. It removes about 208M tokens of inertial search — cheaper training, cleaner supervision — without harming accuracy (24.2 vs. 26.3 as-is, within noise). What it is not, on this evidence, is a behavioral fix.
Editing the data a policy imitates does not edit the policy's stop decision. A model generalizes the majority shape, not the edited minority; removing some demonstrations of a behavior is not the same as supervising against it. The stop decision has to be supervised where it lives — at the confirmation round, on the agent's evidence state rather than on its outcome.
The measurement, not the corpus.
analysis/ holds the scripts that
produce every number above — the A–G tagger, the detector cross-tabs and the four-detector
reconciliation, the SAAS metric port and its judge passes, the closed-book probe, the churn regrader,
the bootstrap CIs, and the corpus-shape audits. Each script's docstring names the table or section it
produces.
# the taxonomy tagger: every other script imports its
# key extraction, gold-map join and confirmation logic
python3 analysis/emergence_tagger.py <corpus-variant>
# 21.1% vs 62.8%: the leakage detector against the taxonomy
python3 analysis/compare_detectors.py
# four detectors on one set of trajectories
python3 analysis/reconcile_detectors.py
Paths are set by environment variable — QDIR (gold question/answer files),
PDIR and CORPUS (trajectory shards), PRED_ROOT (evaluation
rollouts). Only numpy and pyarrow are required for the offline scripts.
The trajectory corpus is not released. It contains full browsing transcripts — reasoning, queries, and retrieved page content — so the repository ships the analysis and the definitions, not the data. The scripts are written against a documented layout so they can be pointed at another corpus of the same shape; the paper reports what each one produced on mine.
@article{jeong2026overreflection,
title = {Searching after Answering: Diagnosing and Repairing
Over-Reflection in Search Agents},
author = {Jeong, Minbyul},
year = {2026}
}