On BFCL function-calling, longer reasoning tracks wrong answers — but most of that is problem difficulty, not the thinking itself.
Each point is a 40-token bin; y is the share of samples in that bin that passed. The rightmost point is 800+ tokens. Monotonic collapse from ~92% to ~41%.
Length distribution within each outcome class (each curve sums to 100% of its own class), per model. Correct answers pile up short; wrong answers have a long right tail.
This is a difficulty control: the collapse above conflates length with difficulty, so here we hold the problem fixed and compare, on the same problem, the samples the model got wrong against the ones it got right (mixed-outcome problems only). The wrong attempts think only slightly longer, winning the "longer" coin-flip just 54% of the time — so most of the aggregate effect was difficulty.
Point-biserial correlation between output tokens and correctness, per category (all negative). Strongest where the task is open-ended (live_multiple); weakest on relevance/parallel.
Count of the word “wait” (case-insensitive, word-boundary; “but wait” is the stronger self-correction marker) per rollout — a proxy for how much the model second-guesses itself. Wrong answers average 3–4× as many.
Same difficulty control as §3, on the same mixed-outcome problems: comparing wrong vs right attempts on the same problem, the “wait” and “but wait” signals disappear. The wrong attempt carries more of them only about half the time (or less) — so unlike CoT length (which kept a ~54% tilt), the strong aggregate correlations above are entirely problem difficulty, not a per-attempt cause of failure.
Ten mixed-outcome problems per model (both a correct and a wrong answer exist among the 100 samples). Each shows a representative pair — the passing and failing samples nearest the median CoT length for their class, so neither is cherry-picked. The reasoning trace is collapsed; expand it to read what the model was thinking.
A logistic-regression probe (~4–5k parameters, no fine-tuning) reads Qwen3's residual stream at end-of-thinking — mean-pooled at a mid-late layer (8B: 27/36, 14B: 30/40) — and predicts correct vs. wrong for each rollout. Trained on the mixed set, scored on the held-out eval split (7,376 rollouts, seed 0). The overall AUROC mixes problem difficulty with per-attempt signal; the difficulty-controlled within-problem AUROC (the honest headline) is lower but still well above the 0.5 chance line — and far above the ~0.5 that surface features (length, “wait”) gave.
Probe-score distribution — for each model, the density of the probe's output p(correct) computed separately over the rollouts that are actually correct vs actually wrong (each curve is normalized to integrate to 1). A good classifier pushes the correct mass toward p=1 (right) and the wrong mass toward p=0 (left); where the two curves overlap (p≈0.2–0.7) the probe assigns similar scores to both classes and can't separate them. 8B is more sharply bimodal — confident at the extremes — than the flatter 14B.
Worked example — one held-out problem (irrelevance_101): its 10 rollouts scored out-of-sample (the probe never saw them), ordered by decreasing p(correct). Green = correct, red = wrong; expand any row to read its chain-of-thought. Here the probe separates the 5 correct refusals from the 5 spurious calls perfectly (within-problem AUROC 1.0) — an easy category; the aggregate is 0.675.
§7 was a linear probe on 10k rollouts. Here we scale to 100k training rollouts and swap the linear layer for a small MLP (one hidden layer), same held-out eval. Two levers, both significant on both models: data (10k→100k, probe held linear) and capacity (linear→MLP, data held at 100k) — and the MLP only overtakes linear once it has the 100k data (they tied at 10k). Inference is negligible either way (linear ≈0.3 µs/rollout, MLP ≈20–30 µs) and both reuse the generation activations — vs a full LM-judge forward pass (~10⁷× more compute). Caveat: problem overlap → seen-problem generalization.
Best-of-N = the probe as a selector: among a problem's N eval rollouts, pick the top-scored one (random tie-break); the number is the fraction of problems where that pick is correct. N = the problem's eval rollouts — 2 to 4 (mean 3.18), since the eval set keeps at most 2 rollouts per class per problem; 2,319 (model, id) problems. Anchors: random pick = expected accuracy of picking uniformly (the per-problem correct rate, averaged); oracle ceiling = a perfect selector (problem counts if any of its rollouts is correct).
Probe-score distribution (100k MLP) — correct vs wrong; far sharper separation than the 10k linear in §7.
Leading bin (<250 samples, <80 tokens) omitted from chart 1 as noise. Correlation is not causation: chart 3 is the difficulty-controlled read. Cards show the sample nearest each class's median length; error type is BFCL's grader verdict. §8 100k/MLP run: 100k train / same 7,377 eval; both data & capacity gains outside the 95% CIs.