26 de set. de 2026
Do playground à produção em uma tarde
Valide uma decisão do Jev no navegador, depois coloque o mesmo JSON atrás de uma chave Bearer no seu serviço — com o que checar antes de entrar no ar.
Passo 0 — escolha a decisão certa
Bons primeiros candidatos são decisões que você já toma mal ou manualmente: uma regex de roteamento escrita à mão, um humano relendo a mesma política, uma flag "por favor revisar" que ninguém revisa. Maus candidatos são decisões em que errar é caro e imensurável — deixe essas com roteiro fechado para um humano por ora, com a decisão tipada como filtro de primeira passada.
Escreva o state como os dados que você já tem: o texto do ticket, o payload do formulário, a tool call prestes a ser executada. Não pré-resuma — a leitura é tarefa do modelo.
Hora 1 — rode dez exemplos reais no playground
O playground roda o modelo real, de graça, no navegador. Cole exemplos do seu backlog — tickets reais, não hipotéticos — até dez deles saírem como um colega cuidadoso decidiria.
- Respostas descalibradas? Aperte os criteria com um wording concreto de true/false.
- Casos ambíguos recebendo respostas confiantes? Seus criteria são grossos demais — adicione um nível à escala.
- Falta contexto? Coloque o fato que falta no state em vez de torcer para o modelo sabê-lo.
Hora 2 — copie o JSON para uma chamada com chave
O JSON que você vê no playground é o JSON que seu servidor deve enviar. Exatamente três coisas mudam na produção: o cabeçalho Authorization, o caminho do endpoint (/api/v1/systemone em vez do endpoint de navegador do playground), e a quota (planos gratuitos rodam 20 requests por minuto; o Starter começa em 120/min). Upgrades de plano aumentam concorrência e requisições por minuto — 3 concorrentes no Starter, 10 no Pro.
async function decide(state, questions) {
const resp = await fetch("https://jevai.website/api/v1/systemone", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.JEV_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({ state, questions }),
});
if (resp.status === 429 || resp.status === 502 || resp.status === 529) {
// exponential backoff here — never retry 401/402/422
}
return resp.json();
}Wrapper mínimo para produçãoHora 3 — threshold, flag, deploy
Decida o que um número significa antes de conectá-lo: abaixo de 0.8 de confiança, envie o item a uma pessoa em vez de decidir. Entre no ar atrás de uma feature flag que envia, digamos, 5% do tráfego de produção para a decisão tipada no primeiro dia, e registre o request_id junto com a sua decisão antiga para poder comparar as duas.
- Registre request_id, o valor de score ou noul, e a ação que sua política tomou.
- Defina um timeout que tolere cold starts ocasionais (a primeira chamada depois de um período ocioso pode levar ~3 s; o restante se concentra em 400–600 ms).
- Configure alerta para 402 (créditos baixos) — é a única falha que um loop de retry não resolve.
Falhas comuns do primeiro dia e suas correções
- Respostas inconsistentes em casos parecidos — as descrições dos criteria são vagas ou contraditórias. Reescreva-as como linhas de política.
- 429s durante picos — o plano gratuito permite 20 req/min. Passe para o Starter (120/min, 3 concorrentes) ou enfileire seus picos no lado do cliente.
- Tudo roteia para a opção do topo — os textos dos criteria penderam para o mesmo lado. Equilibre-os.
- Um crédito cobrado onde você esperava cobrança por pergunta — a cobrança é por token de entrada com mínimo de 1 crédito por requisição, então agrupar perguntas é mais barato que separar. Veja o post de créditos para a matemática.
Escolha o threshold pelos dados, não pelo instinto
Depois de a flag rodar a 5% por um dia, a distribuição é sua. Anote em uma planilha a banda de baixa confiança (tudo abaixo de 0.8, entre 0.8 e 0.9, e acima de 0.9) e você normalmente encontrará decisões bimodais — um monte claro de respostas confiantes e uma cauda de reticentes em 0.5–0.7. É nessa cauda que a revisão humana acontece. Depois, mova o threshold para onde a sua fila consegue absorver revisão; em uma caixa de entrada compartilhada, uma taxa de revisão de 15% pode estourar o orçamento, e a ação certa é apertar os criteria — não aceitar 15% em silêncio.
Escalonamento quando você não tem certeza
- Confiança abaixo do threshold — envie a um humano com o state e a distribuição completa anexados.
- Requisição falhou (429/502/529 após retries) — volte para o caminho legado, não para pular a decisão. Uma decisão ausente é um bug, não um risco.
- Chaves de respostas ausentes no mapa answers — trate como falha e registre. (Não deveria acontecer; o schema garante uma resposta por nome de pergunta.)
Padrões de wording que movem a precisão
- Criteria como linhas de política, não sinônimos: "true: Explicitamente sensível a tempo ou crítico para o negócio; false: Nenhuma urgência expressa" supera "true: urgent; false: not urgent". O modelo lê os criteria, então escreva-os para uma pessoa de confiança temporária que nunca viu o seu produto.
- Nomeie os campos que você referencia: "`proposed_tool_call` corresponde ao que `user_request` pediu?" dá ao modelo base para ancorar o julgamento; "Isso é suspeito?" o faz adivinhar.
- Uma decisão por pergunta: não pergunte "isso é urgente E devo acionar alguém E não é duplicado?" — a resposta a uma pergunta composta é ininterpretável.
- Escalas com linha vermelha: quando a ação muda a partir de um nível, nomeie esse nível nos criteria das perguntas relacionadas em vez de torcer para o score sozinho codificá-lo.
Preciso treinar ou fazer fine-tuning de algo?
Não. O Jev é hospedado; todo o ajuste é wording na própria requisição — instructions e criteria. É por isso que uma tarde é tempo suficiente para iterar.
Quantos créditos custa uma tarde de validação?
Com 5 créditos gratuitos de cadastro e 30 execuções gratuitas de playground por dia, uma tarde cuidadosa não custa nada. Migrar para produção envia exatamente a mesma requisição sob uma chave Bearer, cobrada nos créditos do workspace.
Qual é a primeira métrica a observar depois do lançamento?
Não é precisão — é concordância. Com que frequência o seu wrapper sobrescreve a resposta, com que frequência o caminho de baixa confiança dispara, e como essas taxas se movem na primeira semana.
Teste o playground do Jev AI para enviar sua primeira decisão gratuita depois de terminar este guia.