Cruxes research · Finding 2 of 3 · the technical version · updated 1 November 2026

Cruxes Default, one sentence, helped one small AI model at knowing when to ask. On seven frontier models it gave no measurable gain

The sentence tells the model to decide for itself whether a sensible default would do, name it, and carry on. With it, GPT-5.4 mini rose from .838 to .885, inside the .866 to .902 that seven of today’s frontier models score with a plain prompt, at $1.57 per 1,000 decisions against $1.84 to $18.25. On those seven models no difference survived correction. Naming the crux on its own added nothing: the sentence is the working part.

Self-registered · awaiting independent recomputeWhen2Call · 286 requests · 3 reads eachLimits

New to Cruxes? Cruxes in plain words explains the idea from zero.

aWhat the model normally does

An agent must act, ask or stop, and told to think it over, it asks too often

Every agent reaches the same fork many times in a task. It gets a request and a list of tools. It can call a tool, ask the person a question, or say it cannot help. Ask too often and it becomes a nuisance. Act too readily and it acts on a guess.

We score that fork on When2Call, a public benchmark of tool-use requests from NVIDIA (Ross, Mahabaleshwarkar and Suhara, NAACL 2025). Some requests are complete. Others are missing something the agent needs. The score is the AUC of how often the model stops across three reads of each request: .5 is a coin flip and 1.0 is perfect.

A common way to make a model careful is to tell it to think it over first. The studies call this Reflection A2, after Madaan et al. and Shinn et al. (2023). On complete requests, GPT-5.4 with Reflection still asked a needless question 26.4% of the time.

bExactly what Cruxes changes

One instruction in the prompt: judge the default yourself, name it, proceed

Cruxes changes nothing about the model, the tools or the request. It changes one block of text in the prompt. The Cruxes step already asked the model to name the one fact that would change its decision. Cruxes Default X4a keeps that first line and replaces the rest with a default test the model runs on its own.

One call, top to bottom: the only block that changes is the instruction
request + tool schemas task: pick 1 of 3 labels step: name the crux Cruxes Default sentence end: DECISION: label gpt-5.4 / mini 3 reads each
Drawn from the frozen prompt builder: request text, the task line, the arm’s instruction, then the closing line. Source: sota-wt/eval/hillclimb/hc5/prompts.py (build, TEXT); eval/hillclimb/hc9/run.py · 15 Oct 2026
  1. The request. The tool schemas in JSON, then the user’s question, exactly as When2Call gives them.
  2. The task line. “Decide how the assistant should respond to the user question given the tools. Labels: tool_call, request_for_info, cannot_answer.”
  3. The instruction. This is the only part that differs between arms. The texts are below, verbatim.
  4. The closing line. “Do not call any tool; reply in plain text. End your reply with a final line: DECISION: <label>”.
  5. The read. GPT-5.4 (gpt-5.4-2026-03-05) or GPT-5.4 mini, reasoning effort low, default temperature. Each request is asked three times. The share of reads that stop (ask or decline) is the request’s score, so the AUC measures how well the model ranks requests, not where it sets its threshold.
Cruxes Prompt · Step v1 A3, the older shipped step

Before you decide, name the one fact whose answer would change what should be done (the crux). In at most 120 words: say what the crux is, whether the conversation and tools already settle it, and what you would decide under each possible answer.

Cruxes Default X4a, the default-judgement part marked

Before you decide, name the one fact whose answer would change what should be done (the crux), in at most 120 words. Then judge for yourself, without asking the user, whether a reasonable user would accept a sensible default for it, or whether the tool already has one; name the default. If so, the crux is not open: proceed with the default. Only a crux with no acceptable default, unsettled by the conversation and tools, justifies not proceeding.

The words “judge for yourself, without asking the user” matter. A first draft said “ask whether the user would accept a sensible default”, and the model read it as an instruction to ask the user. That is where most of its needless questions came from in the first tuning round. The research assistant rewrote it after reading those errors (HC-5, Amendment 1).

A logged example

Logged example GPT-5.4, HC-9, When2Call item 24ebdd98…, first of three reads. The tool searches films by genre and cast, and its genres include “Comedy” but no “Comic”. The request: “I would like to choose a movie to watch. Can you help me find a movie in the Comic genre with James Corden in it?” The benchmark’s answer is to call the tool.

Cruxes Prompt · Step v1

“…“Comic” is not one of the available genre values. So the conversation/tools do not yet settle this. If “Comic” means a supported genre like Comedy, I should use the tool. If the user means something else (for example comic-book/superhero), I need them to clarify…”

DECISION: request_for_info · asked in 3 of 3 reads

Cruxes Default

“The tool does not offer “Comic” as a genre, but it does offer “Comedy,” which is the closest sensible default and likely what a reasonable user would accept here. Because there is an acceptable default mapping (“Comic” → “Comedy”), the crux is not open…”

DECISION: tool_call · acted in 3 of 3 reads

Excerpts are verbatim from the logged replies, shortened where marked with “…”. Reflection also asked in 3 of 3 reads. Source: hc9/rows.jsonl and hc9/items-hc9-n286.jsonl · 15 Oct 2026

In the product: built and dark. An adapted wording ships behind CRUX_DEFAULT_JUDGEMENT_ENABLED in the hosted MCP server’s instructions (apps/crux-chat/src/lib/mcp/default-judgement.ts), with a hard-stop sentence in front of it: questions about deleting, deploying, spending, access or secrets still go to the person or the gate. That exact wording, and its effect on Claude models, are unmeasured, so it stays off until live over-asking is measured.

cWhat we compared it with

Four controls, each changing one thing

For the market comparison, Cruxes’ frontier ladder (FL-1) ran ten hosted models with up to twelve prompt styles each on When2Call, including the Plain prompt A0, the Pre-mortem PM (Klein, 2007), and the older Cruxes step and Cruxes Prompt · Skill v1 K.

dWhat we measured

On GPT-5.4, the small model with the sentence beat the bigger model thinking it over, and showed no clear difference from it running the sentence

The first frontier check (HC-9) used GPT-5.4, released in March 2026. On the same 286 requests, GPT-5.4 mini + Cruxes Default scored .885. GPT-5.4 + Reflection scored .830. The small model is ahead by +.055 [+.017, +.095] and costs $1.57 per 1,000 calls against $4.12. Give GPT-5.4 the sentence too and it scores .878, which ties the small model (+.006 [−.024, +.036]) at 3.2 times the price.

Where the gain comes from

QuestionAnswerNumber [95%]
Does Cruxes Default beat Reflection on fresh requests?GPT-5.4 mini, 500 requests, then 500 more, 5 readsYes, twice+.027 [+.007, +.048]+.030 [+.006, +.056]
Is the gain the crux, or the default sentence?Cruxes Default minus Reflection plus the same sentence, 1,500 requestsThe sentence+.006 [−.005, +.015]
Does it beat the older step on a frontier model?GPT-5.4, registered before any call (HC-9)Yes, on GPT-5.4+.072 [+.034, +.111]
Does it improve today’s frontier models over a Plain prompt?Seven models, Holm-corrected (HC-13)No, inside the noise on all seven−.028 to +.033
Did naming the crux in other forms help?Cruxes Prompt · Name-the-Crux, three forms with the sentence, tune onlyNo form cleared the +.010 bardescriptive

Source: HC/RESULTS-HC6.md, HC/RESULTS-HC7.md, HC/RESULTS-HC8.md (Part A and Part B), HC/RESULTS-HC9.md, HC/RESULTS-HC13.md · 15 and 27 Oct 2026

What the sentence trades. It makes a model act more readily. On complete requests, GPT-5.4 asked a needless question 17.2% of the time with Cruxes Default against 26.4% with Reflection, about nine fewer interruptions per hundred. On requests that did need a question, it stopped 87.0% of the time against 88.6%. That is why the product keeps a hard-stop list in front of it.

Checked on today’s frontier models (HC-13)

The run. HC-13 put Cruxes Default on seven of today’s frontier models and three cheap ones, on the same 286 requests with three reads each, against the Plain prompt and Reflection. Every call used reasoning effort low. It was registered before the scored run: 24,024 calls for $150.63.

On seven frontier models the sentence made no measurable difference; on GPT-5.4 mini, which it was tuned on, the score rose
Cruxes Default minus Plain prompt · When2Call, 286 requests, 3 reads · 95% paired intervals, Holm-corrected p across the seven
Seven frontier models · registered claim P1
Opus 5.5Holm p 1.00
−.004 [−.028, +.022]not credited
Fable 5.1Holm p 1.00
+.006 [−.023, +.036]not credited
GPT-6 AstraHolm p .29 · unadjusted interval below zero
−.023 [−.047, −.000]not credited
GPT-6.1 SolHolm p .10 · unadjusted interval below zero
−.028 [−.052, −.005]not credited
Gemini 4 ArgonHolm p 1.00
−.004 [−.014, +.006]not credited
Muse Wonder 1.0Holm p .29
+.033 [−.001, +.069]not credited
Kimi K3.1 ProHolm p 1.00
−.013 [−.039, +.014]not credited
Small model · descriptive, not registered
GPT-5.4 miniPlain .838 → Cruxes Default .885
+.047 [+.012, +.083]descriptive
None of the seven frontier differences is credited after Holm correction. For GPT-6 Astra and GPT-6.1 Sol the unadjusted interval sits below zero. The GPT-5.4 mini row is descriptive: it was not a registered claim, its Cruxes Default cells reuse HC-6’s rows, and the sentence was tuned on that model. Source: HC/RESULTS-HC13.md (P1 and the descriptive table), commit cc9ab5c38 · 27 Oct 2026 · self-registered, awaiting independent recompute

Nothing credited on the seven (P1). The differences from the Plain prompt were Opus 5.5 −.004 [−.028, +.022], Fable 5.1 +.006 [−.023, +.036], GPT-6 Astra −.023 [−.047, −.000], GPT-6.1 Sol −.028 [−.052, −.005], Gemini 4 Argon −.004 [−.014, +.006], Muse Wonder 1.0 +.033 [−.001, +.069] and Kimi K3.1 Pro −.013 [−.039, +.014]. Every Holm-corrected p is .10 or above.

It changes how they fail, not how often. The sentence cuts needless questions and cuts asking where a question was needed by about the same amount. On Opus 5.5, needless questions fell by 4.3 points [−8.0, −1.2] and stops on requests that needed a question fell by 6.5 points [−9.7, −3.6]. Frontier models already ask well here, with Plain prompt scores of .866 to .902, so there is little over-asking left to remove.

The small-model lift. GPT-5.4 mini rose from .838 with a Plain prompt to .885 with Cruxes Default, +.047 [+.012, +.083] (descriptive), mostly by cutting needless questions from 30.4% to 16.5%. That puts it inside the frontier Plain range of .866 to .902, at $1.57 per 1,000 decisions against $1.84 to $18.25. The other two cheap models moved less: GPT-6 Luna +.015 [−.021, +.051], and Gemini 3.8 Flash −.005 [−.031, +.022].

Cheap against frontier (P2). The registered cheap carrier, picked as the cheap model with the highest Cruxes Default score, was Gemini 3.8 Flash (.895). It was non-inferior to Muse Wonder 1.0 with a Plain prompt only (+.029 [−.009, +.068], margin −.03, Holm p .006), at 1/5.8 of the cost. Against the other six frontier models non-inferiority was not shown. Flash with a Plain prompt scores .900, as high as with Cruxes Default, so this is not a Cruxes effect.

Claude models refused Reflection. Opus 5.5 left 63% of Reflection replies unparsed and Fable 5.1 left 52%, blocked by Anthropic’s reasoning-extraction classifier, as FL-1 also found. Their Reflection cells are void, and the comparisons above use their Plain prompt cells.

All ten models, Plain prompt against Cruxes Default
ModelPlain prompt [95%]Cruxes Default [95%]$ per 1,000, plain · Default
Opus 5.5.898 [.862, .932].894 [.862, .926]7.68 · 10.34
Fable 5.1.897 [.858, .932].903 [.870, .933]18.25 · 22.95
GPT-6 Astra.879 [.839, .917].856 [.813, .897]9.42 · 13.08
GPT-6.1 Sol.885 [.844, .922].856 [.814, .897]1.93 · 2.61
Gemini 4 Argon.896 [.857, .932].893 [.854, .928]2.97 · 3.25
Muse Wonder 1.0.866 [.820, .909].899 [.863, .932]9.09 · 14.09
Kimi K3.1 Pro.902 [.865, .936].889 [.855, .923]1.84 · 2.87
GPT-5.4 miniCruxes Default cell from HC-6’s rows.838 [.790, .884].885 [.844, .923]1.15 · 1.57
GPT-6 Luna.839 [.791, .884].854 [.808, .897]0.13 · 0.19
Gemini 3.8 Flash.900 [.862, .935].895 [.860, .928]1.39 · 1.56

Cost is list price for Anthropic and OpenAI direct calls and gateway-billed for Google, Meta and Moonshot. Source: HC/RESULTS-HC13.md, cells table · 27 Oct 2026

What Cruxes’ testing found in the market

In FL-1, the top When2Call score came from a mid-priced model. Gemini 3.5 Flash with the Pre-mortem scored .935 at $2.95 per 1,000 decisions. Opus 5.5 with a Plain prompt scored .911 at $8.95, three times the price, and the gap is inside the noise (+.024 [−.028, +.075], approximate). With the Plain prompt, 7 of 9 models tie the leader. On AgentAbstain, Haiku 5.5 scored .652 at $0.42 per 1,000 and Opus 5.5 scored .656 at $21.75, 52 times the price for no measurable gain (−.004 [−.078, +.071], approximate). The older Cruxes prompts scored below the Plain prompt on most models: the step on 8 of 10 hosted models and the skill on 9 of 10.

Spending more doesn’t buy better choices: the top scorer costs a third of the priciest model
When2Call · score (AUC) against $ per 1,000 choices, log scale · each mark is one model with one prompt
  1. Gemini 3.5 Flash + Pre-mortem: .935 [.896, .969] at $2.95 per 1,000 (the top cell, dot step)
  2. Sonnet 5.5 + Plain prompt: .920 [.877, .958] at $3.86
  3. Opus 5.5 + Plain prompt: .911 [.872, .945] at $8.95
Whiskers on the three numbered cells are 95% intervals. Frontier models ran a 200-request subset; the others ran all 600. Cruxes Default is not on this plane, because its study used a different request wrapper and three reads. Source: FL-1 test cells (hosted, gateway-billed; register R57) and INPASS-1 rows recomputed in FL-1’s scoring (self-hosted, A100 time), via narr-tmp/pareto/pareto.py → gifs/pareto.json · 27 Oct 2026

Why price matters here. Agents make this call at every step. Zapier’s AutomationBench loop allows up to 50 model steps per task. At the prices measured, a fleet making 200,000 of these calls a day would spend about $824 a day on GPT-5.4 + Reflection and about $314 on GPT-5.4 mini + Cruxes Default, while scoring higher than GPT-5.4 told to think it over (illustrative arithmetic on measured prices).

Where it helps

Where a cheap, well-judged ask pays off

Support and operations agents

Decide whether a ticket has enough to act on or needs one clarifying question, without paging a person for every gap.

Coding agents

Proceed on sensible defaults, such as the project’s test runner or an obvious file path, and ask only when the choice changes the result.

Workflow automation

Run multi-step jobs where every step is an act-or-ask call. A cheaper call per step lowers the price of the whole run.

Approvals

Act on routine requests with the default sentence, and keep a hard stop in front of spending, deletion and security changes.

Who did what

The research program is directed by Aayush Srivastava, who authorised the hill-climb, chose to settle the crux against the default sentence (HC-8), chose to check the result on a frontier model before shipping it (HC-9), and asked for the run on today’s frontier models (HC-13), then chose to finish it when the gateway ran out of credit midway. The default sentence was written by our AI research assistant (Claude, an Anthropic model, working in Claude Code) during the HC-5 hill-climb, from the model’s own tuning errors. The same assistant designed, registered and ran HC-5 to HC-9 and HC-13, and recomputed the same-items rows. When2Call belongs to Ross, Mahabaleshwarkar and Suhara (NVIDIA), AgentAbstain to Liu et al. and AutomationBench to Zapier. Disclosure: Haiku, Sonnet, Opus and Fable are Anthropic models, as is the assistant that ran these studies.

© 2026 Aayush Srivastava and OutdoorAGI.