65% Once, 25% Every Time: Microsoft Ran 507 Agent Tasks Twenty Times Each

Surya Pratap
By Surya Pratap

August 27, 2026

12 min read

AI & Technology
The two numbers from Microsoft's Thinkingbox benchmark set against each other — 65.36% pass@1, the score a demo reports, beside 25.25% pass^20, the score for getting the same task right on all twenty runs — with the note that 80.88% of failed trials ended cleanly and that 334 of 507 tasks flickered between passing and failingThe demo number and the product numberHover to explore
Same model, same 507 tasks, backend reset before every run. The distance between the two figures is the distance between a thing that works when you show it and a thing that works when you sell it.

Microsoft published a benchmark last week with the least ambiguous title in recent memory: "One Success Isn't Reliability."

The paper (arXiv 2608.19741, 20 August 2026) introduces Thinkingbox, an open-source sandbox for agents working in stateful business workflows, plus a 507-task benchmark to go with it. Both are on GitHub.

The headline result is two numbers from the same model on the same tasks:

65.36% pass@1. 25.25% pass^20.

Right on the first attempt about two-thirds of the time. Right on all twenty attempts about a quarter of the time. If you have ever demoed an agent successfully and then watched it misbehave in front of a customer, that gap is the whole explanation, and someone has finally measured it.

1. What this benchmark does that others do not

Most agent benchmarks grade the transcript. Did the agent call the right tools? Did it say it finished? Did the final message look correct?

Thinkingbox grades the database.

How a Thinkingbox task actually runs

Five things combined that are usually tested separately

  • A simulated user the agent holds a multi-turn conversation with, rather than a single prompt.
  • Real domain tools exposed through isolated backend sessions — and through an MCP server, so the agent talks to them the way it would in production.
  • A stateful backend that persists changes across the conversation.
  • Side-effect checks: after the run, the harness inspects what actually changed in the backing store.
  • Task-specific outcome checks conditioned on policy, not just on whether a tool returned 200.

Then it does the whole thing twenty times, with the backend reset between runs.

That design is the contribution. Everything interesting in the results follows from those two choices — check the state, and repeat.

2. pass@1 is the number your demo reports

The 507 tasks span five domains: retail and e-commerce (98 tasks), travel and hospitality (104), auto insurance (100), neobank internal IT (104), and consulting IT/HR support (101).

More than a dozen proprietary and open-weight models were run. The published spread:

GPT-5.4

65.36% → 25.25%
The strongest result in the set, and still: right first time on two tasks in three, right twenty times out of twenty on one task in four.

Claude Sonnet 4.6

58.45% → 20.12%
Second on both measures, and the same shape of collapse — roughly a third of the first-try score survives twenty repeats.

DeepSeek-V4-Pro

43.26% → 3.55%
The most dramatic drop in the table. A respectable single-attempt score becomes almost nothing when consistency is required.

Grok-4.3

14.38% → 0%
Zero tasks completed correctly on all twenty runs. Worth stating plainly because it is the clearest illustration of what pass^20 measures.

The ratio is what to look at, not the ranking. Across the table, pass^20 lands somewhere between a third and a tenth of pass@1. Whatever number you have seen quoted for an agent's accuracy, the number your users experience across repeated use is materially lower, and this is the first benchmark I have seen that quantifies the discount.

3. The 334 tasks that flicker

Here is the finding I would put on a slide.

The best model succeeded at least once on about nine tasks in ten. It succeeded on all twenty runs on about one task in four.

Which means the interesting population is neither the reliable tasks nor the impossible ones. It is the 334 tasks — two-thirds of the benchmark — whose outcome fluctuated between attempts.

Why that band is where credibility goes to die

A task that always works is a feature. A task that never works is a known limitation you can design around. A task that works most of the time is the one you will demo successfully, ship confidently, and then explain to a customer. Two-thirds of realistic business workflows sit in that band for the best model available, which means the default outcome of building a demo is a demo that works — and tells you almost nothing.

If you have ever wondered why agent pilots convert to production so poorly, this is a mechanical answer. Pilots are short, supervised and small-N. They sample the good runs.

4. Four in five failures looked like successes

Now the part with the most direct engineering consequence.

80.88% of failed trials ended cleanly. The conversation terminated normally. State-changing tool calls executed and returned successfully. Nothing threw. The end state was simply wrong.

The paper's own conclusion is blunt: response and tool-call-level signals are not clear proxies for end-to-end task completion.

Broken down, the dominant failure modes were:

  • 77.5% — the agent continued after a tool error as if it had succeeded. The tool told it no. It carried on as though the answer were yes.
  • 12.1% — wrong state updates. The tool executed correctly and wrote the wrong value. Detectable only by checking the backend afterwards; invisible in the logs.

Read those two together and a common assumption falls over. Most teams' agent observability consists of tracing tool calls and inspecting transcripts. Against this failure distribution, that catches roughly one failure in five. The other four look exactly like the successes — same clean exit, same valid calls — and the only thing that distinguishes them is the state of the database when it is over.

This is also the honest reply to the survey we covered yesterday, where 85.5% of engineers reported trusting agent output. Of course they do. Four in five failures are invisible from where they are standing.

5. The domain spread matters more than the average

Success varied enormously by domain: roughly 52% average success in retail, against roughly 23% in auto insurance.

That is more than a two-to-one difference on the same models with the same harness, and it is worth understanding rather than averaging away. Retail workflows tend to be shorter, more forgiving, and less policy-bound. Insurance workflows are long, conditioned on rules, and full of steps where an early wrong value quietly poisons everything downstream.

The practical translation for a founder: your domain's number is not the headline number. If what you are automating looks like a claims process — multi-step, policy-gated, state-heavy — the benchmark's message is that you should expect the bottom of the range, and you should find that out before your customer does.

6. What this does not say

Three caveats, because a striking benchmark invites over-reading.

The models tested are not the current frontier. The table is built on GPT-5.4 and the Claude 4.6 generation. The frontier has moved since — GPT-5.6 and Claude Opus 5 both landed after this work was done. The absolute numbers are already historical. Whether the ratio between pass@1 and pass^20 improves with newer models is the genuinely open question, and nothing here answers it.

Benchmark position is not capability ranking. Claude Opus 4.6 scores below Claude Sonnet 4.6 here (37.91% versus 58.45% pass@1), which should make anyone cautious about reading this as a straight leaderboard. Harness fit, prompt format and tool-calling conventions all move these numbers. Treat the shape of the finding as robust and the ordering as specific to this setup.

It is a simulation. Isolated backends and a simulated user are enormously better than static test cases, and they are still not your production system with your data and your users. The direction of the error is unknown — real workflows could be easier because users clarify, or harder because reality is messier than a simulator.

7. What to change on Monday

Not once

Run it twenty times
The single cheapest change available. Take the five tasks your agent most needs to get right, run each twenty times against a reset environment, and record how many pass every single time. Most teams have never seen this number for their own product. It is usually a bad afternoon and a very good decision.

Not on the transcript

Assert on state
Your check must query the database after the run and compare it to what should be true. If your test passes because the agent said "done," it would pass on 80.88% of Thinkingbox's failures too. An evaluation set that asserts on outcomes is the version worth building.

On tool errors

Fail loudly
The single largest failure mode — 77.5% — is an agent carrying on after a tool said no. That one is fixable in the harness rather than the model: surface tool failures as hard stops the agent cannot narrate its way past.

The third card is the one with the best return. It is not a model problem and it does not need a better prompt. If a tool call fails and your orchestration lets the agent keep going, you have built a machine for producing confident wrong answers, and the benchmark says that accounts for three-quarters of what goes wrong.

The honest summary

Microsoft built the agent benchmark that grades the thing that matters — what changed in the system — and then ran everything twenty times to see whether it holds. Both choices are obvious in retrospect and neither was standard.

The results: the best model available at the time was right on the first try 65.36% of the time and right every time 25.25% of the time. Two-thirds of tasks flickered between runs. Four in five failures ended cleanly, with valid tool calls, and would look like successes in any transcript-based monitoring you have deployed.

None of that means agents do not work. It means a demo is not evidence, single-run accuracy is the wrong metric to have been quoting, and the observability most teams have built cannot see the failures that actually occur.

The fix is not exotic. Run it twenty times. Check the database. Stop the agent when a tool says no.

Sources: arXiv 2608.19741 — "One Success Isn't Reliability: Thinkingbox, a Sandbox and Benchmark for Agents in Stateful Business Workflows" · microsoft/thinkingbox on GitHub · Per-model scores, the 507-task breakdown, the 80.88% clean-termination figure and the domain averages are as reported in the paper and its accompanying analysis; the caveats in section 6 are mine.

IdeaToMVP Academy

Want to build with AI — not just read about it?

4-week live cohort for founders. Learn to ship AI agents, scope MVPs, and automate your business — taught by the same team that writes these guides.

Explore the Academy →
Share this post :