Jev: o que é e como trabalhar com ele

Guia prático do primeiro modelo System One da TypeSafe · para @aizvestia · setembro de 2026

🤖 Módulo para agentes de código
Install the TypeSafe skill. If you're in Claude Code, run `claude plugin marketplace add typesafe-ai/skills`, then `claude plugin install typesafe@typesafe-ai`. If you're in another agent, run `npx skills add typesafe-ai/skills --skill typesafe-ai` and select your agent. Use one installation method. You can read the skill directly at https://github.com/typesafe-ai/skills/blob/main/skills/typesafe-ai/SKILL.md (raw: https://raw.githubusercontent.com/typesafe-ai/skills/main/skills/typesafe-ai/SKILL.md). Then use the TypeSafe skill when working on this project.

O que é

Jev é o primeiro modelo público System One da TypeSafe. Não é um modelo de chat nem 'mais uma LLM com modo JSON': Jev não gera texto nenhum. Você envia um state (contexto: texto, JSON ou array) e uma lista de perguntas tipadas, e recebe decisões de máquina: a opção escolhida, uma nota numa escala ou a probabilidade de um 'sim' - mais a distribuição de probabilidades e o confidence de cada resposta. Os criadores resumem numa frase: 'smart if-statements' - if-else inteligentes para o seu código. O exemplo mais claro é o e-mail: o Jev passa por cada mensagem e decide 'spam, 94% de certeza', 'precisa de resposta', 'pode esperar'. Ele não escreve nada - só classifica: 1.700 e-mails por 18 centavos.

O nome System One vem de Kahneman ('Rápido e devagar'): o modelo é feito para julgamentos intuitivos rápidos, não para raciocínio lento. Detalhe curioso: o cofundador da TypeSafe, Diogo Almeida, é co-inventor do RLHF - o método com que o ChatGPT foi treinado. Agora ele aposta que automação precisa de outro método de treino.

O que é

Como difere das 'coisas anteriores'

O pós-treino de modelos de linguagem passou por três abordagens:

   
RLHF
ChatGPT e todos os chatbots
modelos cujas respostas agradam as pessoaspuxa-saquismo, alucinações confiantes, mode dropping - a distribuição de respostas estreita
RLVR
modelos de raciocínio
fortes em matemática, xadrez, cadeias longaslentos e caros
RLCD
Reinforcement Learning for Calibrated Decisions - o método da TypeSafe
decisões com probabilidades calibradasnão escreve texto, fraco em System 2

A graça da calibração: quando o modelo diz 0.8, numa série longa ~80% dessas respostas estarão certas. A probabilidade vira um número em que dá para construir lógica.

Diferença prática de uma LLM 'obrigada' a cuspir JSON:

As três primitivas

As três primitivas
    
ChoiceQual opção?choice + probabilities + confidenceroteamento de tickets: billing / technical / sales
ScoreQual nível na escala?score (pode ser fracionário) + probabilities + confidencefrustração do cliente: 0 = calmo, 2 = furioso
NoulIsto é verdade?noul: probabilidade de 'sim' de 0 a 1'o cliente quer reembolso?' - 0.95

Detalhes que economizam horas:

Começando em 5 minutos

0. Sem fila de espera: o Jev já está no Vercel AI Gateway como typesafe-ai/jev ($0.042/1M tokens de entrada) - se você usa Vercel, chame direto pelo pacote ai, sem waitlist da TypeSafe. Também no OpenRouter: ~typesafe/jev-latest (API compatível com OpenAI).

1. Playground. Abra console.typesafe.ai/playground, cole qualquer texto como state, adicione perguntas e clique em Run. (A entrada te recebe com um quiz 'Dá para conversar com o Jev?' - a resposta certa é No.)

2. API direto. Pegue a key no console; é um endpoint só:

curl -X POST https://api.typesafe.ai/v1/systemone \
  -H "Authorization: Bearer $TYPESAFE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "state": "Trying to connect my Stripe for 3 days, keeps failing. Help ASAP.",
    "model": "jev-latest",
    "questions": {
      "department": {
        "type": "choice",
        "instructions": "Which team should handle this",
        "criteria": {
          "billing": "Payment or subscription issues",
          "technical": "Bugs or integration problems"
        }
      },
      "is_urgent": { "type": "noul", "instructions": "The message conveys urgency" }
    }
  }'

Na resposta, cada pergunta traz o valor escolhido, as probabilidades de todas as opções e o confidence.

3. SDK Python (3.10+): o cliente lê TYPESAFE_API_KEY sozinho e chama jev-latest por padrão:

pip install typesafe-sdk
from typesafe_sdk import Choice, Noul, Score, TypeSafeClient

client = TypeSafeClient()
response = client.system_one(
    state=ticket,
    questions={
        "department": Choice(
            instructions="Which team should handle this",
            criteria={
                "billing": "Payment or subscription issues",
                "technical": "Bugs or integration problems",
            },
        ),
        "is_urgent": Noul(instructions="The message conveys urgency"),
    },
)
print(response.answers["department"].choice)   # "billing"
print(response.answers["is_urgent"].noul)      # 0.999

Para JS há @typesafe-ai/sdk, e para agentes (Claude Code, Codex etc.) uma skill pronta: npx skills add typesafe-ai/skills --skill typesafe-ai. A skill ensina os agentes a mandar perguntas em lote - agentes adoram gastar uma request por pergunta.

Quatro padrões principais

  1. Speculative fan-out. Todas as perguntas que compartilham um state vão numa única request, incluindo as 'especulativas' que nem sempre você precisa. Uma pergunta extra custa centavos e o tempo de resposta quase não muda. Cookbook da TypeSafe: 13 perguntas numa chamada são ~12x mais baratas e ~10x mais rápidas que 13 chamadas, com as mesmas respostas.
  2. Confidence-gated routing. A resposta diz 'o quê'; o confidence diz 'se deve agir'. Três zonas: alta - aja automaticamente; média - confirme ou marque para revisão; baixa - escale para um humano ou modelo de raciocínio. Os limiares dependem do risco: mostrar a tela errada dá com 0.6; executar um pagamento, só com 0.9+.
  3. Composite scoring. Quebre um julgamento complexo em Scores atômicos e combine com pesos no código. Prioridade do ticket = severity * 0.5 + frustration * 0.3 + actionability * 0.2. Prioridades mudaram? Ajuste um coeficiente, sem reescrever o prompt.
  4. Intent routing. Classifique a requisição recebida e roteie: código determinístico, modelo barato, modelo de raciocínio caro ou humano.
Quatro padrões principais

Preços e limites (jev-1.13.0)

Pontos fracos (honestamente, dos docs deles)

jev-1.13 tem uma página pública de 'jaggedness' - uma lista honesta do que o modelo não sabe fazer:

Onde aplicar

RAG rerankLLM guardrailscitation checkjailbreak detectticket routingmoderationcomplianceML featurescatalog matchingresume scoringlead scoring

Exemplo vivo: um terminal BUY/SELL/HOLD de Bitcoin sobre Jev - jev-terminal.vercel.app. A API devolve probabilidades honestas e a decisão chega numa fração de segundo.

Outro exemplo - UI generativa instantânea: o experimento json-render + jev - o Jev escolhe entre seus componentes, ações e design system, e a interface renderiza em milissegundos.

Links

Teste o Jev aqui mesmo

Edite a mensagem, marque as perguntas e clique em Run - quem responde é um jev-latest de verdade.

2 · Perguntas e espaço de respostas
Which team should handle this support message
billingPayment or subscription issues
technicalBugs or integration problems
salesPricing or account questions
How frustrated the customer appears
0Calm, just stating facts
1Frustrated but civil
2Very angry, strong language
The message conveys urgency or time-sensitivity
yesprobability that the statement is true

As chamadas passam por um proxy serverless: state de até 2.000 caracteres, ~30 requisições por minuto. A chave vive num env do Vercel e nunca chega ao navegador.