Support Ticket Routing with a Judgment-Only Model
Updated 2026-09-22
The scenario
A support queue receives hundreds to thousands of tickets a day. Each one needs to land in front of the right team — billing, technical, account management, sales — and the genuinely urgent ones need to jump the line. Misrouted tickets bounce between queues, doubling response time; a human reading every ticket just to route it is the most expensive sorting algorithm you can buy.
Why Jev fits
Routing is a closed-world decision repeated at volume: pick one of N queues, for every ticket, all day. That is exactly the Choice primitive — up to 255 options with per-option probabilities and a confidence value you can gate on. At a reported $0.042 per million input tokens with output free (early-access pricing — verify at jev.com), judging every ticket on arrival costs less than judging one ticket in a hundred with a frontier LLM.
Judgment design example
Structured input per ticket:
| Field | Example |
|---|---|
subject | "Charged twice for September" |
body_excerpt | first ~500 characters |
customer_plan | enterprise |
account_age_days | 412 |
previous_tickets_30d | 2 |
channel |
Judgments to define:
- Noul (binary): "Is this an auto-generated notification or spam rather than a real customer request?" → yes → auto-archive, never touches a queue.
- Choice: "Which team owns this?" →
billing/technical/account/sales. Confidence below your threshold → route to a general triage queue instead of guessing. - Score: "Urgency, 1–5" → enterprise customer + service-down language sorts above a feature question, regardless of arrival order.
Where the LLM sits
Downstream of the verdict, twice. First, an LLM can draft a response only for tickets Jev routes as real and urgent — the expensive generation happens where a reply will actually be sent. Second, borderline tickets (low Choice confidence) can be escalated to a larger model for a slower second opinion, the classic cascade routing pattern. Jev's job ends at the routing slip; it never writes to the customer.
Watch-outs
- Confidence gating is the safety valve. A forced choice between four wrong queues is worse than an honest "unsure" — send low-confidence tickets to human triage rather than accepting the top probability blindly.
- Language coverage. Multilingual queues should be judged per-language; early independent testing suggests accuracy varies by task, so measure on your own ticket distribution before trusting the router unattended.
- VIP and legal overrides. Hard-coded rules (key accounts, legal threats, chargeback language) should bypass or annotate the model verdict — some routing decisions are policy, not judgment.
Sources
- learnjev.com — Three Primitives tutorial (Choice semantics: probabilities + confidence, ≤255 options) and the cost/benchmarks tutorial used for the pricing context.
- jev101.com — application-scenario coverage of ticket/mail routing patterns (邮件分流) that informed the lane structure.
- "Jev: The New AI Model That's Breaking The Internet (Full Tutorial)" — Moritz (~43K views) — judgment-as-routing-layer demos.
- "Jev + GPT-6 Astra = 400X Cheaper" — Jack Roberts (~21K views) — the filter-then-generate cost framing. Treat multiplier claims as directional, not benchmarks.
Unofficial fan-made handbook. Not affiliated with TypeSafe AI or jev.com.
Related Guides
Document Triage: Type and Urgency on Two Axes
Sort inbound documents — contracts, invoices, resumes, tickets — by type with Choice and by urgency with Score, so each document class gets its own downstream pipeline and deadline.
Intent Classification: The Front Door of a Chatbot
Classify user messages into intents (and urgency) before any LLM touches them — so simple requests get cheap handlers and only genuinely open-ended messages reach the expensive model.
RAG Reranking: Filtering Retrieval Results by Relevance
Use Jev-style Noul judgments to batch-score retrieved chunks for relevance and keep only the top-k — so the LLM answers from signal, not from whatever the vector search coughed up.
Validating Structured Extraction: Code First, Judgment Second
Pair deterministic code validation (schema, types, ranges) with a Jev-style semantic review pass — catch the extraction errors that parse fine but mean the wrong thing.