Noul
A yes-or-no question. The answer is one number: how likely the answer is yes.
Shape
Question
{ "type": "noul", "instructions": "…", // optional: the question "criteria": { // optional "true": "what counts as yes", // optional "false": "what counts as no" // optional }}Answer
{ "type": "noul", "noul": 0.04, "stats": {} }noul is the probability of yes, between 0 and 1. The probability of no is 1 - noul. A noul answer has no separate confidence: a value near 0 or 1 is a confident answer, a value near 0.5 is not.
Example
The customer wants a replacement, not their money back. The criteria spell out where store credit and chargebacks belong, so the model does not have to guess.
Request
curl -s "https://api.vakyn.com/v1/systemone" \ -H "Authorization: Bearer $TYPESAFE_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "jev-latest", "state": "Hi, the blender I bought last week stopped working. Can you send me a new one? I do not want my money back.", "questions": { "wants_refund": { "type": "noul", "instructions": "Is the customer asking for their money back?", "criteria": { "true": "They ask for a refund, a chargeback or store credit.", "false": "They ask for a repair, a replacement or something else." } } } }'Response · 200
{ "model": "vakyn-fake", "answers": { "wants_refund": { "type": "noul", "noul": 0.04, "stats": {} } }, "usage": { "input_tokens": 58, "output_tokens": 0 }, "assets_used": null}Describing yes and no
Without criteria, the model weighs a plain "yes" against a plain "no". With them, it weighs your descriptions. Descriptions help most when the boundary is a matter of policy rather than language:
| Question | Useful criteria |
|---|---|
| Is this message spam? | true: unsolicited promotion or phishing; false: anything from a real customer, even if rude |
| Does the invoice need approval? | true: total over 5,000 or a new supplier; false: everything else |
| Is the reviewer recommending the paper? | true: accept or minor revisions; false: major revisions or reject |
You can describe only one side; the other stays a plain yes or no.
Using the answer
- Pick the threshold from what a mistake costs, not 0.5 by default. Flagging an urgent message at
noul > 0.3trades a few false alarms for fewer misses. - Keep a middle band for people: act automatically above 0.9 or below 0.1, ask a human in between. See routing by confidence.
- One fact per question. "Is it urgent and about billing?" hides which half was true; ask two nouls in the same request instead.