Guides / Cookbooks
Cookbooks · Techniques · Intermediate · about 8 min
Self-consistency: three wordings
Ask the same question in three wordings in one request. If the answers agree, the wording is sound; if one disagrees, find out why before you act on it.
When to use it
Before you put a new question into production, and whenever a question's wording is changed. Three wordings in one request cost little more than one (Ask many questions in one request).
The request
{ "model": "ora-fin1", "state": { "symbol": "TSLA" }, "questions": { "drop_a": { "type": "yes_no", "instructions": "Will it drop at least 5% at some point in the next month?" }, "drop_b": { "type": "yes_no", "instructions": "Over the coming month, will it trade at least 5% below the latest close at any point?" }, "drop_c": { "type": "yes_no", "instructions": "Within roughly 21 trading sessions, will the low reach 5% or more under the current price?" }, "up_a": { "type": "yes_no", "instructions": "Will the stock be higher in a week?" }, "up_b": { "type": "yes_no", "instructions": "Five trading days from now, will it close above the latest close?" }, "up_c": { "type": "yes_no", "instructions": "Will next week end with the price up from where it is now?" } } }Open this in the PlaygroundThe real response
{ "model": "ora-fin1", "answers": { "drop_a": { "type": "yes_no", "yes_no": 0.638 }, "drop_b": { "type": "yes_no", "yes_no": 0.593 }, "drop_c": { "type": "yes_no", "yes_no": 0.184 }, "up_a": { "type": "yes_no", "yes_no": 0.487 }, "up_b": { "type": "yes_no", "yes_no": 0.534 }, "up_c": { "type": "yes_no", "yes_no": 0.496 } }, "usage": { "input_tokens": 483, "output_tokens": 24 }, "context": { "source": "server", "symbol": "TSLA", "as_of": "2026-10-30" }, "version": "ora-fin-0.1.1" }The week question is consistent:
up_a,up_b,up_cspan 0.047. The drawdown question is not:drop_a0.638 anddrop_b0.593 agree, butdrop_cis 0.184, a spread of 0.454. The third wording ("the low reach 5% or more under the current price") is the odd one out, so it is the one to drop, and the plain wording stays.The code
Requires curl 7.76+. Save as run.sh, then: bash run.shcurl -sS https://oramodel.com/v1/systemone \ -H "Authorization: Bearer $JEV_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "ora-fin1", "state": { "symbol": "TSLA" }, "questions": { "drop_a": { "type": "yes_no", "instructions": "Will it drop at least 5% at some point in the next month?" }, "drop_b": { "type": "yes_no", "instructions": "Over the coming month, will it trade at least 5% below the latest close at any point?" }, "drop_c": { "type": "yes_no", "instructions": "Within roughly 21 trading sessions, will the low reach 5% or more under the current price?" }, "up_a": { "type": "yes_no", "instructions": "Will the stock be higher in a week?" }, "up_b": { "type": "yes_no", "instructions": "Five trading days from now, will it close above the latest close?" }, "up_c": { "type": "yes_no", "instructions": "Will next week end with the price up from where it is now?" } } }'from statistics import median def consistent(answers, names, max_spread=0.10): v = [answers[n]["yes_no"] for n in names] return max(v) - min(v) <= max_spread, median(v) ok, p = consistent(data["answers"], ["drop_a", "drop_b", "drop_c"]) if not ok: flag_for_review("drop wordings disagree") # don't act on pAct on it
A wide spread is a problem with the question, not a signal about the stock. Rewrite or remove the outlier, re-run, and keep the clearest wording as the one you use from then on. A narrow spread lets you use the median and move on.
Variations
- Use it once when designing questions, not on every call.
- The Paraphrase check examples pair wordings with the real outcome.
- Text questions: compare the winning
choiceacross wordings, and treat disagreement as low confidence.
Information, not investment advice. Every number on this page is a real response for the session shown; answers change with each session.