Blog

Seis casos de uso reais para o Jev — e como colocá-los em produção com o Dcision

5 min de leitura

Um modelo de decisão como o TypeSafe Jev não escreve texto: ele responde perguntas tipadas — uma escolha entre opções, uma nota ou uma probabilidade — sempre com a confiança junto. Parece pouco, mas é exatamente o que falta em quase todo ponto de uma aplicação com LLM onde hoje alguém paga um modelo grande só para ouvir "sim", "não" ou "o time de vendas".

Este artigo percorre seis desses pontos (a lista circulou no DailyDoseofDS), com o fluxograma de cada um e como montá-lo no Dcision, a camada que transforma a resposta do motor em ação.

1. Guardrail de entrada

Pergunta: este prompt é seguro para seguir adiante?

Entrada do usuário
        │
        ▼
   [ Dcision ]  ── pergunta: "safe" ou "unsafe"?
        │
        ├── safe   ──▶ segue para o LLM
        │
        └── unsafe ──▶ action = block ──▶ resposta fixa ("Não posso ajudar com isso")

No Dcision isso é uma pergunta de escolha com duas opções. A opção unsafe recebe uma política de bloqueio e um destino Texto fixo: a mensagem volta na própria resposta, sem chamar modelo nenhum. O LLM caro só é chamado quando a entrada passou.

2. Roteamento de modelo

Pergunta: qual modelo basta para isto?

Prompt
   │
   ▼
[ Dcision ]  ── pergunta: "rápido", "intermediário" ou "fronteira"?
   │
   ├── rápido        ──▶ destino LLM: modelo pequeno   (o mais barato)
   ├── intermediário ──▶ destino LLM: modelo médio     (equilibrado)
   └── fronteira     ──▶ destino LLM: modelo de ponta  (o mais caro)

Cada opção tem o seu destino LLM direto, com o modelo e o prompt da rota, usando a chave do seu workspace (OpenRouter ou Vercel AI Gateway). A maioria das perguntas do dia a dia não precisa do modelo de ponta — e agora quem decide isso é uma chamada barata, não o próprio modelo caro.

3. Reranking

Pergunta: quais documentos realmente respondem à consulta?

Consulta + documento A ──▶ [ Dcision ] ──▶ nota 0,88  ✔
Consulta + documento B ──▶ [ Dcision ] ──▶ nota 0,57  ✔
Consulta + documento C ──▶ [ Dcision ] ──▶ nota 0,31
Consulta + documento D ──▶ [ Dcision ] ──▶ nota 0,06
                                              │
                                              ▼
                         ordena e manda só os melhores para o LLM

Aqui a pergunta é de nota (score): o estado leva a consulta e um documento, e a resposta diz o quanto um responde ao outro. É uma chamada por documento, então vale para reordenar os poucos candidatos que a busca vetorial já trouxe — e cortar do contexto o que só ocupa tokens.

4. Controle de tool calls

Pergunta: o agente deve executar esta ação?

Agente
   │  tool call (ex.: "reembolsar R$ 1.200")
   ▼
[ Dcision ]  ── pergunta: "executar", "perguntar ao usuário" ou "recusar"?
   │
   ├── executar            ──▶ destino Função: o seu código roda a ferramenta
   ├── perguntar ao usuário ──▶ destino Texto fixo com botões de confirmação
   └── recusar             ──▶ action = block

O agente propõe; o Dcision decide antes de a ferramenta rodar. O destino Função devolve qual função chamar e com quais parâmetros, e o seu código executa — o Dcision nunca recebe acesso à ferramenta em si.

5. Gate de confiança

Pergunta: esta resposta pode sair sem um humano?

Rascunho de resposta
        │
        ▼
   [ Dcision ]  ── pergunta: "pode enviar?"  + confiança
        │
        ├── confiança ≥ 0,85        ──▶ envio automático
        ├── 0,4 ≤ confiança < 0,85  ──▶ fila de revisão (webhook / workflow)
        └── confiança < 0,4         ──▶ action = escalate ──▶ humano

É o caso em que a confiança calibrada vale mais. No Dcision, cada destino tem uma confiança mínima e as políticas definem o que fazer abaixo dela (continue, block, escalate ou fallback). O envio automático vira um destino com confidence ≥ 0,85; a revisão, um webhook assinado ou um workflow no n8n, Make ou Zapier; o resto escala para uma pessoa.

6. Nota da resposta

Pergunta: quão boa foi essa resposta?

LLM ──▶ resposta ──┐
                   ▼
Rubrica ──▶ [ Dcision ] ──▶ nota 8/10
                   │
                   ├── nota alta  ──▶ segue
                   └── nota baixa ──▶ webhook para o time de qualidade

A rubrica fica no contexto da decisão (versionado junto com o schema) e a pergunta de nota devolve um nível. Como entradas e saídas ficam guardadas por padrão, o histórico mostra a nota de cada resposta ao longo do tempo — e a aba Overview aponta onde os limiares precisam de calibragem.

O padrão por trás dos seis casos

Todos têm a mesma forma:

Informação (estado) ──▶ [ Dcision ] ──▶ resposta tipada + confiança ──▶ ação
                             │
                       Engine: Jev ou Laya

Nenhum dos seis precisa de um LLM gerando texto para tomar a decisão. O LLM entra depois, só quando a decisão manda — e é aí que está a economia.

Por que usar o Dcision em vez de chamar o motor direto

O Jev sozinho responde a pergunta. Todo o resto você teria de construir:

O que você precisaJev puroCom o Dcision
Contrato da decisãoMontado no código, a cada chamadaSchema versionado, editado no painel e testado no playground
O que fazer com a respostaVocê implementaPolíticas nativas: continue, block, escalate, fallback
Ações por resultadoNenhuma8 destinos: texto fixo, saída estruturada, LLM, agente, workflow, webhook, HTTP, função
Limiar de confiançaVocê implementaConfiança mínima por opção, por nível de nota e por destino
Histórico e auditoriaLogs da APICada execução com versão, confiança, ação e entrega
Troca de motorReescrever a integraçãoJev ou Laya (no seu servidor), por workspace ou por decisão
IntegraçãoSDK do motorAPI, webhook de entrada sem API key e MCP remoto para agentes

Em resumo, as vantagens:

  • Menos gasto com LLM. Decisões que hoje custam uma chamada a um modelo grande passam a custar uma resposta tipada; o modelo grande só roda quando a decisão pede.
  • Resposta que o código entende. Escolha, nota ou probabilidade com confiança — nada de interpretar texto livre com regex.
  • Ação, não só resposta. Os destinos executam o próximo passo (avisar o time, chamar o agente, disparar o workflow) com entregas assinadas e retentativas.
  • Mudança sem deploy. Opções, limiares e destinos mudam no painel e ganham uma nova versão; a aplicação continua chamando o mesmo endpoint.
  • Rastreável. Cada decisão fica registrada com a versão do schema que a tomou, a confiança e o que aconteceu depois.
  • Sem amarra de motor. Comece no Jev hospedado e leve para o Laya no seu próprio servidor quando fizer sentido.

Uma ressalva honesta: cada decisão leva cerca de 1–2 s ponta a ponta. Isso cabe com folga antes de uma resposta de LLM, de um tool call ou de um envio — mas não é para colocar dentro de um laço que roda a cada token.


Coloque a primeira decisão no ar hoje. Escolha um dos seis casos — o guardrail de entrada é o mais rápido de montar — e teste no playground com o plano Genesis.

Crie sua conta no Dcision →