# Hanzo Kai — Decision intelligence

> Kai is a multimodal decision model that turns heterogeneous evidence into calibrated, typed, mutually consistent decisions, resolved in parallel.

Kai 1 · decisions, not completions.

Kai

# Decision intelligence.Not another language model.

Kai takes explicit state and a listed question and returns a choice. The coding agent, Hanzo Bot, and Hanzo Team call it for the model, the context, the tools, and the stop.

[Explore the research](#research)[View benchmarks](#benchmarks)

kai · multimodal · typed · calibrated · parallel · self-hostable

vehicle.readiness@3example · scripted

evidencecamera

CAN

audio

SysML

simulation

replay

Example: a scripted scenario, not model output. Switch a source off and only the decisions that read it run again.

Bounded answers

## Language models reason. Kai decides.

Generative models are good at open-ended work. Most decisions inside a real system are not open-ended.

- Which tool should run?
- Which component failed?
- Is the evidence sufficient?
- How severe is the risk?
- Which option satisfies the constraints?
- Should execution continue?
- Does a human need to approve this?

Each has a bounded answer space. Kai is built for them.

hanzo decision

zenopen-ended reasoning and generationkaibounded judgment and decision stateembedretrievaltsforecastingvisionperceptionaudiospeech and acoustic perceptiongraphstructural evidencesolvermathematical correctnesspolicyauthority

hanzo decision composes all of them

Evidence

## Everything is evidence.

Text. Code. Images. Video. Audio. Sensors. Telemetry. Time series. Graphs. SysML. Simulation. One decision plane over all of it.

evidence plane

- text
- code
- image
- video
- audio
- radar
- lidar
- thermal
- sensors
- telemetry
- time series
- graph
- sysml
- simulation
- documents

↓ modality encodersshared evidence↓kai

A decision should not care whether its evidence started as prose, a thermal image or a CAN frame. Specialized encoders produce the evidence, and Kai reasons over one shared representation of it.

New sensor tomorrow? Add an adapter. The Decision Program does not change.

Sensors

## Sensors are first-class.

Kai does not treat telemetry as text. A measurement carries its meaning with it.

- CAN / J1939
- IMU
- accelerometer
- gyroscope
- temperature
- pressure
- voltage
- current
- vibration
- GNSS
- radar
- LiDAR
- thermal
- RF
- acoustics
- network telemetry
- industrial buses
- custom sensors

A number without provenance is just a number. Kai keeps the evidence attached.

measurementexample

value104.2unit°Cchannelcoolant.temperaturesample_rate100 Hztimestamp11:42:13.428uncertainty±0.4 °Ccalibrationvalidsourcevehicle-17provenancesigned stream

Change

## Decide on what changed.

A sensor stream can hold millions of samples. A decision should not have to reread all of them.

Specialized temporal models turn raw streams into evidence. Kai decides what that evidence means for the system.

coolant.temperature · summaryexample

current104 °Ctrendrisingderivative+1.8 °C/minbaseline+4.2σforecastlimit crossed in 6 minqualityvalid

Parallel

## Entire decisions, in parallel.

Agent loops serialize control: a question, a model, an answer, and again. Kai is designed around a different primitive.

agent loop

question → model → answer

↓

question → model → answer

↓

question → model → answer

one call per decision, in series

decision programexample

faultbearing.91

severitycritical.86

readinessno-go.96

actioninspect-bearing.83

next_testspectrum.88

evidence_sufficienttrue.81

human_reviewyes.99

A Decision Program holds many typed variables, and Kai predicts their distributions together. One state. One shared encoding. Many decisions.

Refinement

## Resolve certainty first.

Kai borrows from masked diffusion without pretending decisions are text tokens.

It starts from an incomplete decision state and predicts every unresolved variable in parallel. Confident nodes freeze. Only the uncertain or mutually dependent are refined.

Compute follows uncertainty, rather than revisiting everything.

refinementexample

start [mask] [mask] [mask] … every node

100 decision nodes

pass 187 resolved pass 211 resolved constraint pass2 conflicts resolved

Dependencies

## Dependencies are explicit.

Fully parallel does not mean independently wrong. A Decision Program is a graph.

Independent branches resolve together. Dependent branches resolve when the evidence they need is available.

The depth of inference follows the dependency graph, not the number of decisions. A ten-thousand-node program does not mean ten thousand serial model calls.

program graph

fault ─────┬──▶ action

└──▶ readiness

severity ─────▶ human_review

Types

## Decisions are typed.

Kai does not write a paragraph and leave software to work out what it meant.

choiceexample

Which subsystem is responsible?

bearing.91gearbox.05unknown.04

scoreexample

Operational risk

0.011.022.063.184.515.22

predicateexample

Is human approval required?

yes.97no.03

deferexample

When evidence does not support a safe decision,

not deciding is an answer.

decision_readyfalsereasoninsufficient evidencerequired_evidencevibration-spectrum

Scale

## A million choices should still be a choice.

Flat classifiers degrade when every option has to fit inside one prompt. Kai separates discovery from judgment.

Candidate representations compile once with a Decision Program and are reused. That makes large tool catalogs, repositories, knowledge graphs and acquisition alternatives tractable, without showing every option to a frontier language model.

large choiceexample

1,000,000 candidates

↓ semantic retrieval

top 64

↓ kai reranking

top 8

↓ joint refinement

1

Specialists

## One model should not pretend to be every model.

Kai is the decision layer. Specialists remain specialists.

A forecasting model forecasts. A vision model perceives. A solver satisfies hard constraints. A policy engine determines what is permitted. Kai decides across their evidence.

hanzo decision

hanzo decision

└─ kai decision state

├─ zen reasoning

├─ ts forecasting

├─ graph structure

├─ vision perception

├─ audio speech · signal

└─ solver math

policy authority

Package

## From perception to a Decision Package.

Consider a vehicle under evaluation.

vehicle-17 · evaluationexample

- camera inspection
- thermal video
- radar
- CAN telemetry
- vibration
- operator audio
- maintenance history
- SysML architecture
- simulation results
- requirements

↓decision program↓kai↓policy + solver↓human approval↓decision package

The result is not just an answer. It is a reproducible record of how the answer was reached.

Programs

## Decision-as-a-program.

A Decision Program makes the structure explicit.

A program can combine deterministic calculations, Kai judgments, Zen reasoning, graph queries, simulations, forecasts, formal solvers and human approvals.

The model is part of the program. It is not the program.

power-system-selection.yamlexample

decision: power-system-selection

version: 7

objectives:

- mission_range

- reliability

- maintainability

options:

- architecture_a

- architecture_b

- architecture_c

constraints:

max_mass: 480kg

delivery: <= 18 months

assumptions:

supplier_lead_time: 22 weeks

risks:

- battery_availability

- thermal_margin

approvals:

- engineering

- acquisition

Sensitivity

## Ask what flips the decision.

A useful decision system tells you more than what it prefers. It tells you where that preference stops being true.

Kai and Hanzo Decision run sensitivity and counterfactual evaluation against the same versioned program. No new prompt. No hand-rewritten trade study.

power-system-selection · sensitivityexample

baselineArchitecture Abattery cost +11%A remains preferredbattery cost +17%A → Bmass limit −4%A remains preferredmass limit −8%A → C

Versions

## Decisions that live longer than a meeting.

Evidence changes. Requirements change. Suppliers change. Models change. The Decision Program remains.

Hanzo records what evidence changed, which assumptions changed, which nodes recomputed, which boundary was crossed, why the result changed and who approved the new one.

A trade study becomes a decision system you can refresh.

power-system-selection · historyexample

version 14 Architecture A

↓ new reliability evidence

version 15 Architecture A

↓ mass requirement changed

version 16 Architecture B

Replay

## Replay it.

Every Decision Package can preserve:

- program version
- input snapshots
- evidence hashes
- provenance
- model revisions
- Kai checkpoint
- calibration revision
- solver state
- policy result
- probability distributions
- human overrides
- approval state
- execution trace

The question is not “What did the AI say?” It is “Can we reproduce the decision?”

Business

## Autopilot for business.

Most of a business’s work is bounded decisions, followed by generation and execution.

Kai decides who, what, when and through which channel: enrichment, lead fit and intent, next action, offer, cadence, human handoff, and when to stop. It personalizes recommendations over the product graph.

Zen writes the message. Enso runs the workflow and routes each step to Kai, or to Zen when generation is the work or Kai defers. Policy decides whether contact is permitted: consent, opt-outs, caps, quiet hours and jurisdiction.

Configured natively in Hanzo Cloud, with signals from Hanzo Analytics, Insights and Commerce. Each program (marketing.*, sales.*, commerce.*) is measured by its own outcomes and tested in shadow before it acts.

[Analytics](https://hanzo.ai/analytics)[Insights](https://hanzo.ai/insights)[Commerce](https://hanzo.ai/commerce)

sales.lead@4example

sales.lead@4 →

intent4fit5timingnownext_actiondemo

Agents

## Built for agents.

The same primitive controls Hanzo’s own agent runtime.

Generative reasoning is reserved for the work that actually requires generation. Control becomes a typed system.

agent runtime · kai decides

which model?

which tool?

which file?

which skill?

how much context?

does this touch secrets?

should execution continue?

did the agent make progress?

does a human need to approve?

Physical systems

## Built for physical systems.

### Vehicles

Readiness, diagnostics, trade studies and maintenance.

### Robotics

Perception-conditioned actions and safety escalation.

### Manufacturing

Process state, anomalies, inspection and intervention.

### Aerospace

Telemetry, digital engineering and configuration decisions.

### Energy

Forecasting, equipment state and operational decisions.

### Infrastructure

Sensors, simulations, risk and long-horizon planning.

One decision abstraction. Different evidence.

Deployment

## Built to run where the evidence lives.

Decision evidence does not need to leave the infrastructure that owns it. Kai extends Hanzo’s operating plane with decision intelligence.

- Hanzo Cloud
- Your cloud
- Your Kubernetes
- Your GPU
- On-prem
- Disconnected environments

Results

## Kai, against Laya and Jev.

The top mean accuracy across 11 application suites.

[85.2% ### Mean accuracy, 11 application suites Jev 77.0% · Laya 70.2%](#kai-harness)[7 of 12 ### Suites won outright DAIR Emotion, Banking77, Phishing, Toxicity, RAG relevance, Model routing, MASSIVE, 51 languages](#kai-harness)[7 · 1 · 4 ### Suites won, tied, behind behind by points on AG News -0.7, Support triage -6.0, Jailbreak -2.0, Typed decisions -0.7](#kai-harness)[51 of 51 ### MASSIVE languages above Laya macro accuracy 90.9% against 38.2%](#kai-languages)

Laya is the upstream kai-1 weights, served natively. Jev is typesafe/jev-1.13-20260917 through OpenRouter.

the frozen decision harness

Accuracy

Calibration error (ECE)

Suite

Kai

Laya

Jev

Kai

Laya

Jev

AG News

94.3%

95.0%

86.0%

0.034

0.032

0.102

DAIR Emotion

93.5%

59.5%

60.3%

0.019

0.306

0.280

Banking77

90.8%

42.5%

83.5%

0.076

0.381

0.073

Support triage

44.3%

50.2%

36.5%

0.441

0.091

0.483

Email spam

99.8%

99.8%

97.8%

0.003

0.011

0.060

Phishing

99.0%

98.3%

90.0%

0.010

0.010

0.039

Jailbreak

92.0%

70.5%

94.0%

0.072

0.262

0.047

Toxicity

80.3%

53.0%

66.3%

0.191

0.297

0.177

RAG relevance

67.5%

62.5%

62.0%

0.029

0.117

0.279

Model routing

100.0%

63.9%

97.7%

0.000

0.089

0.014

Typed decisions

75.9%

76.6%

73.6%

0.172

0.213

0.047

MASSIVE, 51 languages

90.9%

38.2%

89.0%

0.060

0.418

0.064

Mean, 11 suites

85.2%

70.2%

77.0%

0.095

0.164

0.145

11 application suites and MASSIVE intent in 51 languages, the same questions to all three. Laya answers typed decisions on the checkpoint it ships for them.

Source: [api.hanzo.ai/v1/research/runs?org=hanzo · harness · Kai a7@0834a74f · harness a1a4a73](https://github.com/hanzoai/benchmarks/tree/a1a4a73d524cecf8038e30c408ad30b66e71d490/decision)

Every language

massive intent, by language

Accuracy

Language

Kai

Laya

Jev

Afrikaans

91.0%

34.0%

87.0%

Amharic

85.0%

15.0%

85.0%

Arabic

92.0%

46.0%

87.0%

Azerbaijani

94.0%

36.0%

88.0%

Bangla

92.0%

45.0%

86.0%

Welsh

86.0%

16.0%

76.0%

Danish

92.0%

46.0%

88.0%

German

91.0%

53.0%

93.9%

Greek

94.0%

44.0%

94.0%

English

94.0%

82.0%

92.0%

Spanish

92.0%

53.0%

93.0%

Persian

94.0%

51.0%

95.0%

Finnish

92.0%

30.0%

89.0%

French

91.0%

60.0%

90.0%

Hebrew

91.0%

37.0%

94.0%

Hindi

91.0%

46.0%

95.0%

Hungarian

90.0%

34.0%

92.0%

Armenian

89.0%

25.0%

84.0%

Indonesian

96.0%

36.0%

93.0%

Icelandic

85.0%

33.0%

84.0%

Italian

91.0%

47.0%

96.0%

Japanese

97.0%

64.0%

97.0%

Javanese

89.0%

16.0%

75.0%

Georgian

83.0%

15.0%

88.0%

Khmer

84.0%

20.0%

81.0%

Kannada

91.0%

30.0%

87.0%

Korean

91.0%

47.0%

94.0%

Latvian

89.0%

30.0%

85.0%

Malayalam

87.0%

28.0%

91.0%

Mongolian

88.0%

16.0%

84.0%

Malay

93.0%

27.0%

92.0%

Burmese

92.0%

16.0%

89.0%

Norwegian Bokmål

94.0%

50.0%

86.0%

Dutch

92.0%

40.0%

90.0%

Polish

94.0%

47.0%

92.0%

Portuguese

93.0%

44.0%

90.0%

Romanian

91.0%

37.0%

94.0%

Russian

97.0%

57.0%

94.0%

Slovenian

91.0%

33.0%

89.0%

Albanian

93.0%

29.0%

76.0%

Swedish

93.0%

48.0%

94.0%

Swahili

84.0%

13.0%

70.0%

Tamil

88.0%

31.0%

92.0%

Telugu

87.0%

22.0%

91.0%

Thai

93.0%

48.0%

94.0%

Filipino

91.0%

30.0%

85.0%

Turkish

90.0%

41.0%

92.0%

Urdu

90.0%

42.0%

90.0%

Vietnamese

91.0%

33.0%

89.0%

Chinese (China)

94.0%

65.0%

94.0%

Chinese (Taiwan)

95.0%

61.0%

93.0%

Twenty intents to choose from, a hundred utterances per language.

Source: [api.hanzo.ai/v1/research/runs?org=hanzo · harness · Kai a7@0834a74f · harness a1a4a73](https://github.com/hanzoai/benchmarks/tree/a1a4a73d524cecf8038e30c408ad30b66e71d490/decision)

what a decision model can do

Measure

Kai

Laya

Jev

Choosing among many options

Accuracy, 4 options

–

77.8%

90.5%

Accuracy, 16 options

–

67.0%

85.3%

Accuracy, 77 options

–

42.5%

84.3%

Accuracy, 150 options

–

61.0%

94.0%

Accuracy, 1,000 options

–

0.0%

0.0%

Accuracy, 10,000 options

–

0.0%

0.0%

Accuracy, 100,000 options

–

0.0%

0.0%

Refused, 1,000 options

–

100.0%

100.0%

Refused, 10,000 options

–

100.0%

100.0%

Refused, 100,000 options

–

100.0%

100.0%

Five dependent questions on one state

Accuracy

–

33.6%

83.7%

All five right

–

0.5%

43.8%

Answers that break a rule

–

63.7%

24.8%

Accuracy, projected onto the rules

–

32.8%

87.9%

All five right, projected

–

4.0%

56.0%

Invariance

Answer changes when the options are reordered

–

25.5%

6.0%

Largest probability shift under reordering

–

0.996

0.470

A yes/no with its sides swapped: answer mirrors

–

20.5%

6.3%

A yes/no negated: answer mirrors

–

30.0%

88.3%

Sensor evidence, accuracy

Human activity, UCI HAR

–

20.3%

15.3%

Turbofan remaining life, C-MAPSS

–

17.0%

30.0%

Valve sound, MIMII

–

50.0%

84.0%

Conformal prediction sets at a 90% target

Coverage

–

90.1%

90.1%

Mean set size

–

6.801

1.304

Programs and deployment

Questions re-asked after one evidence change

–

100 of 100

100 of 100

Runs offline

–

yes

no

Self-hosted

–

yes

no

Evidence leaves the machine

–

no

yes

Pinned by

–

weights sha256

model name

The same cases to all three. Laya and Jev answer each question on its own; Kai refines dependent questions over three passes. Kai a7@0834a74f has no capability run yet, so no Kai figure shows here.

Source: [api.hanzo.ai/v1/research/runs?org=hanzo · capability · Kai a7@0834a74f · harness a1a4a73](https://github.com/hanzoai/benchmarks/tree/a1a4a73d524cecf8038e30c408ad30b66e71d490/decision)

latency of one decision

Serving mode

Device

Dtype

p50 ms

p95 ms

p99 ms

Cold encode

ROCm

BF16

19.8

29.0

–

Incremental encode

–

–

–

–

–

Cached decision

–

–

–

–

–

Kai a7@0834a74f, one decision a call, timed on a production accelerator. A mode with no CUDA or ROCm measurement shows as absent; nothing here is projected.

Source: [api.hanzo.ai/v1/research/runs?org=hanzo · latency · Kai a7@0834a74f · harness a1a4a73](https://github.com/hanzoai/benchmarks/tree/a1a4a73d524cecf8038e30c408ad30b66e71d490/decision)

Research

## Research, not magic.

Kai is benchmarked against the systems it descends from and the ones it competes with, on the same questions, and every table above reproduces from the harness commit under it.

research tracks

- 01Extreme-cardinality decisionsFrom tens of candidates to hundreds of thousands.
- 02Multilingual decision intelligenceConsistent decisions across languages, rather than translation-first inference.
- 03Shared-state decodingEncode the evidence once and resolve many questions against it.
- 04Decision diffusionParallel structured inference with selective refinement.
- 05Multimodal evidenceSensors, video, audio, time series, graphs and engineering models.
- 06Calibration and abstentionKnowing when the evidence is insufficient.
- 07Decision graph consistencyMaking many locally plausible decisions globally coherent.

[Read the specification, HIP-1332](https://github.com/hanzoai/hips/blob/main/HIPs/hip-1332-kai-the-decision-model.md)

Kai + Zen

## They solve different problems.

generation · decision

zenkaiWhat should the implementation look like?Which implementation satisfies these constraints?

Explain the evidence.Is the evidence sufficient?

Generate a test plan.Which test should execute next?

Reason about the alternatives.Which decision state follows?

Generation and decision are complementary computational primitives. They should not be forced into the same model call.

The stack

## Zen generates. Enso routes. Kai decides.

- routesEnsoA Hanzo AI original · proprietaryEnso 1 is the agentic model with the learned router. On every call — text, vision, audio, video, sensors, and the rest — it picks the kind and the type: Zen 6 to write, Kai 1 to decide, or another open or closed frontier model.one route for every modalityExplore Enso →
- generatesZenZen LM · Zoo Labs Foundation · open weightsZen LM is from Zoo Labs Foundation, a 501(c)⁠(3) non-profit: open-weight models for agentic coding on your own machine and for marketing work, across text, vision, audio, and video. Self-host it, or run it on Hanzo Cloud.Zen 6 and Zen 6 Flash now · Zen 7 research previewExplore Zen →
- decidesKaiA Hanzo AI original · proprietaryThe decision and control models. Given explicit state and a listed question, Kai 1 returns a calibrated choice, score, or abstention. The coding agent calls it for the model, the context, the tools, the reasoning budget, and the stop. Hanzo Bot and Hanzo Team call it the same way.more Kai, less latency, less spendThis page

Policy governs. A model’s verdict can tighten a call and never loosen it.

API

## Kai is exposed through Hanzo Decision.

One endpoint, POST /v1/decisions: a program, the evidence it reads, and typed answers back.

Kai returns a choice, not a completion. The example below is the shape of the call.

POST /v1/decisionsexample

POST /v1/decisions

{

"model": "kai",

"program": "vehicle.readiness@3",

"evidence": [

"sensor://vehicle-17/can",

"video://inspection-382",

"sysml://vehicle-17",

"graph://maintenance-kg"

]

}

→

{

"decision": "dec_01…",

"answers": {

"readiness": { "value": "no-go", "probability": 0.96 },

"human_review": { "value": true, "probability": 0.99 }

}

}

Open

## Open research. Open runtime.

Kai builds on open research in typed decision models and evolves it into Hanzo’s native multimodal Decision runtime. Weights, benchmarks and runtime components are published as they reach reproducible release gates.

Run Kai through Hanzo Cloud. Run it on your own infrastructure. Study the benchmark. Fork the runtime.

## Stop asking one model to do everything.

Reason with Zen. Perceive with specialist models. Forecast with temporal models. Verify with solvers. Govern with policy. Decide with Kai.

One decision plane over every kind of evidence.

[Try Hanzo](https://hanzo.ai/login)[Explore Hanzo Decision](#api)
