> claude escreve.
> jev decide.
O modelo da chamada ao Jev que uso na Lia, minha agente de WhatsApp, para classificar a mensagem do cliente antes de qualquer resposta em texto.
01 · o que é
O Jev é um modelo da TypeSafe AI que não gera texto. Ele recebe um contexto (state) e perguntas com formato fechado (questions), e devolve a resposta, a probabilidade de cada opção e a confiança.
02 · como acessar
POST https://openrouter.ai/api/alpha/decisions
modelotypesafe/jev-1.13
chavea mesma do OpenRouter, em variável de ambiente
O endpoint é outro, diferente do de chat completions. O Jev também não aparece na listagem GET /api/v1/models, porque está em beta. A página do modelo é openrouter.ai/typesafe/jev-1.13.
Fixe a versão (jev-1.13). O apelido ~typesafe/jev-latest muda de modelo sem aviso.
03 · a chamada
jev.tsconst JEV_URL = "https://openrouter.ai/api/alpha/decisions"; const LIMIAR = 0.6; // As opções e o critério de cada uma. Troque pelo que a sua operação precisa decidir. const CRITERIOS = { pedido: "Relata problema, erro, algo que não funciona, ou pede alteração, novidade, relatório ou ajuste no sistema.", status: "Pergunta como está, o andamento ou a situação de algo que já pediu antes.", outro: "Cumprimento, agradecimento, resposta curta a uma pergunta anterior, conversa geral ou assunto comercial (preço, reunião, contrato).", }; export async function classificar(texto, apiKey) { const res = await fetch(JEV_URL, { method: "POST", headers: { Authorization: `Bearer ${apiKey}`, "Content-Type": "application/json" }, body: JSON.stringify({ model: "typesafe/jev-1.13", state: { mensagem_do_cliente: texto }, questions: { classe: { type: "choice", instructions: "Classifique a mensagem de um cliente enviada ao suporte técnico de um sistema.", criteria: CRITERIOS, }, }, }), signal: AbortSignal.timeout(5000), }); if (!res.ok) throw new Error(`jev http ${res.status}`); const { choice, confidence } = (await res.json()).answers.classe; // Na dúvida, "outro": abaixo do limiar, nenhuma ação automática. return confidence < LIMIAR ? "outro" : choice; }
Fallback. Na Lia, se o Jev falhar (erro HTTP, tempo esgotado ou resposta fora do formato), a mensagem segue para o classificador antigo. O atendimento não depende do Jev estar no ar.
O limiar de 0,6. Nos meus testes, as mensagens ambíguas ficaram entre 0,52 e 0,69 de confiança, e as claras em 0,79 ou mais. Calibre o seu com mensagens da sua operação.
04 · o que medi
Medição de 22/09/2026. Mensagem real de cliente ainda não entrou na conta.
05 · 3 usos junto com o claude
- porteiroO Jev decide se a mensagem precisa de resposta escrita. Só então o Claude é chamado.
- trava de confiançaAbaixo do limiar, a decisão vai para uma pessoa.
- revisorAntes do envio, o Jev dá nota (
score) ao texto do Claude contra os seus critérios. Nota baixa, o texto é refeito.
São ideias de aplicação. Na Lia, hoje, está em produção a trava na forma do limiar: abaixo de 0,6, nenhum chamado é aberto.