
System One Models: conheça a nova classe de modelos da TypeSafe AI↳Inteligência artificial440 conteúdosUX e IA: Transformando Experiências Digitais com Inteligência ArtificialProduto & UX · jan 2025MCP: O que é e por que você vai ouvir falar disso em breve?AI · jul 2025IA generativa e a urgência de reconstruir nossa relação com a verdadeAI · jun 2025Ver tudo em AI → voltada a decisões estruturadas, tipadas e probabilísticas para fluxos de software. (gerado com ajuda da AI, revisado, corrigido e ajustado pelo Macoratti)
Imagine que sua aplicação precise responder a perguntas como:
– Qual categoria melhor descreve este chamado?
– Qual é o nível de prioridade?
– Este caso deve ser encaminhado para um humano?
– Qual opção deve ser escolhida?
– Qual é o score dessa situação?
– Devemos continuar automaticamente ou interromper o fluxo?
Tradicionalmente, poderíamos implementar essas decisões com regras determinísticas. Quando as regras são simples, isso funciona muito bem.
O problema aparece quando a decisão depende de linguagem natural, contexto e julgamento semântico.
Uma alternativa seria utilizar um LLM — Large Language Model. Entretanto, um LLM foi concebido principalmente para trabalhar com linguagem e gerar respostas.
Podemos pedir que ele retorne JSON ou outro formato estruturado, mas ainda estamos utilizando um modelo cuja saída fundamental é linguagem.
É nesse contexto que surge uma proposta diferente: Jev, da TypeSafe AI.
De onde vem o nome Jev? Jev não é um acróstico. O nome foi escolhido em homenagem ao economista William Stanley Jevons e faz referência ao Jevons Paradox, conceito segundo o qual ganhos de eficiência podem aumentar o uso total de um recurso. A TypeSafe utiliza essa ideia como inspiração para sua visão de que, tornando a inteligência muito mais barata e eficiente, será possível incorporá-la a uma quantidade muito maior de decisões dentro dos softwares |
1. O que é Jev?
A maneira mais simples de entender o Jev é começar pelo problema que ele pretende resolver. Um software tradicional trabalha muito bem com decisões determinísticas:
if (pedido.Valor > 1000)
{
// exige aprovação
}
O computador conhece exatamente a regra. Mas considere uma situação diferente:
“O cliente está muito insatisfeito, já tentou resolver o problema duas vezes e ameaça cancelar a assinatura.”
Agora queremos responder: qual é a prioridade (Baixa, Média, Alta, Crítica) ? Essa decisão não é facilmente expressa por uma regra simples; existe uma dimensão semântica.
É aí que entra a proposta do Jev. Podemos pensar nele como uma camada de julgamento semântico para o software:
Estado / Contexto
│
▼
Jev
│
▼
Decisão estruturada
│
▼
Código da aplicação
|
A TypeSafe define System One Models como uma classe de modelos voltada a decisões dentro de software, e apresenta o Jev como seu primeiro modelo público dessa categoria.
2. A ideia central: decisões, não strings
Essa é provavelmente a diferença mais importante para guardar. Um LLM tradicional produz strings (ex: “Esse chamado parece ser de alta prioridade e deveria ser encaminhado ao setor financeiro.”), exigindo que o software interprete essa resposta.
Já a proposta do Jev é produzir diretamente uma estrutura de decisão:
– Departamento = Financeiro
– Prioridade = Alta
– Escalar = Sim
Conceitualmente, enquanto o LLM gera texto (ex: “Financeiro”), o Jev produz uma decisão tipada (ex: Departamento.Financeiro).
A TypeSafe descreve essa diferença como: “unstructured state in, typed probabilistic decisions out” — entra um estado não estruturado e saem decisões probabilísticas tipadas. Essa característica é importante porque o resultado pode entrar diretamente em um fluxo de software.
3. Mas o Jev é um LLM?
Não é essa a forma mais adequada de descrevê-lo. A TypeSafe apresenta o Jev como um System One Model, uma classe de modelos criada com uma arquitetura, mecanismo de amostragem e processo de treinamento voltados especificamente para decisões estruturadas.
O Jev não foi projetado para geração geral de strings como um LLM tradicional; ele abre mão da geração de strings para ser otimizado para structured outputs.
Portanto, Jev não deve ser entendido simplesmente como “um LLM menor”. A própria TypeSafe trata essa pergunta separadamente em sua documentação e descreve o Jev como uma nova classe de modelo.
4. O que significa “System One Model”?
O nome System One faz referência à distinção popularizada por Daniel Kahneman em Thinking, Fast and Slow entre o pensamento rápido e intuitivo e o pensamento mais deliberado.
A TypeSafe utiliza essa ideia para nomear uma classe de modelos voltada a decisões rápidas e estruturadas. O objetivo não é reproduzir toda a capacidade de um LLM generativo, mas fazer muito bem um tipo específico de trabalho:
- Receber contexto
- Responder perguntas estruturadas
- Produzir decisões
- Permitir que o software continue
Essa especialização é justamente uma das características que diferenciam o Jev de modelos de linguagem generalistas.
5. O que o Jev não é?
- Jev não é simplesmente um chatbot: um chatbot normalmente tem como objetivo conversar com uma pessoa. O Jev não tem como objetivo principal manter uma conversa; seu objetivo é fornecer decisões que outro software possa consumir.
- Jev não é um AI Coding Agent: um AI Coding Agent pode analisar um projeto, ler arquivos, planejar alterações, modificar código, executar comandos, rodar testes, observar resultados e iterar (sistema agentic). O Jev não é definido dessa maneira; seu papel é fornecer decisões estruturadas.
6. Jev não é apenas Structured Output
Essa é talvez uma das perguntas mais interessantes para quem já trabalha com LLMs. Se solicitarmos a um LLM que retorne um JSON estruturado (categoria, prioridade, escalar), o modelo continua sendo um LLM generativo, e estamos apenas restringindo a forma da resposta, necessitando de etapas posteriores de parse e validação.
A proposta do Jev é diferente: seus modelos são projetados para retornar valores estruturados tipados, com a estrutura das respostas definida antecipadamente, além de probabilidades e confidence nativas.
7. Os três tipos fundamentais de decisão
A API oficial da TypeSafe disponibiliza um endpoint SystemOne que expõe atualmente três formas principais de perguntas:
- 7.1 Choice: Representa uma escolha entre alternativas (ex: Qual departamento deve tratar este chamado? [Financeiro, Suporte, Comercial, Logística]). O sistema trabalha com probabilidades associadas (ex: Financeiro 0.91, Suporte 0.05, Comercial 0.03, Logística 0.01).
-
- 8. Score: Permite avaliar algo dentro de uma escala (ex: nível de urgência de 0 a 10). É útil para situações como prioridade, risco, satisfação, severidade, relevância, probabilidade de cancelamento ou qualidade. A aplicação define como utilizar o score (ex:
if (resultado.Score >= 8)).
- 8. Score: Permite avaliar algo dentro de uma escala (ex: nível de urgência de 0 a 10). É útil para situações como prioridade, risco, satisfação, severidade, relevância, probabilidade de cancelamento ou qualidade. A aplicação define como utilizar o score (ex:
- 9. Noul: Representa uma decisão binária, essencialmente uma avaliação entre não e sim (ex: O cliente precisa de intervenção humana?). O resultado indica a escolha junto ao índice de Confidence, permitindo direcionar fluxos automáticos ou de escalonamento.
10. A importância da Confidence e da Incerteza
Em sistemas de IA que tomam decisões automaticamente, não basta saber apenas qual foi a decisão; também é importante saber quão confiante o modelo está naquela decisão.
Com o Jev, a incerteza deixa de ser algo incerto obtido por meio de um prompt genérico e passa a fazer parte do contrato entre o modelo e a aplicação através de probabilidades e confidence calibradas.
Isso viabiliza o confidence-gated routing: o software pode definir limiares para determinar quando agir autonomamente e quando solicitar revisão:
if (resultado.Confidence >= 0.90)
{
await EncaminharAutomaticamenteAsync();
}
else
{
await SolicitarRevisaoHumanaAsync();
}
12. Por que isso é interessante para software? (“Smart if-statements”)
Um LLM é extremamente flexível para conversar, escrever, explicar ou resumir, mas essa mesma flexibilidade pode ser inconveniente quando precisamos inserir IA profundamente dentro de um fluxo de software baseado em if / switch / workflow.
A proposta do Jev é reduzir essa distância, funcionando como “smart if-statements” — decisões inteligentes que entram diretamente em workflows convencionais, onde a inteligência semântica fica no modelo e a regra operacional continua no código.
18. Jev, LLM e Agent: uma comparação direta
| Característica | LLM | Jev | AI Agent |
|---|---|---|---|
| Função principal | Compreender e gerar linguagem | Produzir decisões estruturadas | Coordenar e executar tarefas |
| Saída típica | Texto, código ou conteúdo estruturado | Decisões tipadas + probabilidades | Resultado de uma tarefa |
| Conversação | Natural | Não é o foco | Pode utilizar LLM para isso |
| Planejamento | Pode auxiliar | Não é o foco | É uma característica comum |
| Tools | Pode utilizar | Não define o conceito | Normalmente utiliza |
| Iteração | Pode ocorrer | Não é o objetivo central | Muito comum |
| Confidence | Pode ser solicitada, mas não é o contrato central | Faz parte da proposta | Pode utilizar confidence de seus componentes |
| Principal aplicação | Geração e compreensão | Decisões semânticas | Automação de processos |
| Exemplo | “Explique esta exceção” | “Qual categoria?” | “Resolva este atendimento” |
15. Exemplo conceitual em C#↳C#68 conteúdosNovidades do C# 8.0: Default Interface MembersDev (Back & Front) · jun 2019C# 8.0 – Conheça suas novas funcionalidadesDev (Back & Front) · mai 2019Novidades do C# 8.0: Switch ExpressionsDev (Back & Front) · mar 2019Ver tudo em Dev (Back & Front) →
Como o Jev é exposto por uma API, uma aplicação .NET pode tratá-lo como um serviço externo de forma fortemente tipada:
public sealed record AtendimentoDecision(
string Departamento,
int Prioridade,
bool PrecisaHumano,
double Confidence);
public interface IJevService
{
Task<AtendimentoDecision> AnalisarAsync(
string mensagem,
CancellationToken cancellationToken);
}
// Utilização na aplicação
var decisao = await _jevService.AnalisarAsync(mensagem, cancellationToken);
if (decisao.PrecisaHumano && decisao.Confidence >= 0.90)
{
await _atendimento.EscalarAsync(decisao.Departamento);
}
O domínio da aplicação não precisa conhecer os detalhes do modelo, mantendo uma arquitetura limpa (ASP.NET Core ⟶ IJevService ⟶ JevAdapter ⟶ Jev API).
25. Uma arquitetura combinando os três
Uma aplicação moderna pode utilizar as três abordagens em conjunto, escolhendo a ferramenta de acordo com o tipo de problema:
- Jev: Realiza as decisões semânticas e estruturadas.
- LLM: Faz a geração e compreensão de linguagem (ex: redigir a resposta ao cliente).
- AI Agent: Coordena e executa tarefas integrando ferramentas (CRM, APIs, E-mail).
Podemos resumir em uma regra simples:
– LLM gera.
– Jev decide.
– Agent coordena e executa.
Conclusão
O Jev introduz uma perspectiva diferente para a utilização de Inteligência Artificial em software. Em vez de partir da ideia de que toda IA precisa gerar texto, a proposta dos System One Models é utilizar modelos especializados para produzir decisões estruturadas que possam ser consumidas diretamente pela aplicação.
Para nós, desenvolvedores .NET, essa ideia é especialmente interessante: ela permite imaginar aplicações nas quais a IA não está apenas em uma interface de chat, mas embutida em pontos específicos da lógica, trabalhando junto com o código tradicional de forma eficiente e previsível.
Observação: Várias características técnicas, como velocidade, custo, ausência de type errors, calibração de confidence e comparações de desempenho mencionadas pela TypeSafe são afirmações da própria empresa, apresentadas em seu lançamento e em suas avaliações, não devendo ser interpretadas como validação independente.










John Calistro
Cezar Taurion
Iago Cavalcante
José Carlos Macoratti





