Jev decide, LLM escreve: como dividir os papéis dentro de um agente de IA

diagrama mostrando o Jev decidindo e o LLM escrevendo dentro de um agente de IA
Resposta rápida

O Jev é o primeiro modelo público da classe System One da TypeSafe AI, lançado em early access em 15 de setembro de 2026. Ele não escreve texto: recebe um estado e perguntas tipadas e devolve decisões estruturadas com probabilidade e confiança, que o código usa pra ramificar, ordenar e rotear. A ideia do post é simples: dentro do seu agente, quem decide não precisa ser quem redige. O Jev cuida dos sim/não, das escolhas e das notas, e o LLM entra só no fim pra falar com humano. Preço: US$ 0,042 por 1 milhão de tokens de entrada, saída não cobrada.

Tem um vício silencioso em quase todo agente de IA que eu vejo por aí: mandar um LLM generalista responder "isso é urgente? sim ou não" e depois parsear a string na unha

É caro, é lento e é frágil

A proposta aqui é outra: separar quem DECIDE de quem ESCREVE dentro do mesmo agente. E agora existe um modelo feito só pra primeira metade dessa conta: o Jev, primeiro modelo público da classe System One da TypeSafe AI, que saiu em early access em 15 de setembro de 2026 🙂

O que é o Jev e por que ele não escreve texto

A TypeSafe AI foi fundada em 2024 em San Francisco por Diogo Almeida (CEO), Erik Gafni (CTO) e Sasha Sheng (COO)

Almeida é ex-pesquisador da OpenAI e um dos autores principais do paper InstructGPT, de 2022

A empresa saiu do stealth justamente no dia do lançamento, com cerca de US$ 40 milhões de seed liderado pela DCVC

O nome não é aleatório. System One vem da distinção do Daniel Kahneman no "Rápido e Devagar": o pensamento rápido, automático, que não fica ruminando. Jev é referência a William Stanley Jevons. A própria empresa cita arquitetura própria, um amostrador paralelo e um método de treino chamado RLCD (Reinforcement Learning for Calibrated Decisions), tudo descrito no anúncio oficial

Mas o ponto que mais importa pra quem constrói agente é esse: o Jev não gera string

Ele recebe um estado não estruturado e perguntas tipadas, e devolve valores estruturados com probabilidades e confiança que o seu código consome direto, segundo a documentação do modelo

Se você conhece a sensação de pedir JSON pro LLM e torcer pra ele não vir com um "Claro! Aqui está o JSON:" na frente, entendeu na hora o porquê disso existir 😛

Formação Claude Code
Formação Recomendada

Formação Claude Code

Domine Claude Code do absoluto zero até o avançado

  • 120 aulas
  • 4 projetos
  • 9h 45min

Quem faz o quê: Jev versus LLM dentro do mesmo agente

A divisão de papéis fica bem clara quando você coloca lado a lado o tipo de saída de cada um:

Eixo Jev (System One) LLM generalista
Tipo de saída Valor tipado com probabilidade e confiança, sem geração de string Texto livre
Uso no código Ramificar, ordenar e rotear Mostrar pro usuário final
Preço de entrada US$ 0,042 por 1 milhão de tokens de entrada, tokens de saída não cobrados Varia por provedor, fora do escopo deste post
Orçamento de contexto 64k cobrindo estado mais todas as perguntas juntas, 32k para estado mais a pergunta mais longa Fora do escopo deste post
O que não deve fazer Escrever a resposta final pro humano Virar o if do seu fluxo em escala

Repara na linha do preço: a cobrança do Jev é só na entrada, saída não é cobrada

Isso muda o desenho mental. Decisão deixa de ser uma coisa que você economiza e passa a ser uma coisa que você espalha pelo fluxo

Os pontos do fluxo em que cada modelo entra

A API do Jev tem três primitivas de pergunta, e cada uma cai bem num momento diferente do agente

Noul: o gate de sim e não

O Noul é a pergunta sim/não que retorna a probabilidade de ser sim, de 0 a 1

Perto de 1 é sim forte, perto de 0 é não forte, e perto de 0,5 significa que sim e não estão com probabilidades parecidas

Quando a aplicação precisa de decisão dura, o código transforma esse valor em booleano via threshold. Esse é o lugar natural dos guardas do fluxo: entrou anexo suspeito? a mensagem pede ação humana? o input viola a política?

Choice: o roteador

O Choice escolhe uma opção do conjunto e retorna a opção escolhida, a probabilidade de cada opção e a confiança

É o primitivo de roteamento. Qual fila recebe esse ticket, qual ferramenta o agente chama, qual template de resposta faz sentido

Aqui mora o ganho de sanidade: você para de pedir "responda apenas com uma das palavras abaixo" e passa a receber a distribuição inteira

Score: a triagem

O Score avalia contra níveis ordenados e descritivos, devolvendo o score, a probabilidade de cada nível e a confiança

Priorização, severidade, qualidade percebida de um rascunho, aquele tipo de coisa

O padrão que a própria documentação recomenda é bem sóbrio: manter control flow, regras determinísticas e efeitos colaterais no código, e enfiar o System One só onde realmente precisa de julgamento

E mais: quebrar julgamento amplo em perguntas tipadas estreitas, com critério explícito. Depois usar probabilidade e confiança pra decidir entre agir sozinho, pedir revisão ou escalar pra uma pessoa ou pra um modelo de raciocínio

Essa lógica de quando vale quebrar o trabalho em pedaços menores é a mesma discussão de quando dividir a tarefa entre subagentes, só que agora aplicada ao nível da decisão, não do prompt

E o LLM? Entra no FIM da cadeia

Depois que o código já sabe o caminho, já sabe a prioridade e já sabe se pode agir, aí sim o modelo generalista escreve a mensagem pro humano ler

O que muda no custo, na latência e no que você precisa vigiar

A TypeSafe publica números de destaque nas próprias avaliações de workflow: até 193,6x mais rápido e 444,6x mais barato, com a empresa dizendo que esses múltiplos ficam na ponta alta dos ganhos reais

No anúncio, a afirmação é de inteligência similar à de LLMs existentes em tarefas System One, sendo duas ordens de magnitude mais rápido e mais eficiente

Só que aqui vale o de sempre: isso é fala da empresa, não é benchmark independente

E, pra crédito dela, as ressalvas estão assumidas no próprio anúncio: as avaliações são da própria TypeSafe, as probabilidades de referência vêm de modelos externos grandes (a média dos mais capazes) e não de ground truth independente, as medições de velocidade foram rodadas de laptops na costa oeste dos EUA, as comparações usaram modos sem raciocínio dos concorrentes, e a empresa diz que não consegue provar que o preço não é subsidiado

Tome cuidado com a parte do preço, principalmente. Preço de lançamento é preço de lançamento

As limitações documentadas do jev-1.13

Tem uma página de jaggedness só pra isso, e ela é honesta demais pra ser ignorada:

  • vai bem em tarefas System One, mas tropeça em tarefas com camadas de indireção
  • é literal: responde a pergunta escrita, não a pretendida. Palavras de escopo, negações e condições implícitas são lidas ao pé da letra
  • tem dificuldade com precisão numérica, e os níveis de Score são fracos em calibração numérica
  • lê datas como texto, então comparar, ordenar ou encaixar datas em janelas não é confiável

Olha que interessante: essas limitações são EXATAMENTE o argumento da arquitetura híbrida

Data e número você resolve no código, que é determinístico e nunca erra a conta

Texto pra humano você resolve no LLM, que é o que ele faz bem

Julgamento tipado e estreito você joga no Jev

Cada um no seu quadrado =)

Como testar a divisão de papéis hoje

Antes de tudo: o acesso direto segue em early access com fila de espera, e a TypeSafe vai liberando desenvolvedores aos poucos. Não tem data de disponibilidade geral anunciada

  1. Entre na fila ou use um gateway. Se você não quer esperar liberação pra brincar, o Jev está disponível no Vercel AI Gateway (chamado como typesafe-ai/jev, exposto pela API experimental evaluate do AI SDK 7) e também aparece no catálogo de modelos da Cloudflare AI sob o provedor typesafe
  1. Configure a chave na variável de ambiente. Os SDKs oficiais usam TYPESAFE_API_KEY
export TYPESAFE_API_KEY="sua-chave-aqui"

O erro comum deste passo é exportar a chave só na sessão atual do terminal e depois se perguntar por que o script quebrou no cron

  1. Faça a chamada crua pra entender o formato. O endpoint é POST https://api.typesafe.ai/v1/systemone, com header Authorization: Bearer $TYPESAFE_API_KEY e Content-Type: application/json. O corpo leva os campos state e questions, e o campo model aceita o alias jev-latest
curl -X POST https://api.typesafe.ai/v1/systemone \
  -H "Authorization: Bearer $TYPESAFE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "jev-latest",
    "state": "...",
    "questions": [ ... ]
  }'

O formato de cada pergunta muda conforme a primitiva (Noul, Choice ou Score), então vale abrir a página de primitivas antes de montar o payload na mão

  1. Não trate jev-latest como versão fixa. O alias resolve pra um ID versionado, e a resposta devolve no campo model o ID que efetivamente respondeu (por exemplo jev-1.13.0)

O erro comum deste passo é calibrar threshold em cima de uma versão e nunca mais olhar o campo model da resposta. Loga esse campo, sério

  1. Mande um estado por requisição, e várias perguntas juntas. Cada requisição avalia um único estado contra uma ou mais perguntas, todas vendo o mesmo estado e avaliadas de forma independente, em paralelo. O state pode ser string, objeto ou array JSON

O erro comum aqui é estourar o orçamento de contexto: são 64k cobrindo o estado mais todas as perguntas juntas, e 32k para o estado mais a pergunta mais longa

  1. Instale o SDK da sua stack.
pip install typesafe-sdk
npm install @typesafe-ai/sdk
  1. Se você vive no Claude Code, instale a agent skill oficial.
claude plugin marketplace add typesafe-ai/skills
claude plugin install typesafe@typesafe-ai

Com o plugin instalado, a invocação é /typesafe:typesafe-ai

Em outros agentes, o caminho é npx skills add typesafe-ai/skills --skill typesafe-ai

O erro comum deste passo é achar que instalou pra sempre: a instalação é local ao projeto por padrão, e usa -g pra instalar globalmente

  1. Trate o Noul como probabilidade, não como booleano. O valor vem de 0 a 1, e é o SEU código que aplica o threshold

O erro comum é fixar 0,5 e nunca revisar. Resultado perto de 0,5 quer dizer que sim e não estão com probabilidades parecidas, e isso normalmente é sinal de que a pergunta ficou ampla demais, não de que o modelo falhou

O que testes de modelo generalista ensinam sobre separar decisão de redação

Aqui eu vou ser honesto com você: eu ainda não rodei o Jev, então não tem teste meu do modelo pra mostrar

O que eu tenho é do outro lado da linha, o lado da REDAÇÃO

No vídeo do canal eu comparo modelos generalistas em tarefa de geração pesada. Um dos testes é uma loja fictícia, e o prompt tinha critério bem específico: pelo menos 16 produtos fictícios e pelo menos 5 deles com preço promocional, além de categorias, textos e geração de imagem dentro do projeto

E eu separei o trabalho em etapas de propósito: primeiro o scaffolding (estrutura de pastas e arquivos) junto com o design da homepage, e só na segunda rodada pedi pra continuar o mesmo projeto implementando o fluxo de compra (produto, carrinho, checkout, obrigado)

Pra não ter problema de compatibilidade, usei o agente de coding nativo de cada empresa em vez de misturar

Olha o tipo de coisa que aparece nessa revisão: num dos resultados eu encontrei um bug de scroll lateral que considerei inadmissível pra um modelo pago, mesmo gostando da ideia de design. Em outro, notei uma pegadinha no resultado que me deixou de pé atrás

Percebe o que é isso? É tudo julgamento de TEXTO e de EXECUÇÃO aberta

Escrever 16 descrições de produto que não pareçam clone uma da outra, montar o design, gerar as imagens: isso é território de LLM e vai continuar sendo

O que NÃO é território de LLM é a pergunta seca que vem depois: "essa página tem scroll lateral? sim ou não", "esse resultado merece revisão humana?", "qual das 4 filas recebe esse caso?"

Quem faz agente de conteúdo já sentiu isso na pele. Num fluxo parecido com o de agente que escreve artigos com n8n, metade dos nós é decisão barata e a outra metade é redação cara, e hoje quase todo mundo paga preço de redação pelas duas

O próximo passo

A arquitetura híbrida não é novidade conceitual, é só bom senso de engenharia: código nas regras duras, modelo de decisão no julgamento estreito, LLM na conversa com humano

O que mudou é que agora existe um modelo público feito pra ocupar a casinha do meio, com preço de entrada de US$ 0,042 por 1 milhão de tokens e saída não cobrada

Lembrando que o acesso direto ainda é early access com waitlist, sem GA anunciada, e que os números de ganho são da própria TypeSafe, com todas as ressalvas que ela mesma listou

Se eu fosse te dar UMA tarefa pra hoje, seria essa: abre o fluxo do seu agente e marca cada chamada de LLM com uma etiqueta, decisão tipada ou redação

Aposto que a lista de "decisão tipada" vai ser maior do que tu imagina 😀

Depois é só testar pelos gateways que já estão de pé e comparar

Até o próximo post!

Perguntas frequentes

Como faço uma chamada pro Jev na API da TypeSafe?

É um POST pra https://api.typesafe.ai/v1/systemone, com header Authorization: Bearer $TYPESAFE_API_KEY e Content-Type: application/json. O corpo leva os campos state e questions, e o model aceita o alias jev-latest, que resolve pra um ID versionado (tipo jev-1.13.0) devolvido na resposta.

Dá pra usar o Jev direto dentro do Claude Code?

Sim, a TypeSafe tem uma agent skill oficial pra isso, e o passo a passo de instalação está no passo 7 lá do corpo do post. O detalhe que mais pega gente é que a instalação é local ao projeto por padrão, então não adianta achar que instalou pra sempre.

O Jev só existe na API da TypeSafe ou aparece em outros lugares?

Ele já está no Vercel AI Gateway como typesafe-ai/jev, com o AI SDK 7 expondo esse acesso pela API experimental evaluate. Também aparece no catálogo de modelos da Cloudflare AI sob o provedor typesafe, então dá pra testar pelos dois caminhos sem depender da fila do acesso direto.

Quais limitações o Jev ainda tem que eu preciso considerar antes de usar em produção?

A própria TypeSafe documenta que o jev-1.13 tropeça em tarefas com camadas de indireção e é bem literal: ele responde exatamente o que foi escrito, não o que você quis dizer, então negação e condição implícita saem tortas. Também tem dificuldade com precisão numérica (os níveis de Score são fracos em calibração numérica) e lê datas como texto, então comparar ou ordenar datas não é confiável.

O preço do Jev cobra pelos tokens de saída também?

Não. A cobrança é só na entrada, US$ 0,042 por 1 milhão de tokens, e tokens de saída saem de graça. É por isso que o desenho muda: decisão vira algo pra espalhar pelo fluxo, não pra economizar.

Já dá pra usar o Jev em produção hoje?

O acesso direto ao Jev segue em early access com fila de espera, sem data de disponibilidade geral anunciada. A TypeSafe está liberando desenvolvedores aos poucos, então o caminho mais rápido pra testar agora é via Vercel AI Gateway ou Cloudflare AI, onde o modelo já está listado.




Escrito por | Matheus Battisti

Matheus Battisti
Fundador da Hora de Codar

Programador apaixonado pelo mundo das tecnologias, sempre buscando em aprender e se aprofundar em linguagens, frameworks e o que mais for necessário para executar um bom trabalho. Agora tem uma nova missão que é de passar seu conhecimento adiante para formar novos programadores e especializar mais os que já são.

Subscribe
Notify of
guest

0 Comentários
Oldest
Newest Most Voted

Formações

Formação Vibe Coding

Formação Vibe Coding

Do Prompt ao Produto: Crie Software Real com IA

  • 474 aulas
  • 20 projetos
  • 39h 27min

Blog | Mais populares