When the answer has a type, don’t generate text. Decide.
Kai turns your state and a question with known options into a calibrated probability for every option — not a paragraph you have to parse.
View benchmarks →Different computation for different jobs
Language models write. Kai decides.
Ask a writer for a decision and you get prose, then a parser, a retry and a guess at the schema. Ask Kai and the answer is already the type you asked for.
Zen is part of the same system. Reason with Zen; decide with Kai.
Typed answers
Ask in the shape of the answer.
Three question types. Each answer carries its probabilities, so software knows how sure to be.
Sensitivity
See what changes the answer.
A bounded decision has edges. Move the evidence or the risk and watch the answer cross the line — and read the smallest change that would cross it.
Know what would change the answer before you act on it.
Incremental
Only what the evidence touches recomputes.
Switch a source off. The decisions that read it wake and settle again; the rest stay quiet. Compute follows uncertainty.
Example: a scripted scenario, not model output. Switch a source off and only the decisions that read it run again.
Decision Programs
Decisions become programs.
One question becomes many: evidence, code, Kai’s questions, Zen’s prompts, solvers and human approvals, wired into a versioned graph.
The program library ships today. Sending a whole program in one call is being built.Reproducible
Every decision leaves a record.
Each answer names the checkpoint that gave it and a hash of the state it saw. Run the same state again and you know you asked the same question of the same model.
Decision Packages bundle a program’s whole run — inputs, answers, probabilities, policy and result — for replay. The library ships today.Authority
Kai recommends. Policy governs.
A probability is advice. Your policy, written as code, keeps the authority — and a person signs where it says one must.
Results
Kai beside Jev, on the same questions.
Calibration
Confidence you can act on.
“Approve” at .51 and “approve” at .99 pick the same option. Only one should ship without a second look — so a decision model has to be right about how sure it is.
The answer is the distribution. There is nothing to generate.
Agents
Agents need decisions more often than prose.
Most of an agent’s steps are choices among known options. Each is one call, with its probability, and no prose to parse.
Hanzo Dev asks Kai where to fix, what to do next and whether the work is done.One system
Reason with Zen. Decide with Kai.
Neither replaces the other. Zen writes what could be done; Kai says what should be.
Status
What ships today.
The model and the call are live. The decision plane around them is being built — in the open, and marked as such.
API
One endpoint for decisions.
Name the questions, give the options, send the state. Kai answers each one with a choice and the probability of every option.
In the SDKs it is post_decisions in Python and postDecisions in TypeScript. Hold a state once with observe, then decide over it by handle.Architecture
Built to score options, not write sentences.
Kai scores every option against the state with an encoder, not a decoder. The scores become one calibrated distribution. Nothing is generated, so nothing has to be parsed. It is one forward pass on a CPU you can run yourself, so a decision need never leave your network, and the same request gives the same answer every time.
Use it for
Any question with a known set of answers.
Routing, triage, safety, approvals, agent control. If you can list the options, Kai can weigh them.
Read
The model, the runs, the specification.
One model, the questions it is scored on, and the writing.