Como escrever prompts para Modelos de Decisão estilo Jev

Última atualização:

Trate o prompt como um contrato de decisão

Sistemas estilo Jev escolhem dentro de um schema; eles não consertam uma pergunta ambígua com uma explicação longa. Escreva o julgamento exato de que seu código precisa, torne os critérios observáveis no state e mantenha uma decisão por pergunta.

Padrão robusto para choice

{
  "state": {
    "subject": "Seu pedido #124 foi enviado.",
    "sender_domain": "loja.exemplo"
  },
  "question": "Classifique esta mensagem pelo objetivo principal. Escolha transactional apenas quando comunicar uma operação concluída do cliente; escolha marketing apenas quando promover uma oferta.",
  "choices": ["transactional", "marketing", "support", "spam"]
}

Esse contrato tem assunto nomeado, choices mutuamente exclusivas e uma fronteira entre os dois resultados plausíveis. Ele não pede que o modelo calcule, deduza uma regra de negócio não declarada ou escreva prosa.

Checklist antes de colocar em produção

  1. Declare a condição positiva e o caso de fronteira relevante; evite negações implícitas como “não é inseguro a menos que…”.
  2. Faça as choices mutuamente exclusivas e coletivamente suficientes. Adicione other apenas se seu código tiver um caminho seguro para tratá-la.
  3. Filtre state irrelevante antes da inferência. Mantenha nomes de campos e fatos perto do critério que sustentam.
  4. Calcule números, datas, limiares e permissões em código. Peça ao modelo apenas classificação semântica.
  5. Separe julgamentos compostos ou em múltiplas etapas; não esconda uma cadeia de raciocínio em um boolean.
  6. Teste casos normais, de fronteira, adversariais e com ordem das opções invertida usando respostas rotuladas.
  7. Ajuste e monitore confiança com seus dados. Probabilidade bruta alta não prova calibração.

Padrão de roteamento seguro

Use confiança como sinal de roteamento, não como prova:

decision = decide(state, question, choices)
if decision.confidence < 0.85 or decision.option_order_changed:
    return escalate_to_review_or_system_two(state)
return handle(decision.answer)

O limiar vem do seu conjunto de validação rotulado e do dano de uma ação automática errada. Ele não deve ser copiado entre perguntas choice, boolean e score.

Cuidado específico por modelo

Jev documenta interpretação literal, fragilidade em números/datas, sensibilidade a indirection e state ruidoso, além da necessidade de critérios precisos. Alternativas abertas podem ter limites adicionais de contexto, calibração ou ordem das opções. Use este padrão como base comum e valide cada modelo com o protocolo local de benchmark antes de produção.