Sage / The decision model

The AI model
for agents.

Your software decides, ranks and routes with frontier-model judgment, in milliseconds, with a calibrated confidence score to branch on.

An engraved classical portrait dissolving into blue computational marks.

The problem

LLMs are built for humans.

01

Machines need decisions, not paragraphs

Chat models return prose. Code needs an answer it can branch on.

02

Seconds are too slow

An agent loop or a checkout can't wait two seconds for an essay.

03

Sure, even when wrong

Without a confidence score, you trust everything or nothing.

The missing primitive

LLM intelligence at classifier speed, with a confidence score.

Fast enough for the hot path, smart enough to read a system prompt, honest enough to say “I don’t know.”

See it decide

Real decisions, replayed from the API.

Model routing
content inPOST /decide
"kind": "choice"
Route this prompt to the cheapest model that can still answer it well.
options: gpt-5.6-luna (cheapest) · gpt-5.6-terra (mid) · gpt-5.6-sol (flagship)
decision out
waiting for content…
if result.probability >= 0.85 …
≥ 0.85Sent to the cheapest model
< 0.85Falls back to the flagship

Run any scenario live in the console.

How it works

Content → Decision + Confidence

Sage answers closed-ended questions instead of writing text.

  1. 1

    Send content + a question

    Any text or list. Put your policy in the instructions.

  2. 2

    Get a typed decision

    An answer field your code can switch on, with a 0–1 probability.

  3. 3

    Route on confidence

    Act when Sage is sure. Send the rest to a human.

import os, httpx

resp = httpx.post(
    "https://sage.levanto.ai/decide",
    headers={"Authorization": f"Bearer {os.environ['SAGE_API_KEY']}"},
    json={
        "content": document,
        "question": {"id": "review", "kind": "yesno",
                     "instructions": "Needs compliance review?"},
    },
)
answer = resp.json()["result"]["answer"]

if answer is None:
    escalate_to_human(document)          # not sure? a human decides
elif answer == "yes":
    send_to_compliance(document)
else:
    send(document)

Agent-native install

Don’t integrate it. Let your agent do it.

Paste one prompt into Cursor or Claude Code.

  1. 1

    Paste the prompt

  2. 2

    The agent installs the skill

  3. 3

    It finds where Sage fits

Download the skill ↓

levanto-sage-decide.SKILL.md. Drop it in .cursor/skills/ or .claude/skills/

You now have access to Levanto Sage, a decision-model HTTP API that turns content + a question into a structured, machine-actionable decision (Yes/No, Choice, Scale, Sort, Tags). For Yes/No, Choice, and Tags, an uncertain answer is null.

1. Install the skill so you know the full API contract:

   mkdir -p .cursor/skills && curl -fsSL "https://platform.levanto.ai/api/intelligence/skill" -o .cursor/skills/levanto-sage-decide.SKILL.md

   (If you use Claude, put it in .claude/skills/ instead.)

2. Set my Levanto API key as the SAGE_API_KEY environment variable. If I don't have one yet, pause and tell me to create one at https://platform.levanto.ai (there is a free plan; paid plans start at $14/mo).

3. The endpoint is https://sage.levanto.ai. POST /decide with the header `Authorization: Bearer $SAGE_API_KEY`.

4. As a first call, make this decision:

   {
     "content": "Marketing email draft promotes \"guaranteed 40% returns\" and describes the product as \"risk-free\" for accredited investors.",
     "question": { "id": "needs_review", "kind": "yesno", "instructions": "Does this copy require compliance review before send?" }
   }

Read the skill for the response shape. Then explore this repository: find places where we already make judgment calls with brittle rules, heuristics, or a slow LLM call (moderation, triage, routing, risk, tool gating, ranking, etc.). Propose 2–3 concrete insertion points, pick the strongest one with me, wire it through /decide, and route on the typed result. For Yes/No, act on yes or no and send null to a human. The skill lists each kind's fields.

Every closed-ended question your product asks

One API, five answer shapes.

Q: Is this transaction likely fraudulent?
→ { "answer": "yes", "probability": 0.94 }

Sage 1.4 vs Jev 1.13.0

More than yes or no.

Question kindsYes/NoChoiceScaleSortTagsNoul (yes/no)ChoiceScore
ReasoningSystem 1 + System 2System 1 only
ImagesYes (beta)

Fast when fast is enough. Thinking when it isn’t.

QUESTIONcontent + questionSYSTEM 1 · QUICK ANSWERwith a probability≈ 50–150 msHARD?SYSTEM 2 · THINKS IT THROUGH≈ 1 syes

The hot path

Three models, one question.

“May support auto-fulfill an export request today by email, without Owner approval or a DSAR?”, replayed in real time. Logs

Sagelevanto-sage-v1
0ms
deciding…
Claude Opus 4.8flagship reasoning, JSON-only prompt
0ms
streaming…
Claude Haiku 4.5fast tier, JSON-only prompt
0ms
streaming…

Recorded run, 2026-07-23.

Run it yourself · start free
~200 ms
Typical latency
vs 1.5–2 s for a chat LLM
Free
To start
Plans on /pricing
0–1
Calibrated confidence

Use cases

Where teams point Sage

Agent workflows

Gate tool calls and route between models inside the agent loop.

Support triage

Route tickets, score urgency, auto-approve the clear cases.

Moderation

Tag spam, scams and policy violations at feed speed, with your own rules.

Risk & fraud

Judge transactions inline; only suspicious ones stop.

Data pipelines

Tag, score and sort records in batch, with no classifier to train.

Recording notes +

Six local demonstrations, built around recorded Sage responses. Five-second edits compress the story; playback speed is not model latency.

Sage acts / Commerce

A browser agent reads a refund request, asks Sage, and executes an approved refund in a local merchant app. Other requests are declined or sent for human review. No real payments are made.

Watch the recording ↗

Sage protects / Agent guardrails

An injected prompt proposes sending a customer file outside the organization. Sage flags the action and the local release gate blocks it. The input and environment are synthetic.

Watch the recording ↗

Sage decides / Markets

Sage chooses LONG from a scenario post and historical prices available at that moment. The UI then replays a paper position over subsequent real prices. This curated profitable episode is not a backtest or a live trade.

Watch the recording ↗

Sage sees / Agriculture

A simulated survey acquires 18 tracks and highlights three inspection candidates. Sage assesses an image and requests a closer pass on one animal. The imagery, telemetry and scan are simulated; red marks inspection priority, not a diagnosis.

Watch the recording ↗

The home-page animation is an illustration: its 100 ms is not a measurement, and its code-generation scenes are concepts.

An engraved blue sea and mountain landscape under a rising sun.

Intelligence, at runtime