▌system-one

~ / start

what is a system one model?

A System One model doesn't write text. You give it some state and a few typed questions, and it answers each one with a choice, a score, or a yes/no probability. Nothing to parse, and fast enough (tens to a few hundred milliseconds) to sit in front of a router, a classifier, a verifier or an agent's next step.

TypeSafe named the class after Kahneman's fast System 1 thinking, and Jev was the first one. Others now exist: open weights you can run yourself, hosted APIs from other labs, and replicas. Some people call them decision models. Same thing.

the three answers

  • choice: pick one option, with a probability for each.
  • score: a position on a scale you define, with a probability per step.
  • noul: a yes/no, as one probability.

one request

This is TypeSafe's own example of a request and its answer (API reference): route a support message.

curl https://api.typesafe.ai/v1/systemone \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "state": "Help! My payouts have been failing for 3 days.",
    "model": "jev-latest",
    "questions": {
      "department": {
        "type": "choice",
        "instructions": "Which team should handle this?",
        "criteria": {
          "billing": "Payments, invoicing, refunds",
          "technical": "Bugs, outages, integrations",
          "sales": "Pricing, upgrades, new accounts"
        }
      }
    }
  }'
{
  "model": "jev-1.13.0",
  "answers": {
    "department": {
      "type": "choice",
      "choice": "billing",
      "probabilities": { "billing": 0.88, "technical": 0.12, "sales": 0.0 },
      "confidence": 0.81
    }
  },
  "usage": { "input_tokens": 318, "output_tokens": 34 }
}

Every model that speaks this shape can be swapped in by changing the base URL and model name. The compare page lists which ones do.

when it fits

  • Routing a request to the right queue, tool or model.
  • Classifying, tagging or scoring text, screens or conversations.
  • Checking whether an agent's output is good enough to ship.
  • Picking the next action in a loop, with code doing the acting.

It is the wrong tool for writing, explaining or coding, and for anything that needs exact counting or date arithmetic. Keep that in code. TypeSafe publishes the failure modes in itsjaggedness notes.

picking one

  • Run it yourself or fine-tune: open weights, or the open implementations .
  • Just call an API: hosted models.
  • Keep an existing client working: drop-in API.
  • Images, audio or video in: multimodal.
  • Check the numbers first: benchmarks.
  • Building an agent or plugin: agents, tools, SDKs.

read more