Prompting Jev-like Decision Models
Treat the prompt as a decision contract
Jev-like systems choose from a schema; they do not repair an ambiguous question with a long explanation. Write the exact judgment your code needs, make the criteria observable in the state, and keep one decision per question.
A robust choice pattern
{
"state": {
"subject": "Your order #124 has shipped.",
"sender_domain": "store.example"
},
"question": "Classify this message by its primary purpose. Choose transactional only when it communicates a completed customer operation; choose marketing only when it promotes an offer.",
"choices": ["transactional", "marketing", "support", "spam"]
}
This contract has a named subject, mutually exclusive choices, and a boundary between the two plausible outcomes. It does not ask the model to calculate, infer an unstated business rule, or write prose.
Checklist before shipping
- State the positive condition and the relevant boundary case; avoid implied negation such as “not unsafe unless…”.
- Make choices mutually exclusive and collectively sufficient. Add
otheronly when your code has a safe handling path for it. - Filter irrelevant state before inference. Put field names and facts close to the criterion they support.
- Compute numbers, dates, thresholds, and permissions in code. Ask the model only for semantic classification.
- Split multi-hop or compound judgments into separate questions; do not hide a chain of reasoning in one boolean.
- Test normal, boundary, adversarial, and reversed-option cases with labelled answers.
- Fit and monitor confidence on your data. A high raw probability is not evidence of calibration.
Safe routing pattern
Use confidence as a routing signal, not proof:
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)
The threshold belongs to your labelled validation set and the harm of a wrong automatic action. It should not be copied between choice, boolean, and score questions.
Model-specific caution
Jev documents literal interpretation, weak numerical/date reasoning, sensitivity to indirection and noisy state, and the need for precise criteria. Open alternatives may have additional context, calibration, or option-order limits. Use this pattern as a common baseline, then validate each model with the local benchmark protocol before production.
