Skip to main content
A noul question asks something that is either true or false about the state: is this ticket urgent, is this clause exclusive, is this message spam. Instead of a word, you get back the probability that the answer is yes. This page is for developers who gate an action on a yes/no judgement and need to decide where to draw the line.

The shape

A noul always has exactly two answers, named yes and no. You do not name them yourself, and they are the names other questions use in ask_if to depend on this one. Unknown keys inside a question are refused with 400 invalid_body. Use criteria when the question alone leaves room for doubt. “Urgent” means different things to different teams; spelling out both sides tells the model where your boundary is.

Ask it

This run asks one noul question about a support ticket.

Read the answer

In the ticket-triage run from the decision runs guide, the urgent question came back as:
So this ticket is urgent with probability 0.83. A noul answer has no confidence field and no choice field: probability is the whole answer. If you need a word, derive it yourself, and see the next section before you reach for 0.5.

Turn the probability into an action

A probability is only useful once you compare it with a threshold, and the right threshold depends on what each kind of mistake costs you, not on the model.
  • A false yes is acting when you should not have: paging someone at night, blocking a legitimate payment.
  • A false no is not acting when you should have: a churn threat that waits a day, a fraud that goes through.
When a false no is the expensive mistake, set the threshold low so more cases count as yes. When a false yes is the expensive one, set it high. There is no threshold that is right for every question, and 0.5 is only right when both mistakes cost the same. You do not have to choose between two outcomes. Two thresholds give you three bands: act automatically above the upper one, do nothing below the lower one, and send everything in between to a person.
To choose the thresholds, run the question over a sample you have already labelled by hand, then pick the values that give an acceptable rate of each mistake on that sample. Re-check them whenever you change the instructions or the criteria: the wording moves the probabilities.

When to distrust the number

  • answered_within_labels: false: the model’s most likely token was neither yes nor no. The probability is a renormalisation over two labels the model did not favour. Send the item to a person, whatever the probability says.
  • A low label_mass: most of the probability went elsewhere. Rephrase the question so that yes or no is a natural reply.
  • Values that cluster around your threshold: try draws from 2 to 8. With more than one draw, the run’s cost_basis is estimated.

Write good noul questions

  • Ask one thing. “Is this urgent and about billing?” is two questions; split it into a noul and a choice.
  • Make yes the actionable case, so a high probability always means “do something”.
  • Put the definition in criteria, not in a longer instructions string. Keep instructions short.
  • When the answer has more than two outcomes, or an order, use a choice or a score question instead of several noul questions.

What goes wrong