Skip to content
Docs / Questions

Questions: Choice, Score and Noul

A question is one narrow judgment. You ask as many as you like in one request; each gets its own answer. The format is Jev's, field for field.

json
{
  "model": "bank-support@latest",
  "state": { "message": "…", "amount": 86.5 },
  "questions": {
    "topic":       { "type": "choice", "instructions": "What is the customer writing about?",
                     "criteria": { "lost_stolen": "lost, stolen or compromised card", "refund": "wants a refund" } },
    "urgency":     { "type": "score", "instructions": "How urgent is it?", "criteria": ["can wait", "today", "right now"] },
    "needs_human": { "type": "noul", "instructions": "Does this need a person?",
                     "criteria": { "true": "a person must handle it", "false": "can be handled automatically" } }
  }
}

Leave out questions to ask every question your domain knows. instructions and every criterion can be text, an object or an array.

Choice

One of up to 255 named options.

json
{ "type": "choice", "choice": "lost_stolen", "confidence": 0.93,
  "probabilities": { "lost_stolen": 0.93, "unrecognised": 0.06, "refund": 0.004 }, "source": "trained" }
  • choice is the most likely option; probabilities add up to 1.
  • confidence is the probability of choice.
  • Write contrastive criteria: say what an option is for, and what it's not for. It helps your day-one backend, and it's how options are described to your model too.

Score

A position on 2 to 10 ordered, described levels.

json
{ "type": "score", "score": 1.62, "confidence": 0.58,
  "legend": { "0": "can wait", "1": "today", "2": "right now" },
  "probabilities": { "0": 0.02, "1": 0.34, "2": 0.64 }, "source": "fallback" }
  • score is the probability-weighted level: the sum of each level times its probability.
  • confidence is the largest single probability.
  • legend echoes your level descriptions.

Score explorer

A Score answer is a probability for each level. score is the weighted average; confidence is the biggest single probability.

2%
6%
84%
8%
score
1.98
confidence
0.84

Reads as "Today", with a clear lead for one level.

Noul

The probability that a yes-or-no statement is true, from 0 to 1.

json
{ "type": "noul", "noul": 0.31, "source": "fallback" }

A Noul has no separate confidence: the number is the confidence. Treat 0.5 as "no idea" and set your own cut-offs in code.

Where each answer comes from

Every answer carries source:

sourceWho answered
trainedyour own model, learned from your cases
fallbackyour day-one backend, until the question graduates (Day one)
ruleyour rules left only one option

Good questions

  • Atomic. One judgment per question. "Is this a refund request?" and "How urgent is it?" beat one question that tries to do both.
  • Stable. Questions you ask on every case are the ones worth a model of their own. One-off questions are fine too: they're answered by your fallback.
  • Combine in code, or declare a decision. Weights, cut-offs and routing live in your code, or in the domain's decision.