Try Hanzo
Hanzo AI · Benchmarks · Last measured Oct 16, 2026

Intelligence, cost and speed, each measured.

Zen 6 prefills ~2,400 tokens a second and decodes ~43 on NVIDIA Grace-Blackwell, measured Sep 23, 2026.

Enso · intelligence per dollar

Enso on the boards it was run on.

The frontier, one benchmark at a time

Accuracy against what the run cost at list prices, on a log axis, for each board where Enso’s router is on the frontier. Every point is a research run, read when the page opens, and its cost is the tokens it records on the whole question set at the price list’s rate for its own model id. The dashed line joins the runs no other run beats on both.

Reading Enso's research runs from api.hanzo.ai

Every system on GPQA Diamond

Reading Enso's research runs from api.hanzo.ai

Kai · decisions

Kai beside Jev, on the same questions.

Decision Suite

Reading the Decision Suite's research runs from api.hanzo.ai

Kai against Jev, suite by suite

The suites Kai leads, both models on the same questions, each row dated by its runs. Sort by the lead, switch to calibration error, draw it as a chart or a table; the view is kept in the address, and the rows are read from the research API when the page opens.

Reading Kai's research runs from api.hanzo.ai

Yes or no, read from the state

Production Kai answers a yes/no question with a reader trained for it. The tests below are the ones it leads Jev on, both models given the same questions and the same rows.

TestKaiJev
A question and its paraphrase, mean |Δp| over 20 pairs0.1240.151
A state silent on the question, answered between 0.35 and 0.65: share of 6081.7%38.3%
Accuracy over 951 validation rows of 9 yes/no suites, pooled88.3%87.5%

Kai is kai-1.2, read 2026-10-08; Jev is typesafe/jev-1.13 through the API, read 2026-10-06. Hanzo-measured; harness private.

Finding the right tool in a large catalog

Kai’s tool-relevance head, in development, ranks a shortlist of 32 tools drawn from the whole catalog. The shortlist is an open embedding model, zen-embedding-0.6B, with a small BM25 term; nothing is trained for it. Here it is scored against BM25 alone on a dev catalog Hanzo assembled from public tool-calling sets and its own API: 2,928 tools, 6,608 requests.

Every request

Recall@32, BM25
73.6
Recall@32, shortlist
93.6
nDCG@10, BM25
51.6
nDCG@10, shortlist
72.3
Top-1, BM25
41.4
Top-1, shortlist
55.5

6,608 requests · 2,928 tools · Recall@32: a right tool among the first 32

Requests for a Hanzo service

Recall@32, BM25
15.5
Recall@32, shortlist
99.9
nDCG@10, BM25
3.5
nDCG@10, shortlist
81.5
Top-1, BM25
0.0
Top-1, shortlist
51.0

670 requests · a service scored as the best of its operations

An internal dev set, not a public benchmark: one run, 2026-10-11. Retrieval only, not an agent result.

Verified coding-agent performance

Hanzo Dev, with Kai and Enso Flash on api.hanzo.ai, against native Claude Code on held-out repository repairs. Each task is one fault its visible test fails on, and counts as solved only when a hidden verifier passes. Speed is the paired wall time over the tasks both solved.

3.02×faster on the 42 tasks both solved95% interval 2.06–4.36×.
Tasks both solved, by how Hanzo Dev settled themTasksSpeed95% interval
Every task both solved423.02×2.06–4.36×
Settled by search, no model call248.22×6.86–9.82×
The model’s first edit41.31×1.14–1.48×
AgentMedian secondsModel calls a task
Claude Code, sonnet-5.5 default effort9.53.8
Hanzo Dev, dev flow fix, Kai + enso-flash2.31.0

The fastest tasks are settled by a search with no model call: it tries single-token edits of the kinds these faults are drawn from against the visible test alone, and never reads a hidden test or the fault. These results are specific to this benchmark, one attempt a task; they are not a claim about general-purpose coding.

Research runs of coding.repair on split held, ended 2026-10-15, harness commit 8e966be: GET /v1/research/runs?benchmark=coding.repair.

Agent tools

Tool handlers in Hanzo MCP, each run on the same cases as the handler it replaced. Each row says what decides it, rules, BM25 or Kai, as its run records. A rate is shown with its count.

Shell commands an agent should not run unasked

Split hermes: hermes-jev-skills evals/gate/fixtures.jsonl (MIT), 118 made-up commands. The rules were frozen and read once (1 of 65 allowed: a metadata-endpoint fetch); that class and a bare `rm -rf /` were fixed after, so this run is not held out

HandlerWhat decidesAllowed, should deny or askOrdinary, stoppedMust deny, deniedMedian time
CurrentRules0.0% (0 / 65)34.0% (18 / 53)54.3% (19 / 35)0.060 ms
Replaced, ae4d07bRules, then Kai18.5% (12 / 65)62.3% (33 / 53)14.3% (5 / 35)–

Research runs of mcp.command on split hermes, ended 2026-10-15; the current handler at commit 863cb8a: GET /v1/research/runs?org=hanzo&benchmark=mcp.command

Which registered tool a task needs

Split t1dev: supplied tool lists from Kai's T1 tools6 dev split (manifest 48be841f)

HandlerWhat decidesRight tool firstMRRAbstainedMedian time
CurrentRules, then BM2573.3% (220 / 300)0.84110.160 ms
Replaced, ae4d07bKai65.7% (197 / 300)0.80543–

Research runs of mcp.select on split t1dev, ended 2026-10-15; the current handler at commit 863cb8a: GET /v1/research/runs?org=hanzo&benchmark=mcp.select

Split hand: eight hand-labelled tasks over eight tools

HandlerWhat decidesRight tool firstMRRAbstainedMedian time
CurrentRules, then BM2550.0% (4 / 8)0.59020.100 ms
Replaced, ae4d07bKai25.0% (2 / 8)0.4912–

Research runs of mcp.select on split hand, ended 2026-10-15; the current handler at commit 863cb8a: GET /v1/research/runs?org=hanzo&benchmark=mcp.select

What kind of failure a CI log shows

Split ci60: 60 real CI logs from 48 public repositories, labelled from the excerpt alone without the rules in view; nameable = the 40 whose class the old six categories can name

HandlerWhat decidesRight classRight class, nameableUnknownMedian time
CurrentRules70.0% (42 / 60)70.0% (28 / 40)90.370 ms
Replaced, ae4d07bKai–50.0% (20 / 40)––

Research runs of mcp.triage on split ci60, ended 2026-10-15; the current handler at commit 863cb8a: GET /v1/research/runs?org=hanzo&benchmark=mcp.triage

Price

Reading Kai's price from api.hanzo.ai
Reading Kai's research runs from api.hanzo.ai

Zen 6 · speed on our own hardware

Zen 6 prefills ~2,400 tokens a second on NVIDIA Grace-Blackwell.

~2,400 tok/sPrefill · Zen 6 on NVIDIA Grace-BlackwellDecode ~43 tok/s · 50.6 tok/s decoding code · 112 tok/s across 8 requests · measured by Hanzo on Sep 23, 2026.

Prefill, tokens a second

NVIDIA Grace-Blackwell · NVFP4 weights~2,400 tok/s
AMD Strix Halo · 4-bit build1,150–1,400 tok/s
Apple silicon · MLX build500–690 tok/s

the low end of a range is the bar

Decode, tokens a second

NVIDIA Grace-Blackwell · NVFP4 weights~43 tok/s
AMD Strix Halo · 4-bit build~34 tok/s
Apple silicon · MLX build64–81 tok/s

one request

Agent harness · what the agent remembers and finds

On LoCoMo, Hanzo's context engine finds 2.0× the multi-hop evidence cosine does.

2.0×Multi-hop ALL@20 · LoCoMo37.5% against cosine's 18.8% on the test split: every annotated evidence turn in the top 20.

Memory and retrieval

What a memory finds in a long conversation, and what a reader does with it. Each panel is one metric, the baseline and Hanzo on the same data, the same embedder and the same cut-off, drawn on one scale.

MemoryAgentBench

single-hop, plain resolver
95.5
single-hop, typed search
98.3
multi-hop, plain resolver
56.8
multi-hop, typed search
84.5
262k multi-hop, plain
33.0
262k multi-hop, typed
67.0

substring EM · pooled over the dev haystack and the three test haystacks, and the largest alone · reader: none, embedder zenlm/zen-embedding-0.6b

LoCoMo

multi-hop ALL@20, cosine
18.8
multi-hop ALL@20, Hanzo
37.5
R@20, cosine
70.9
R@20, Hanzo
80.7

test split · zen-embedding-0.6b · k=20 · ALL = every annotated evidence turn in the top 20

LongMemEval

cosine
85.8
engine, frozen on LoCoMo
90.6

500 questions · all-minilm vectors for both · ALL@5 = every evidence session in the top 5

Knowledge graph

Point-in-time questions over facts that begin and end, against another temporal store on the same data. On the CronQuestions types the harness covers, the Hanzo graph answers 99.88% and Semantica 99.88%; what differs is the price of a question.

Code

Cross-file retrieval in a repository, scored apart from generation. Typed links are regular expressions over imports, definitions and identifiers; no model reads anything in that row.

RepoBench-R

dense retrieval
18.8
typed links
31.4

cross-file-first · test split · R@1

Agent platform · what an agent costs

A dormant agent costs 477 bytes.

477 bytesState per dormant agentAgainst a published ~1 MB (2,198×). 1M agents: 455 MB on disk vs ~977 GB.

Platform, agents, and sandboxes

What an agent costs at rest, what a live one costs to wake, and what a sandbox costs to start.

A live agent here is a goroutine: it shares one address space with every other, and nothing about it is an isolation boundary. Code that has to be isolated gets a microVM. The goroutine timings are the median of one pass on an Apple M4 Max, 16 cores. Every figure here is transcribed from the harness's README rather than read from a run file, and each page names the command that prints it.

Start-up and cost

Methods

How every number was taken

Methodology

Every result is current. Each build pulls the latest validated runs from the research API: canonical, public, and not flagged inconsistent. When the API cannot be read, or answers with fewer runs than the committed snapshot already holds, the build keeps the snapshot, and the page swaps in what the API holds once it answers in the browser.

Every row is dated. A run is dated by when it ended; the platform bench records its month.

Live, frozen, superseded. Live is the newest run the API serves for a benchmark. Frozen is a committed run file, a snapshot, or a figure transcribed from a harness’s README. Superseded is an earlier run of the same benchmark that a later one replaced; it stays in the library, so a revision’s history can be read.

Where a number comes from. Kai’s and Enso’s rows are research runs, served at the research API and read when this page opens. The memory, graph and code panels read the committed run files of the benchmarks repository. Kai’s yes/no table and the tool shortlist are Hanzo-measured reads the research API does not file: each is its run’s report, copied unchanged, and names its model, date and count.

Measured, not reported. Every frontier point is a run Hanzo filed: the router and each single model on the same questions, at the same tag. No vendor-reported figure is on a board here.

Prices are prices. Kai beside Jev is the input-token rate each is billed, from the price list, not a cost per task. The frontier’s axis is what each run spent on the whole question set. No speed is claimed here without a measured comparison; latency, where this Kai version was timed, is in its tables.

Comparing rows. A frontier is drawn among the rows of one benchmark, never across two, and a leaderboard row compares two models on one suite. Suites measure different tasks, so the mean is a summary, not a score on any of them.

The memory and code panels regenerate from the committed runs on a fresh clone: git clone https://github.com/hanzoai/benchmarks && cd benchmarks/brain && node results.mjs

The research

Every paper the library publishes. A benchmark’s own page names the paper that reports it, where one does. Specifications are the HIPs.

Linkage, Not Similarity

papers.hanzo.ai

What long-term agent memory has to retrieve, and how it is measured

Hanzo AI Chain (AIVM)

papers.hanzo.ai

Useful-Work Mining, the Native AI Coin, and Post-Quantum Omnichain Settlement

Cloud Economics of a Sovereign OSS Stack

papers.hanzo.ai

A Regulated Capital-Markets Migration Case Study

One Native Stack for Private, Continuously-Learning AI

papers.hanzo.ai

Inference at the Bandwidth Wall, On-Device QLoRA, One Engine

Native ROCm Inference on a Consumer RDNA3.5 APU

papers.hanzo.ai

Reaching llama.cpp Decode Parity via a Unified 1-bit-to-Full Quant Core

Edge LLM Inference Across Commodity Accelerators

papers.hanzo.ai

Measured AMD, NVIDIA, and Apple Performance

Native Training in the Hanzo Engine

papers.hanzo.ai

One Engine, One Quant Format, One Backend

Continuously-Learning Private AI

papers.hanzo.ai

Self-Improvement and Privacy in the Hanzo Native Stack

Economical Serving and the hanzo.ai Platform

papers.hanzo.ai

A Bandwidth-Optimal Unified Train-and-Serve Runtime

The Unified Sovereign-Tenant Cloud

papers.hanzo.ai

Linear Shared-Nothing Scaling via Per-Tenant SQLite and In-Process Composition

Refutation-Driven Performance Engineering

papers.hanzo.ai

An Empirical Study of a Multi-Week GPU Kernel Campaign

Evolutionary Schedule Search in a One-Source Kernel DSL

papers.hanzo.ai

And the Continual-Improvement Loop It Anchors

Hanzo Router

papers.hanzo.ai

Memory-Aware, Local-First LLM Routing with a Learned SLO-Constrained Policy

What a Dormant Agent Costs

papers.hanzo.ai

State, Execution and Isolation Measured Separately at a Fleet of One Million

Hops Do Not Fix Multi-Hop Retrieval

papers.hanzo.ai

A Negative Result on Long-Horizon Conversational Memory, and What the Failure Actually Is

Retrieval Scoped by Subject

papers.hanzo.ai

A factorial measurement of conversational memory on LoCoMo, and the negative controls that locate the effect

Hanzo Network Whitepaper

papers.hanzo.ai

L1 Blockchain for Decentralized AI Compute

Every benchmark

Every benchmark, every run

One shelf for everything above, by the same five products: each Kai revision on each suite it leads, each Enso tier on the frontiers it holds, each Zen 6 reading, each memory and platform pass. Search it, filter it, pick rows of one benchmark to compare, and open any of them for its history, conditions, hardware, source and the command that reproduces it.

Order
Product
Category
Metric
Measured by
Date
Status
Result

151 of 151 results, 24 benchmarks

AG Newskai-1.4 · c1856a77 vs JevKai · Decision harness · Accuracy
93.8%baseline 86.0%
Win
Oct 16, 2026Live · Hanzo-measured
AG Newskai-1.4 · c1856a77 vs JevKai · Decision harness · Calibration error (ECE)
0.022baseline 0.102
Win
Oct 16, 2026Live · Hanzo-measured
Banking77kai-1.4 · c1856a77 vs JevKai · Decision harness · Accuracy
88.0%baseline 83.5%
Win
Oct 16, 2026Live · Hanzo-measured
Choosing among many optionskai-1.4 · c1856a77 · 4 options vs JevKai · Capability · Accuracy
94.3%baseline 90.5%
Win
Oct 16, 2026Live · Hanzo-measured
Choosing among many optionskai-1.4 · c1856a77 · 16 options vs JevKai · Capability · Accuracy
92.0%baseline 85.3%
Win
Oct 16, 2026Live · Hanzo-measured
Choosing among many optionskai-1.4 · c1856a77 · 77 options vs JevKai · Capability · Accuracy
88.0%baseline 84.3%
Win
Oct 16, 2026Live · Hanzo-measured
DAIR Emotionkai-1.4 · c1856a77 vs JevKai · Decision harness · Accuracy
92.3%baseline 60.3%
Win
Oct 16, 2026Live · Hanzo-measured
DAIR Emotionkai-1.4 · c1856a77 vs JevKai · Decision harness · Calibration error (ECE)
0.033baseline 0.280
Win
Oct 16, 2026Live · Hanzo-measured
Email spamkai-1.4 · c1856a77 vs JevKai · Decision harness · Accuracy
98.5%baseline 97.8%
Win
Oct 16, 2026Live · Hanzo-measured
Email spamkai-1.4 · c1856a77 vs JevKai · Decision harness · Calibration error (ECE)
0.016baseline 0.060
Win
Oct 16, 2026Live · Hanzo-measured
MASSIVEkai-1.4 · c1856a77 vs JevKai · Decision harness · Accuracy
90.7%baseline 89.0%
Win
Oct 16, 2026Live · Hanzo-measured
MASSIVEkai-1.4 · c1856a77 vs JevKai · Decision harness · Calibration error (ECE)
0.064baseline 0.064
Win
Oct 16, 2026Live · Hanzo-measured
Model routingkai-1.4 · c1856a77 vs JevKai · Decision harness · Accuracy
99.8%baseline 97.7%
Win
Oct 16, 2026Live · Hanzo-measured
Model routingkai-1.4 · c1856a77 vs JevKai · Decision harness · Calibration error (ECE)
0.002baseline 0.014
Win
Oct 16, 2026Live · Hanzo-measured
Phishingkai-1.4 · c1856a77 vs JevKai · Decision harness · Accuracy
98.8%baseline 90.0%
Win
Oct 16, 2026Live · Hanzo-measured
Phishingkai-1.4 · c1856a77 vs JevKai · Decision harness · Calibration error (ECE)
0.011baseline 0.039
Win
Oct 16, 2026Live · Hanzo-measured
RAG relevancekai-1.4 · c1856a77 vs JevKai · Decision harness · Accuracy
65.3%baseline 62.0%
Win
Oct 16, 2026Live · Hanzo-measured
RAG relevancekai-1.4 · c1856a77 vs JevKai · Decision harness · Calibration error (ECE)
0.089baseline 0.279
Win
Oct 16, 2026Live · Hanzo-measured
Support triagekai-1.4 · c1856a77 vs JevKai · Decision harness · Accuracy
46.3%baseline 36.5%
Win
Oct 16, 2026Live · Hanzo-measured
Support triagekai-1.4 · c1856a77 vs JevKai · Decision harness · Calibration error (ECE)
0.349baseline 0.483
Win
Oct 16, 2026Live · Hanzo-measured
Toxicitykai-1.4 · c1856a77 vs JevKai · Decision harness · Accuracy
81.0%baseline 66.3%
Win
Oct 16, 2026Live · Hanzo-measured
Toxicitykai-1.4 · c1856a77 vs JevKai · Decision harness · Calibration error (ECE)
0.170baseline 0.177
Win
Oct 16, 2026Live · Hanzo-measured
Typed decisionskai-1.4 · c1856a77 vs JevKai · Decision harness · Accuracy
74.6%baseline 73.6%
Win
Oct 16, 2026Live · Hanzo-measured
AG Newskai-1 · 0834a74f vs JevKai · Decision harness · Accuracy
94.3%baseline 86.0%
Win
Oct 3, 2026Superseded · Hanzo-measured

Every benchmark page

Hanzo AI Cloud

Build on Hanzo Cloud

Build what’s next.