Claude Code e Jev discordaram: como decidir qual resposta seguir

Claude Code e Jev discordando sobre a solução de um código
Resposta rápida

Quando Claude Code e Jev apontam para lados diferentes, não é uma briga entre duas soluções: o Jev não escreve código, ele devolve uma decisão tipada (escolha, nota ou probabilidade com confiança). Para decidir, classifique a divergência. Se existe resultado observável (teste passa ou falha, erro aparece), é questão de fato e o teste no seu projeto decide. Se não existe, é estilo, e vence o padrão já dominante no repositório. Se veio de um hook de segurança, deny e ask são trava, não palpite. Peça ao Claude Code evidência do código e reformule a pergunta do Jev como Choice ou Score

Fala aí, beleza? Se liga numa coisa que confunde muita gente: o Jev nunca discorda do Claude Code propondo outra solução

Ele não escreve código, não gera texto e não conversa 🙂

O que acontece de verdade é o Claude Code sugerir um caminho e o Jev devolver uma decisão tipada (uma escolha, uma nota ou uma probabilidade) que aponta pro outro lado

Aí bate a dúvida: sigo quem?

Neste post tu vai aprender a separar o que é questão de FATO (dá pra testar) do que é questão de estilo, e a usar o próprio projeto como critério de desempate

Spoiler: o árbitro não é nenhum dos dois modelos haha

O que é o Jev e por que ele não "discorda" como um LLM?

O Jev é um modelo de decisão estruturada da TypeSafe AI, o primeiro dos modelos que a empresa chama de System One, lançado em 15 de setembro de 2026

Ele recebe um estado mais perguntas tipadas e devolve probabilidades pra cada resposta, com confiança calibrada e sem texto livre

Ou seja, ele não é o cérebro por trás do Claude Code e não substitui o LLM dele

O Jev atua em pontos de decisão: rotear, sinalizar, checar se algo é relevante, checar se algo é seguro

Pensa assim: o Claude Code é o dev que escreve a solução, o Jev é o colega que só responde "opção A ou B?" com um grau de certeza

Quando os dois apontam pra lados diferentes, o que tu tem na mão é uma proposta de código de um lado e um veredito numérico do outro

O que você precisa antes de comparar as duas respostas

Antes de qualquer coisa, garanta o básico:

  • Claude Code instalado e funcionando no seu projeto
  • Conta na TypeSafe AI: o Jev começou com lista de espera, mas ela foi removida e hoje qualquer pessoa com conta tem acesso, e contas novas começam com US$ 5 de crédito
  • Chave da API na variável de ambiente TYPESAFE_API_KEY, que é de onde a skill oficial lê a chave
  • Skill oficial da TypeSafe instalada no Claude Code

A instalação da skill são dois comandos:

claude plugin marketplace add typesafe-ai/skills
claude plugin install typesafe@typesafe-ai

Depois disso tu invoca com /typesafe:typesafe-ai ou simplesmente pede "use the TypeSafe skill" no prompt

A skill escreve o código que conversa com a API da TypeSafe pra você, então não precisa montar a chamada na mão

Um limite importante: o Jev aceita até 32K tokens de entrada

Traduzindo, o estado que tu manda (código, contexto, convenções) precisa caber nisso, nada de jogar o repositório inteiro lá dentro 😛

Existem também integrações da comunidade, como o jev-router, que roteia cada turno entre o nível rápido e o forte, e o jev-code, que expõe classify, check, score, rank e ask como ferramenta

Tome cuidado: esses projetos NÃO são da TypeSafe, são de terceiros

Como decidir entre Claude Code e Jev, passo a passo

Bora ver na prática?

A ideia é seguir sempre a mesma ordem, pra não decidir no feeling

Passo 1: leia o que o Jev de fato devolveu

A saída do Jev depende do tipo de pergunta que foi feita

Num Choice, ele escolhe entre opções nomeadas e devolve a opção escolhida, as probabilidades e a confiança

Num Score, ele usa uma rubrica ordenada e devolve uma nota ponderada pela probabilidade, a legenda, a distribuição e a confiança

Além desses dois, o Jev tem um terceiro tipo de pergunta, o Noul

Ação: abra a resposta e anote três coisas, o que foi escolhido, como as probabilidades se distribuíram e qual foi a confiança

Uma escolha com probabilidades quase empatadas diz MUITO menos do que uma escolha disparada

Erro comum deste passo: tratar a saída como uma "opinião" em texto, ou ignorar uma confiança baixa e agir como se o Jev tivesse batido o martelo

Passo 2: classifique a divergência em fato ou estilo

Faça uma pergunta só: existe um resultado observável?

Se a escolha muda algo que dá pra ver (um teste passa ou falha, um comportamento muda, um erro aparece), é questão de fato

Se as duas opções funcionam igual e a diferença é de nome, organização ou preferência, é questão de estilo

Ação: escreva do lado da divergência um rótulo, "fato" ou "estilo", antes de seguir

Erro comum deste passo: discutir estilo como se fosse correção, tipo tratar um nome de função como "errado" quando ele só é diferente

Passo 3: em questão de fato, rode o teste no próprio projeto

Aqui nenhum dos dois modelos precisa ganhar a discussão

Aplica a sugestão do Claude Code numa branch, roda a suíte de testes do projeto e observa o resultado

Se não existe teste cobrindo aquele ponto, escreve um pequeno que reproduza o comportamento em dúvida

O resultado decide, ponto

Erro comum deste passo: confiar na probabilidade alta do Jev quando um teste simples já resolveria a questão em minutos

Já vi muita gente gastar mais tempo debatendo do que levaria pra rodar o teste kkk

Passo 4: force o Claude Code a justificar com evidência

Se a divergência não se resolve com teste, peça pro Claude Code mostrar no código por que ele escolheu aquele caminho

Use um prompt nessa linha:

Você sugeriu a solução A, mas há uma alternativa B para este mesmo ponto.
Antes de seguir, justifique a escolha com evidência deste repositório:

1. Quais arquivos sustentam a sua escolha? Cite os caminhos.
2. Mostre o trecho de código existente que segue o mesmo padrão da solução A.
3. Esse padrão é o dominante no projeto? Quantos lugares usam A e quantos usam algo parecido com B?
4. O que mudaria no projeto se a opção B fosse adotada no lugar de A?

Se não encontrar evidência no código, diga isso explicitamente em vez de argumentar por preferência.

O último pedido é o mais importante: ele dá ao modelo permissão pra admitir que não tem base

Erro comum deste passo: aceitar justificativa genérica ("é uma boa prática", "é mais legível") sem nenhum arquivo ou trecho do projeto citado

Passo 5: faça o mesmo do lado do Jev reformulando a pergunta

O Jev não explica em texto, então a "justificativa" dele vem de outro jeito: perguntando melhor

Se a pergunta original foi vaga, a decisão também vai ser

Tu tem dois caminhos:

  • Choice: transforma as duas soluções em opções nomeadas (aceita até 255 opções, então sobra espaço)
  • Score: monta uma rubrica ordenada (de 2 a 10 níveis) baseada nas convenções do projeto

E em qualquer um dos dois, manda como estado o trecho de código que realmente importa

Um rascunho de como pensar a pergunta antes de pedir pra skill montar a chamada:

Pergunta (Choice): qual implementação segue as convenções deste repositório?

Opções:
- solucao_claude: a versão proposta pelo Claude Code
- solucao_alternativa: a versão B

Estado:
- trecho do arquivo onde a mudança entra
- dois ou três exemplos do padrão já usado no projeto

Os tipos de pergunta e o que cada um devolve estão na documentação da TypeSafe

Na prática, tu pode pedir "use the TypeSafe skill" pro Claude Code escrever a chamada pro endpoint POST https://api.typesafe.ai/v1/systemone com essas opções

Se preferir Score, uma rubrica de quatro níveis já ajuda bastante: quebra a convenção, segue parcialmente, segue, segue e reaproveita código existente

Erro comum deste passo: mandar uma pergunta vaga, ou um estado sem o código que importa (lembra do limite de 32K tokens: escolhe o trecho certo em vez de mandar tudo)

Passo 6: em questão de estilo, use o projeto como desempate

Aqui a regra é simples: vence a opção que segue o padrão já dominante no repositório

Não importa se o Claude Code prefere A e o Jev deu probabilidade maior pra B

Se o projeto inteiro usa A, fica A

Se o time esbarra nisso com frequência, vale padronizar o uso do Jev pra que as perguntas já carreguem as convenções do projeto

Erro comum deste passo: introduzir um segundo estilo no projeto só porque um modelo sugeriu, e daqui a três meses ninguém sabe qual é o padrão certo 🙃

Quando a divergência vem de um hook de segurança

Esse caso é diferente dos outros e merece atenção separada

Sintoma

O Claude Code quer executar uma ação e o hook com Jev bloqueia ou pede confirmação

Parece que os dois "discordaram", mas na real o hook fez exatamente o trabalho dele

Causa

Um hook PreToolUse avalia a ação antes de ela rodar, como ler arquivos env, apagar pastas ou exfiltrar dados

Ele pode devolver um permissionDecision com allow, deny, ask ou defer, junto com um permissionDecisionReason

Quando o Jev está nesse hook, é a decisão dele que vira esse veredito

Solução

Trate deny e ask como trava, não como palpite

Leia o permissionDecisionReason e confirme manualmente se a ação era segura antes de liberar

E se liga: desde o Claude Code 2.1.77, um allow vindo de hook não consegue sobrepor uma regra deny ou ask

Então se tu configurou uma regra de bloqueio, ela continua valendo mesmo que o hook libere

Como prevenir

Escreva a pergunta do hook com opções claras, nada de "isso é perigoso?" solto

E envie só o contexto necessário da ação (o comando, o caminho afetado), não a conversa inteira

Pergunta clara e estado enxuto deixam a decisão muiiito mais fácil de interpretar depois

Exemplos de divergência: fato ou estilo?

Pra fixar, alguns casos curtos já classificados:

Situação Tipo O que decide
A mudança proposta quebra um teste existente? Fato Rodar a suíte de testes
A ação toca arquivos sensíveis, como arquivos env? Fato (segurança) Trava do hook
A ação apaga uma pasta do projeto? Fato (segurança) Trava do hook + confirmação manual
Qual nome dar pra uma função nova? Estilo Padrão de nomes do repositório
Onde colocar um arquivo novo na estrutura de pastas? Estilo Organização já usada no projeto
Escolher entre dois padrões equivalentes Estilo O padrão dominante no repositório

Repara que em nenhuma linha quem decide é "o modelo com mais confiança"

O modelo te ajuda a enxergar a escolha, mas o critério vem de fora dele

Conclusão: o projeto é o árbitro, não o modelo

Recapitulando a regra:

  • Fato se resolve com teste
  • Estilo se resolve com o padrão do repositório
  • Segurança se resolve com a trava do hook

Quando Claude Code e Jev apontam pra lados diferentes, nenhum dos dois está "certo" por padrão, quem dá o veredito é o seu projeto

Próximo passo: guarda o prompt de justificativa do passo 4 num lugar fácil de copiar e reescreve as perguntas que tu manda pro Jev como Choice ou Score, com opções tiradas do próprio código

E se quiser ir além, vale testar se o Jev está ajudando de verdade no seu fluxo antes de confiar nele pra decisões maiores

Ficou alguma dúvida ou passou por uma divergência cabeluda? Bora trocar uma ideia 😀

Até o próximo post!

Perguntas frequentes

O Jev pode substituir o Claude Code em algum ponto do fluxo?

Não. O Jev não substitui o LLM do Claude Code, ele atua só em pontos de decisão como rotear, sinalizar, checar relevância ou checar segurança. Quem escreve código e conversa com você continua sendo o Claude Code.

Quanto custa usar o Jev em paralelo com o Claude Code?

O Jev cobra US$ 0,042 por milhão de tokens de entrada, e a saída é gratuita. Contas novas na TypeSafe AI começam com US$ 5 de crédito, e a lista de espera já foi removida.

Como instalar a skill oficial da TypeSafe no Claude Code?

Roda claude plugin marketplace add typesafe-ai/skills e depois claude plugin install typesafe@typesafe-ai. Depois disso você invoca com /typesafe:typesafe-ai ou pede ‘use the TypeSafe skill’ no prompt.

Qual a diferença entre uma pergunta Choice e uma Score no Jev?

Choice escolhe entre opções nomeadas, aceita até 255 opções e devolve a opção escolhida com probabilidades e confiança. Score usa uma rubrica ordenada de 2 a 10 níveis e devolve uma nota ponderada, legenda, distribuição e confiança.

Quanto tempo o Jev leva pra devolver uma resposta?

A latência do Jev fica entre 70 e 500 milissegundos. Isso dá pra usar em pontos de decisão dentro do fluxo do Claude Code sem travar a sessão.

Dá pra usar o Jev no Claude Code sem a skill oficial da TypeSafe?

Sim, existem outros caminhos além da skill oficial, como plugins de fronteira, ferramentas MCP e roteamento por turno. A comunidade também mantém projetos como jev-router e jev-code, mas nenhum dos dois é da TypeSafe.



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.

Formações

Formação Vibe Coding

Formação Vibe Coding

Do Prompt ao Produto: Crie Software Real com IA

  • 474 aulas
  • 20 projetos
  • 39h 30min

Blog | Mais populares