Thinking-in-Bets at Test Time Reduces Sycophantic Revisions in LLM Agents
Organizations: Google
Abstract
Language model agents often abandon correct work when a user challenges it, yet simply telling them to stand firm makes them ignore real mistakes. Once an agent reads a complaint, it tends to discount its own earlier checks in order to agree with the user. We introduce Thinking-in-Bets, a training-free method in which an agent writes a short private record of its main claims, the checks supporting them, and its confidence before reading user feedback. When challenged, the agent consults this Claim Checklist to keep verified work intact while investigating uncertain or newly challenged parts. We evaluate five Gemini models (3.5 Flash-Lite, 3.5 Flash, 3.6 Flash, 3.8 Flash, and 4.0 Argon) across eight benchmarks: SWE-Together, SWE-Interact, and DeepSWE for software engineering, Agents' Last Exam for professional reports, Humanity's Last Exam and SycEval for academic reasoning, Vals Finance for financial analysis, and Terminal-Bench for command-line tasks. Recording claims before criticism nearly eliminates false reversals in patch review and protects passing report drafts under mistaken pushback, whereas writing the same record after reading the complaint recovers very little of the gain. In multi-turn coding, pre-reply claim records substantially reduce unnecessary file edits after mistaken complaints, and gating the record so it is written only when the agent is uncertain lowers token overhead while fixing more real bugs than the baseline. Even in non-interactive tasks without user feedback, listing the key claims in a draft and re-checking the weakest one before submission improves both answer accuracy and confidence estimates across all tested models.
Figures & tables
| Initial challenged requirement | Satisfied afterward ( ) | Unsatisfied afterward ( ) |
|---|---|---|
| Satisfied ( ): mistaken criticism | Correctly kept ( ) | False reversal ( ) |
| Unsatisfied ( ): valid correction | Successful correction ( ) | Missed correction ( ) |
| 3.5 Flash-Lite | 3.5 Flash | 3.6 Flash | 3.8 Flash | 4.0 Argon | ||||||
| Benchmark, setting, and metric | Base | TiB | Base | TiB | Base | TiB | Base | TiB | Base | TiB |
| A. Single-Turn Review Under User Criticism (Mistaken Criticism vs. Valid Feedback) | ||||||||||
| SWE-Together patch review: false reversals (%) | 28.41 | 0.00 | 22.60 | 0.23 | 13.20 | 0.00 | 12.67 | 0.00 | 8.89 | 0.00 |
| SWE-Interact patch review: false reversals (%) | 8.56 | 0.00 | 14.71 | 0.00 | 13.27 | 0.00 | 6.60 | 0.00 | 10.36 | 0.00 |
| SycoBench-600 multi-round: false reversals (%) | 3.73 | 0.20 | 1.06 | 0.04 | 0.96 | 0.02 | 0.76 | 0.00 | 3.52 | 1.70 |
| SycEval-1000 open-ended: false reversals (%) | 17.3 | 8.3 | 9.4 | 5.4 | 10.8 | 5.8 | 12.9 | 6.4 | 8.5 | 3.6 |
| Method / variant | Post-review pass (%, ) | False reversals (%, ) | Valid fixes (%, ) |
|---|---|---|---|
| Standard | 58.0% (58/100) | 54.7% (41/75) | 96.0% (24/25) |
| Record after feedback | 65.0% (65/100) | 45.3% (34/75) | 96.0% (24/25) |
| Record without numbers | 66.0% (66/100) | 42.7% (32/75) | 92.0% (23/25) |
| Always-On Betting (TiB) | 89.0% (89/100) | 12.0% (9/75) | 92.0% (23/25) |
Appendix figures & tables11 assets
Supplementary material from the paper’s appendix.
Appendix
| Algorithm 1: Thinking-in-Bets Claim Recording and Revision |
|---|
| Input: Task specification , variant , thresholds and setting-specific checking threshold . |
| 1: if (checking an answer or task output before submission) then |
| 2: Generate complete candidate derivation or repository draft |
| 3: Record the claims, confidence, and evidence needed for to be correct (Equation ( 1 )) |
| 4: Set ; check the least certain claim and re-verify claims with using available tools/checks |
| 5: Revise only if verification reveals a concrete contradiction or missing filing figure |
| Value | Where it is used | What it does |
|---|---|---|
| Interactive revision rule | Keep a claim whose updated confidence is at least ; otherwise fix it. | |
| On-Demand Betting | Skip the Claim Checklist when the quick confidence check is at least . | |
| / | Draft-First Betting | Check claims below (Humanity’s Last Exam, finance) or (coding) before submitting. |
| – , – , – | Draft-First prompt | Confidence ranges for independently checked steps, unchecked steps, and guesses. |
| cap | Humanity’s Last Exam reported confidence | Reported confidence is capped at when any claim is below . |
| Post-Reply Confidence Gate baseline | Keep the work when confidence rated after reading the reply is at least . |
| Name in text | Short name in figures | What it does |
| Thinking-in-Bets schedules | ||
| Always-On Betting | Always-On; Always-On Betting (full) | Writes the full Claim Checklist (claims, evidence, confidence, rejected options) before every user reply. |
| On-Demand Betting | On-Demand | Writes the Claim Checklist only when a quick confidence check is below . |
| Draft-First Betting | Draft-First | Records claims for a finished draft and checks the least certain ones before submitting. |
| Baselines and record variants | ||
| Standard | Standard | The same agent, tools, and task prompt with no Claim Checklist and no revision rule. |
| SWE-Together patch review | SWE-Interact patch review | Combined (both benchmarks) | ||||
|---|---|---|---|---|---|---|
| Gemini model | Standard | TiB | Standard | TiB | Standard | TiB |
| 3.5 Flash-Lite | 28.41% (25/88) | 0.00% (0/88) | 8.56% (35/409) | 0.00% (0/409) | 12.07% (60/497) | 0.00% (0/497) |
| 3.5 Flash | 22.60% (99/438) | 0.23% (1/435) | 14.71% (145/986) | 0.00% (0/980) | 17.13% (244/1,424) | 0.07% (1/1,415) |
| 3.6 Flash | 13.20% (59/447) | 0.00% (0/446) | 13.27% (131/987) | 0.00% (0/998) | 13.25% (190/1,434) | 0.00% (0/1,444) |
| 3.8 Flash | 12.67% (57/450) | 0.00% (0/450) | 6.60% (63/955) | 0.00% (0/965) | 8.54% (120/1,405) | 0.00% (0/1,415) |
| 4.0 Argon | 8.89% (37/416) | 0.00% (0/433) | 10.36% (93/898) | 0.00% (0/926) | 9.89% (130/1,314) | 0.00% (0/1,359) |
| SWE Patch Review False reversals (%) | Agents’ Last Exam ( ) False reversals / Pass | Humanity’s Last Exam 2-Turn False reversals / Accuracy | HLE Validity Pool Balanced accuracy (%) | SycEval-1000 False reversals / Balanced acc. | ||||||
| Model & method | SWE-Interact | SWE-Together | False rev. ( ) | Pass (%) | False rev. (%) | Turn-2 acc. (%) | No hint | With hint | False rev. (%) | Balanced acc. (%) |
| A. Gemini 3.5 Flash-Lite | ||||||||||
| Standard | 11.00 | 23.60 | 93.3 (14/15) | 30.0 | 70.9 | 30.4 | 25.6 | 56.9 | 17.3 | 78.2 |
| Placebo (length-matched) | 5.87 | 20.22 | 86.7 (13/15) | 35.0 | 61.8 | 34.1 | – | – | 15.6 | 77.0 |
| Rule only (stand firm unless new evid.) | 1.47 | 8.99 | 6.7 (1/15) | 90.0 | 29.1 | 44.4 | 41.8 | 62.2 | 8.9 | 73.1 |
| Strongest stubbornness prompt | 2.69 | 6.74 | 6.7 (1/15) | 95.0 | – | – | 43.3 | 61.3 | – | – |
| Benchmark & model | Method / baseline | Task pass (%) | Paired pass vs. TiB / Base | False reversals (%, events/ ) | Unnecessary or post- feedback edits (%) | Turn regression or missed bug fixes (%) |
| A. SWE-Interact under Mistaken Criticism ( tasks/method on 3.8 Flash; trials/method on 4.0 Argon) | ||||||
| 3.8 Flash ( ) | Standard | 55.0 (11/20) | ( ) | 5.0 (1/20) | 80.0 (16/20) | 2.29 (3/131) |
| Record after feedback (Self-Critique) | 40.0 (8/20) | ( ) | 12.5 (1/8) | 50.0 (4/8) | 1.44 (2/139) | |
| Record without numbers (qualitative) | 25.0 (5/20) | ( ) | 0.0 (0/14) | 28.6 (4/14) | 0.00 (0/63) | |
| Dialogue state tracker ( Tao et al., 2026 ) | 25.0 (5/20) | ( ) | 11.8 (2/17) | 76.5 (13/17) | 0.00 (0/68) | |
| Requirement mediator ( Liu et al., 2026 ) | 35.0 (7/20) | ( ) | 0.0 (0/17) | 76.5 (13/17) | 1.18 (1/85) | |
| Benchmark & metric | Model | Base | Draft-First | Paired |
|---|---|---|---|---|
| A. Humanity’s Last Exam ( questions/model) | ||||
| Accuracy (%) | 3.5 Flash-Lite | 9.4 | 14.4 | +5.0 |
| 3.5 Flash | 30.8 | 35.0 | +4.2 | |
| 3.8 Flash | 33.0 | 37.6 | +4.6 | |
| 4.0 Argon | 45.6 | 46.6 | +1.0 | |
| Brier error | 3.5 Flash-Lite | 0.704 | 0.472 | 0.232 |
| 3.5 Flash-Lite | 3.5 Flash | 3.6 Flash | 3.8 Flash | 4.0 Argon | |||||||
| A. Additional sub-slice metrics and diagnostic ablations | Base | TiB | Base | TiB | Base | TiB | Base | TiB | Base | TiB | Effort |
| SWE-Together, cooperative ( ): user corrections/session | – | – | – | – | 1.38 | 1.45 | 1.15 | 0.63 | – | – | High |
| SWE-Together, cooperative ( ): turn regression (%) | – | – | – | – | 1.18 | 2.38 | 1.18 | 0.00 | – | – | High |
| SWE-Together, cooperative ( ): task pass (%) | – | – | – | – | 15.0 | 15.0 | 15.0 | 10.0 | – | – | High |
| SWE-Together, mistaken criticism ( , all): false reversals (%) | – | – | – | – | 0.0 | 5.0 | 15.8 | 5.6 | – | – | High |
| SWE-Together, mistaken criticism ( ): tests passing (%) | – | – | – | – | 20.0 | 40.0 | 35.0 | 30.0 | – | – | High |
| Population & method | Task pass (%, ) | False reversals (%, events/ ) | Unjustified reversals | Successful corrections | Recurring-bug trials | Balanced accuracy | Extra checklist tokens/trial |
| A. Pooled Across All 4 Flash Models (3.5-Lite, 3.5, 3.6, and 3.8 Flash; 20 tasks/model, 80 trials/method) | |||||||
| Standard | 43.8 (35/80) | 12.8 (12/94) | 14.6% (7/48) | 55.6% (25/45) | 16.2% (13/80) | 0.714 | 0 |
| Record after feedback | 33.8 (27/80) | 11.5 (10/87) | 2.2% (1/45) | 46.9% (23/49) | 3.8% (3/80) | 0.677 | 19,711 |
| Confidence gate | 26.2 (21/80) | 7.9 (5/63) | 9.1% (3/33) | 41.0% (16/39) | 2.5% (2/80) | 0.665 | 423 |
| Majority vote ( ) | 27.5 (22/80) | 5.7 (4/70) | 7.9% (3/38) | 30.6% (11/36) | 2.5% (2/80) | 0.624 | 4,236 |
| Verify then respond | 27.5 (22/80) | 8.8 (7/80) | 6.8% (3/44) | 38.1% (16/42) | 10.0% (8/80) | 0.647 | 0 |
LLM Sycophancy
Large language model sycophancy is the tendency to mirror users’ beliefs, preferences, or authority cues at the expense of independent judgment.
See all 161 papers