explainx.ai0k
TrendingNewsPathwaysSkills
Pricing
explainx.ai

Upskill in AI — 16 free pathways, live workshops & bootcamps, and 50+ courses from practitioners. Plus the skills, tools, and MCP servers to practice on.

follow us

follow on google

Add explainx.ai as a preferred source

corporate training

support@explainx.ai

get started

Find your pathTake Free Evaluation

learn

mind: share how you thinkpathways — start freeworkshopsbootcampscoursescertificationsmock testsexplainx universitycorporate traininglearn skills & mcp

discover

skillsmcp serversexplainx mcptoolsmdx readeragentsllmsdesignsdictionaryagi trackerfelony benchranks

company

aboutvisionmissionteaminstructorsteach on explainxpartnershipscommunityhackathonscareers

content

daily AI newsstate of AI — live resultsblogreleasespromptsgeneratorsresource libraryfor LLMsexplainx.ai kids

solutions

all solutionsdeveloper upskillingmarketing upskillingproduct manager upskillingleadership upskilling

newsletter · weekly

Get AI news, tools, and insights in your inbox.

supportcontactprivacytermsdata rightshow we create contentsubmission guidelines

© 2026 AISOLO Technologies Pvt Ltd

On this page

  • TL;DR
  • The problem: a transcript can lie about what happened
  • How the runtime enforces isolation
  • Where ThinkingBox sits against prior agent benchmarks
  • The leaderboard: GPT-5.4 leads, but domain variance is large
  • Capability and reliability are different numbers
  • Where the failures actually happen
  • Try it yourself
  • Related on explainx.ai
← Back to blog

explainx / blog

Microsoft ThinkingBox: A Benchmark That Checks What Agents Actually Changed

Microsoft, AI Benchmarks, AI Agents, Open Source, Agent Evaluation

Microsoft's ThinkingBox grades agents by inspecting database side effects, not transcripts. GPT-5.4 leads at 65.36% pass@1 but only 25.25% pass^20.

Sep 10, 2026·9 min read·Yash Thakker
add explainx.ai
go deep
Microsoft ThinkingBox: A Benchmark That Checks What Agents Actually Changed

A support agent tells you it added a quiet-room preference to your hotel booking. The transcript reads like a clean success. But the booking's special_requests field is still empty — the agent confirmed work it never actually did, and a grader that only reads the final chat response would pass the run anyway. You find out the gap exists at check-in.

Microsoft built ThinkingBox to catch exactly that class of failure, and it's worth covering because it targets a gap most agent benchmarks still have: grading the chat transcript instead of the world the agent left behind.

TL;DR

table · 2 cols
QuestionAnswer
What does ThinkingBox grade?Database records and side effects the agent actually left behind, not the final chat response
What's ThinkingBox-Bench?507 executable tasks across 5 business domains (retail, travel, auto insurance, internal IT/HR), built with Toloka
Who scored best?GPT-5.4 at 65.36% pass@1, the only model above 50% in every domain
Best open-weight model?DeepSeek-V4-Pro at 43.26% pass@1
What's the reliability catch?GPT-5.4 hits 91.12% pass@20 (found a solution once in 20 tries) but only 25.25% pass^20 (repeats it every time)
Where's most of the failure?77.5% of failed traces are unrecovered tool errors, not bad final answers
Is it open source?Yes — runtime and benchmark data are both on GitHub
Weekly digest3.5k readers

Catch up on AI

Curated AI updates on agents, skills, and MCP — delivered to your inbox. Unsubscribe anytime.

The problem: a transcript can lie about what happened

Final-response grading only works if the benchmark controls the starting state and every way that state can change. Microsoft's engineering team, led by principal machine learning engineer Liang-Chun Tsai, designed ThinkingBox around four requirements a task needs to reproduce reliably:

  1. A known initial state and expected outcome — the task defines exactly what records exist before the run and what they should look like after.
  2. A controlled tool surface — the agent can only change state through the tools it's given; the evaluator keeps a separate view of the ground truth.
  3. A responsive simulated user — the opening request deliberately withholds details (like a booking reference), forcing the agent to ask rather than guess.
  4. A clean, isolated environment per attempt — every run starts from the same baseline with no cross-run contamination.

The quiet-room task, in Microsoft's own example, starts with an empty special_requests list and an open support ticket, and only passes if the preference appears on the booking and the ticket is marked solved with the correct resolution code. The transcript explains how the agent got there; a set of executable assertions over the actual database state decides whether it counts.

python
def test_quiet_room_request(x: TestContext, judge: Judge):
    assert (
        x.effects["external_booking_v1"]["result_db_hash"]
        == x.effects["external_booking_v1"]["golden_db_hash"]
    )
    assert judge.text_yesno(
        x.response,
        "Does the response say the preference is subject to availability?",
    )

Notably, the assertions don't check which tools the agent called or in what order — only the resulting state. A test that hard-codes a tool-call sequence rejects any agent that finds a valid alternate path (skipping a redundant lookup, retrying after a transient error). ThinkingBox checks outcomes; deterministic assertions cover state, and a narrow LLM-judge question only covers phrasing that can't be reduced to an exact match, like whether the agent disclosed availability isn't guaranteed.

How the runtime enforces isolation

ThinkingBox splits into two repositories: thinkingbox holds the tb CLI, the agent/simulated-user loop, an MCP Session Proxy, and the evaluation harness; thinkingbox-data holds the MCP servers, scenario definitions, and synthetic records for each domain.

The Session Proxy is what makes parallel, repeatable isolation possible. It's not a public-facing tool — it wraps three reserved MCP calls the agent never sees:

  • __reserved__init — starts one process per MCP server (not per tool) and seeds it with the task's initial records
  • __reserved__geteffects — returns the final state after the run, for the evaluator to compare against the golden database hash
  • __reserved__teardown — kills the session's MCP processes, even on a failed run

Each tb infer attempt gets its own session ID and freshly initialized processes, so concurrent trials don't leak state into each other — a real constraint for running the same task 20 times, which is exactly what the benchmark does.

Where ThinkingBox sits against prior agent benchmarks

Microsoft's own comparison table checks each prior benchmark against the four properties above:

table · 5 cols
BenchmarkStateful environmentControlled tool surfaceInteractive userIsolated, repeatable runs
SWE-bench✅❌❌✅
WebArena✅❌❌✅
ToolBench❌✅❌❌
AppWorld✅✅❌✅
tau-bench / tau2-bench✅✅✅✅
ThinkingBox-Bench✅✅✅✅

Sierra's tau-bench family — covered on explainx.ai via Celeris-1 Magnus's tau3-bench results — is the closest prior work satisfying all four properties. ThinkingBox's contribution is scale and domain breadth: 507 tasks across retail (98), travel and hospitality (104), auto insurance (100), neobank internal IT (104), and consulting IT/HR (101), plus the reusable MCP-based lifecycle around them.

The leaderboard: GPT-5.4 leads, but domain variance is large

Microsoft ran all 12 evaluated models 20 times per task and reported pass@1 averaged across the full 507-task set:

table · 7 cols
ModelRetailAuto insuranceTravelNeobankConsultingAverage
GPT-5.476.3362.6568.1365.3454.6065.36
Claude Sonnet 4.668.9358.2060.3853.9951.1458.45
GPT-5.270.2022.4053.7051.1534.0646.28
DeepSeek-V4-Pro68.2129.6543.1344.8631.0443.26
Claude Opus 4.674.9014.6528.8938.0334.2137.91
Kimi-K2.653.7224.5039.5233.6537.3337.66
GLM-5.158.6725.7035.4313.2734.0633.19
Qwen3.6-27B43.1129.0046.3927.8418.3732.94
o3-pro37.942.9624.1624.3714.7520.60
Grok-4.343.932.6015.141.789.5514.38
Qwen3.5-9B19.150.454.521.062.345.41
Mistral-Large-311.281.308.991.150.744.66

GPT-5.4 is the only model above 50% in every single domain. GPT-5.2, despite a similar-generation aggregate score to DeepSeek-V4-Pro, swings from 70.20% on retail down to 22.40% on auto insurance — a domain-specific policy environment it clearly handles worse. Claude Opus 4.6 shows the same pattern: 74.90% on retail against 14.65% on auto insurance. A single average score hides which domain a given model will actually fail in production.

Capability and reliability are different numbers

The more useful finding sits underneath the leaderboard. Because Microsoft ran every task 20 times, they could separate three distinct questions instead of one:

  • pass@1 — how often a single attempt succeeds
  • pass@20 — whether at least one of 20 attempts succeeded (can retries find a working path?)
  • pass^20 — whether all 20 attempts succeeded (does the agent repeat success reliably?)

GPT-5.4's pass@20 reaches 91.12% — it can find a successful trajectory on almost every task given enough tries — but its pass^20 is only 25.25%. It never once succeeded on 45 of the 507 tasks, and passed all 20 attempts on just 128. Claude Opus 4.6 (37.91% pass@1) and Kimi-K2.6 (37.66% pass@1) look nearly identical on the headline number, but Opus reaches 70.02% pass@20 against Kimi's 84.22% — Kimi finds a working path on more tasks — while Opus's pass^20 of 13.81% beats Kimi's 3.16% — Opus is the one that repeats success once it finds it.

That distinction matters for anything beyond a demo: retries can raise the odds of one good outcome without making an agent dependable enough to remove a human reviewer from the loop.

Where the failures actually happen

Microsoft's team also read the failed traces and categorized the root cause:

table · 3 cols
Failure categoryShare of failed tracesWhat it looks like
Tool usage77.5%A tool error or failed precondition the agent never recovers from
Wrong state change12.1%The mutation succeeds but hits the wrong entity, policy, or value
Response quality7.9%An incomplete, contradictory, or premature final answer
Missing state change2.5%The agent never attempts the required mutation at all

Nearly four out of five failures happen during tool execution, not in the final response. Most agents reach the right workflow; they just don't interpret a failed tool call, replan around it, or verify state before declaring success. That's a specific, actionable target for anyone building agent harnesses — the fix is in how the loop handles a bad tool response, not in prompt-tuning the final message.

Try it yourself

Both repositories are open source. The runtime is at github.com/microsoft/thinkingbox; the benchmark tasks, synthetic records, and MCP servers are at github.com/microsoft/thinkingbox-data. The ThinkingBox-Bench v1.0 release documents reproducing the 507-task run and computing pass@1, pass@20, and pass^20 with tb agg. The main repo's README walks through building a custom MCP server, scenario, and test case if you want to grade your own agent against domain-specific side effects instead of a chat transcript.

Benchmark scores, repository structure, and release details reflect Microsoft's ThinkingBox publication as of August 19, 2026 — check the linked repositories for current numbers before relying on any specific figure.

Related on explainx.ai

  • Complete guide to AI benchmarks
  • How to read AI benchmarks
  • Terminal-Bench 2.0: AI agent benchmark evaluation
  • Celeris-1 Magnus and tau3-bench agentic evaluation
  • State machines for enterprise agent test environments
  • What is an agent harness? Complete guide
  • AI coding agent evals on real repos
  • Goodhart's Law and AI benchmark contamination

Official sources: ThinkingBox runtime on GitHub, ThinkingBox-Bench data on GitHub, Microsoft's ThinkingBox announcement on Command Line.

Spotted something out of date? Let us know.
Yash Thakker

Written by

Yash Thakker

Yash is an AI expert with over 300K learners. Join his workshops →

Related posts

Jun 12, 2026

Agents' Last Exam (ALE): Berkeley's Real-World AI Agent Benchmark

ALE is a living benchmark built with 250+ industry experts and 1,490 task instances mapped to the U.S. O*NET occupational taxonomy. Unlike academic tests, it scores agents on long-horizon GUI+CLI work with deterministic evaluators—and frontier systems still fail 97%+ of the hardest tasks.

May 2, 2026

Terminal-Bench 2.0: The AI Agent Benchmark That Actually Matters

Terminal-Bench 2.0 has become the de facto standard for AI agent evaluation since May 2025—used by virtually every frontier lab. This deep dive covers the 89-task benchmark, its evolution from version 1.0, the Harbor framework powering it, and why frontier models still struggle below 65% accuracy on tasks humans complete routinely.

Sep 9, 2026

HyperFrames: HeyGen’s Open-Source HTML-to-Video Framework for AI Agents

HyperFrames is HeyGen's open-source framework for turning plain HTML into frame-accurate MP4 video, shipped with 20 agent skills for Claude Code, Cursor, Gemini CLI, and Codex. This guide covers the composition model, the skills-router architecture, the explicit Remotion comparison, and what you can actually build with it today.