tokenade
Log inenfr
Start free

THOL Explained: Do Token Optimizers Really Save?

Every token optimizer quotes a big percentage. THOL checks what they actually do to the bill of a whole AI agent session. Here is how it works, what it found, and how to read it — no statistics degree needed.

TL;DR — THOL runs the same 17 jobs through Claude Code with no tool and with each of 12 token optimizers, 10 times each, and compares the bill of the whole session. On long sessions, Tokenade makes a session 39% cheaper than the agent on its own; nine tools make no measurable difference and one makes sessions more expensive.

Profile photo of Paul Irolla

By Paul Irolla

Founder · AI & developer tools · Tokenade

Ph.D. in AI · builds token-optimization tooling for AI agents

View author page
8 min read
Cite this page

Every tool that promises to cut an AI agent's bill quotes an impressive number: "this file shrinks by 80%", "90% fewer tokens". Those numbers are real, and they almost never tell you what happens to your bill.

THOL is a public benchmark built to answer that one question. It gives an AI agent the same jobs over and over, with no tool and then with each token optimizer installed, and compares what each whole session cost. This page explains how it works, shows what it found, and tells you how to read it. The raw data and the full protocol are public; links are at the end.

THOL in one minute

THOL stands for Token-Harness Optimizer Leaderboard. In one sentence: same jobs, same agent, same model, with and without each tool, many times over, and the bill of the whole session at the end.

AgentClaude Code 2.1.206, headless
ModelClaude Sonnet 4.6, the same for every run
Jobs17 tasks with a correct answer known in advance
Repetitions10 runs per task and per tool: 170 runs per tool
Tools compared12 token optimizers, plus the agent with no tool
What is measuredDid the job succeed, and what did the whole session cost

The result Tokenade quotes from it: on long sessions, Tokenade makes a session 39% cheaper than the same agent with no tool. That is the only Tokenade figure this site uses.

Where an AI agent's bill really comes from

To understand why THOL measures whole sessions, look at what the agent sends to the model. At every step it sends the entire conversation so far: your request, every file it has read, every command result. Then it gets a short answer and does it again.

What the tokens of a long session are made of (agent with no tool)
What the tokens of a long session are made of (agent with no tool)
Conversation re-sent
the history sent again at every step
91.2%
New input
what is new at this step
6.7%
Model's answers
what the model writes
2.1%

Share of tokens over the 7 long tasks, Claude Code with no optimizer. Source: THOL results.json, 2026.

Nine tokens out of ten are history being re-sent. That is why a 600-line build log is expensive: the agent does not pay for it once, it pays for it at every following step. And it is why shrinking one message tells you little: what matters is what stays in the conversation, and how many steps the agent needs.

Why "this file shrinks by 80%" is the wrong number

A compression rate describes one message, usually chosen to look good. A session is different. If a tool shrinks output too aggressively, the agent no longer finds what it needs: it reads the file again, retries the command, takes extra steps. Each extra step re-sends the whole conversation. The "saving" can end up costing more than it saved.

A tool also adds its own weight: instructions loaded into the agent, extra tool descriptions sent at every step. A per-file percentage ignores all of that. The bill at the end of the session does not.

How one THOL run works

One run, from start to bill
  1. 1Clean computer

    A throwaway home folder and workspace: nothing from the previous run, nothing from the host.

  2. 2Tool installed

    Exactly as its own documentation says, or nothing at all for the no-tool baseline.

  3. 3Same job

    The same prompt and the same starting files for every tool.

  4. 4Agent works

    Claude Code with the pinned model does the job on its own.

  5. 5Answer checked

    A program compares the result with a correct answer the agent never sees.

  6. 6Bill recorded

    Total cost of the session, tokens by kind, steps, duration.

A failed run never counts as a saving: a tool that makes sessions cheap by making them fail does not win.

The 17 jobs

The tasks mix everyday coding work (fixing bugs, adding features, refactoring, migrating, understanding an unfamiliar codebase) with jobs that are not code: finding one line in a large log, writing a report from a PDF, auditing a website's SEO, researching open-source projects on the web. Seven of them are "long": the agent on its own uses more than 200,000 tokens to finish.

TaskKind of workTokens, agent with no toolLong session
web-research-oss-inventoryWeb research1,253,740✓
code-debug-cascade-pyDebugging (Python)689,671✓
code-debug-pipeline-pyDebugging (Python)463,241✓
code-settings-inventory-djangoUnderstanding a codebase (Django)412,738✓
code-debug-ledger-pyDebugging (Python)373,018✓
code-feature-validate-pyAdding a feature (Python)240,760✓
code-overview-cobraUnderstanding a codebase (Go)213,742✓
report-pdfReport from a PDF197,564
code-feature-jsAdding a feature (JavaScript)193,747
code-migration-pyMigration (Python)169,042
seo-auditSEO audit161,533
code-migration-py-xlMigration, larger (Python)150,740
code-iterate-testsMaking tests pass146,833
code-refactor-split-pyRefactoring (Python)145,496
code-bugfix-pyBug fix (Python)116,597
log-needle-zhFinding a line in a log101,135
code-comprehension-djangoUnderstanding a codebase (Django)95,346

Why single out long sessions? On a quick job there is almost nothing to trim, so every tool lands close to the agent on its own and only each tool's fixed cost shows. Long sessions are where real work, and real bills, are.

Same job, different bill

Here is a detail most benchmarks skip: even with no tool at all, running the same job twice does not cost the same. The agent takes a different path, reads different files, takes more or fewer steps.

How much the bill varies from run to run, agent with no tool (long tasks)
How much the bill varies from run to run, agent with no tool (long tasks)
debug-cascade
57.3%
overview-cobra
47.2%
settings-inventory
46.2%
debug-ledger
39.1%
feature-validate
20.1%
debug-pipeline
13.5%
web-research
13.3%

Typical spread of the session cost around its average over 10 runs (coefficient of variation). Source: THOL results.json, 2026.

This is why THOL runs everything ten times and publishes this spread: a small gap between two tools can be pure chance. Only a difference larger than this natural noise means something.

The result on long sessions

For each task, THOL divides the cost with the tool by the cost with no tool, then averages those ratios across tasks in a way that stops one unusual task from dominating (a geometric mean). The chart shows the result as a change in the cost of a session: below zero is cheaper, above zero is more expensive.

Change in the cost of a long session, compared with the agent on its own
Change in the cost of a long session, compared with the agent on its own
Tokenade
measurably cheaper
-39%
edgee
no measurable difference
-14.7%
caveman
no measurable difference
-13.6%
claude-token-efficient
no measurable difference
-11.6%
code-review-graph
no measurable difference
-8.5%
codegraph
no measurable difference
-7.6%
squeez
no measurable difference
-6.9%
ponytail
no measurable difference
-3.5%
graphify
no measurable difference
-3.3%
rtk
no measurable difference
+7.1%
lean-ctx
no measurable difference
+10.3%
headroom
measurably more expensive
+52.8%

7 long tasks (over 200,000 tokens), 70 runs per tool, Claude Code 2.1.206 with Claude Sonnet 4.6. “No measurable difference”: the gap is within the run-to-run noise. Source: THOL, 2026.

How to read it:

  • One tool is measurably cheaper. On long sessions, Tokenade comes out 39% cheaper than the agent on its own, a gap well beyond the noise.
  • Most tools change nothing you could measure. Their bars lean one way or the other, but the gap stays inside the natural run-to-run spread: with these 70 runs, you could not tell from the bill whether they were installed.
  • One tool makes sessions more expensive. Compressing every message is not free if the agent then has to work harder.

What you will actually see

The 39% is a session-cost figure measured on long sessions. On long, multi-step work, expect the biggest effect. On a quick one-off question, expect a small one: there is little to remove.

It is not a compression rate on a single file, so it cannot be compared with the per-file percentages quoted elsewhere: those describe one message, this describes the bill.

How Tokenade counts your own savings

THOL measures Tokenade in a lab. On your computer, Tokenade keeps its own ledger: each time it changes what reaches the model, it writes down the size before, the size after and the difference. Tokens are counted on your machine; no text is sent anywhere to be counted.

Three corrections keep that figure honest:

  1. Only real savings are booked. A change that saves nothing, or adds text, counts as zero.
  2. A saving is capped at what your agent would really have shown the model. Agents already cut very large results on their own; counting the full raw size would overstate the benefit.
  3. What Tokenade adds is subtracted. The short instructions it gives your agent are charged against the savings.

What cannot be measured exactly, such as the whole file the agent did not have to read, goes to a separate estimate shown next to the measured total and never added to it. The full method is in how savings are measured.

Who runs THOL, and why you can still trust it

THOL is maintained by Tokenade's author, Paul Irolla, so it is not independent, and this page does not pretend otherwise. The conflict of interest is handled by how the test is built:

  • every tool goes through the same test bench, installed exactly as its own documentation says;
  • the answer checkers are fixed before any run and judge the job, not the tool;
  • the agent with no tool is tested like any other entry;
  • every run, including the ones that do not favour Tokenade, is published unedited.

It is reproducible rather than independent: anyone can rerun it and compare.

Check it yourself

Cite this benchmark

Irolla, P. (2026). Token-Harness Optimizer Leaderboard (THOL): an end-to-end benchmark of coding-agent token optimizers.

@misc{irolla2026thol,
author = {Irolla, Paul},
title = {Token-Harness Optimizer Leaderboard (THOL): an end-to-end benchmark of coding-agent token optimizers},
year = {2026},
howpublished = {\url{https://pi-infected.github.io/token-harness-optimizer-leaderboard/}},
note = {Explained: https://tokenade.net/en/thol}
}

FAQ

Why only long sessions?

On short jobs there is almost nothing to trim, so every tool lands close to the agent on its own and the comparison only shows each tool's fixed cost. Long sessions, over 200,000 tokens, are where the bill is.

Why does a tool with a big compression rate not win?

Because the bill comes from the whole session. If compressed output forces the agent to read again or take extra steps, each step re-sends the conversation and the saving disappears.

Does a failed run count?

No. Only successful runs are compared, so a tool cannot look cheap by making the agent give up.

Is Tokenade open source like THOL?

No. THOL, the benchmark, is open source (MIT). Tokenade, the product, is not.

FAQ

Cut your AI agent's token bill.

Ranked #1 on the Token-Harness Optimizer Leaderboard. Zero config.

Tokenade cuts the token bill of AI agents: one install, zero config, and it trims what your agent sends to the model.