## Large Language Models (LLMs)

Large language models (LLMs) are designed to produce text for humans to read. When you need a model to make a judgment that your code will consume, that creates a mismatch: you are coercing a text-generation system into outputting structured decisions, then parsing the results back into something your code can depend on. Jev is TypeSafe’s flagship model and the first [System One model](https://docs.typesafe.ai/concepts/system-one). System One models are built to make fast, structured decisions that software can use directly. Jev evaluates typed _questions_ against a _state_ and returns structured results directly. No text generation, no parsing. You get typed values and probability distributions that your code can branch on, sort by, and route with.

## TypeSafe Primitives

TypeSafe exposes three _AI primitives_. Similar to software primitives, our AI primitives are modular, composable, structured, reliable, and fast. Each asks a different type of _question_ and returns a different type of answer.

| Question type | Goal | Returns |
| --- | --- | --- |
| [Choice](https://docs.typesafe.ai/primitives/choice) | Choose an option from a list | `choice`, `probabilities`, `confidence` |
| [Score](https://docs.typesafe.ai/primitives/score) | Score the state on a rubric | `score`, `probabilities`, `confidence` |
| [Noul](https://docs.typesafe.ai/primitives/noul) | Is this statement true? | `noul` (0–1) |

All three _question_ types can be mixed in a single API call. Every _question_ is evaluated in parallel and in isolation against the same _state_ in one go. Adding questions barely changes the response time. Each question is evaluated independently, so adding more questions does not create context-rot.

## Atomic Questions, Composed in Code

System One models work best when each question asks one specific, well-scoped thing. Think of each question as a gut-check determination: the kind of judgment a highly knowledgeable person could make in a few seconds given the right context. If the question you want to ask would require extended reasoning or weighs multiple independent factors, decompose it. Ask each factor as a separate question, then combine the results with logic in your code. This keeps each individual evaluation reliable and gives you full control over how dimensions are weighted. For example, instead of “rate this startup pitch,” ask separately about market size, technical feasibility, and differentiation. Combine the scores with your own formula. When priorities shift, change a coefficient in your code rather than rewriting a prompt.

## Next Steps

- [Quick Start](https://docs.typesafe.ai/introduction/quickstart) — Everything you need to get started immediately.
- [AI Primer](https://docs.typesafe.ai/introduction/machine-learning-primer) — Why TypeSafe trains models for calibrated decisions instead of generated text.
- [Primitives (Questions)](https://docs.typesafe.ai/primitives) — How to define questions, choose between Choice, Score, and Noul, and ask several at once.
- [Confidence](https://docs.typesafe.ai/confidence) — How TypeSafe reports certainty, and how to use it architecturally.
- [Patterns](https://docs.typesafe.ai/patterns) — Common patterns for building systems with TypeSafe.
