Skip to content
Token reduction

Cut Claude Code token spend: decide cheaply first, generate only when it pays.

Most wasted tokens in an agent session are decisions made by generation: which model, which skill, whether to run this command, whether the task is finished. Each is a typed question a small calibrated model answers in one forward pass for a fraction of a cent — or for nothing, self-hosted.

In development — the benchmark numbers on this page are measured; the Decide-1 model is in training.

The problem

Wrong skills get loaded

TypeSafe’s own study on 488 requests: wrong-skill loads fell from 16.8% to 7.3% and loads-when-nothing-fit from 9.8% to 4.0% with a ranking pass in front of the agent.

Premature “done”

An agent that declares completion too early costs a retry of the whole loop. A continue / retry / ask_user / done decision after each step is cheaper than the loop.

Frontier tokens on trivial turns

See routing: the majority of turns can be served a tier down without a quality change.

How it works with Decide
  1. 1

    Rank skills before loading them

    Choice over the skill roster (up to 255 options) plus a noul “does any skill apply?”. Load the top one only when p > 0.6.

  2. 2

    Gate tool calls

    A PreToolUse hook asks three nouls — destructive? touches credentials? outside the task? — and blocks, confirms or allows.

  3. 3

    Check completion

    After each step: choice over continue / retry / change_approach / ask_user / done, biased to continue unless done is a confident yes.

# .claude/hooks: PreToolUse → one noul-batch per tool call (~40 ms)
r = client.system_one(state=proposed_tool_call, questions={
    "destructive":   {"type": "noul", "instructions": "This command deletes or overwrites data."},
    "credentials":   {"type": "noul", "instructions": "This touches secrets or credentials."},
    "off_task":      {"type": "noul", "instructions": "This is unrelated to the current task."},
})
if max(a.noul for a in r.answers.values()) > 0.5:
    hold_for_confirmation()
  • Choice — pick one option, a probability on each
  • Noul — a calibrated yes/no probability
Something you can check

A hook decision is ~700–2,000 input tokens on hosted Jev (~$0.00002–0.00008 per call, per the jevwire project); self-hosted, the marginal cost is zero and the latency is the encoder’s forward pass.

Numbers about Jev are its authors' or the cited source's; numbers from the benchmark are ours, on one harness, with the raw JSON published. Full table.

Get early access — and tell us which decision you'd hand over first

We're building Metatext Decide with the first teams that use it. Leave your email, answer as much as you like, and say yes to a short interview if you want a say in what ships.

  • Early access to Decide as it opens up
  • A 20-minute interview if you want one — research, not a pitch
  • The benchmark harness and raw results, today
  • No spam — early-access updates only
Where do decisions happen in your stack today?
What kind of decisions?
Have you tried Jev?
What stops you using a hosted decision API?
Would you pay?
Open to a 20-minute interview?

Research, not a pitch — we want to hear how you decide today.

Early-access updates only. No spam, unsubscribe any time.

Questions

How much does this actually save?
Depends on your mix. The one published replay (jev-router, 237 turns) reports ~60% on model routing alone. We will publish our own numbers when the model ships.
Is the decision itself expensive?
No. A 400M-parameter encoder answers a batch of questions in one pass; on a laptop CPU that is a few hundred milliseconds.