whitepaper · agentic harness design
Verdict-gated speech, or reasoning while speaking: letting a language model answer immediately and audibly repair itself.
Reasoning models charge a tax before their first token. They deliberate in a private trace, and while they deliberate, the user gets silence — seconds of it, sometimes minutes. The tax buys correctness, and for written answers the trade is usually right. But it encodes an assumption worth questioning: that an answer must be finished before it may begin.
Humans do not work this way. Asked a question, a person starts talking within a second — with repetition, common knowledge, a committed first guess — while retrieval and reasoning spin up behind the words. When the deeper result lands, it steers the utterance mid-stream. Sometimes it contradicts what was just said, and the person repairs out loud: "— wait, no, that's not right." Crucially, speech is append-only. Nothing is ever unsaid; correction is always additive. In that one property, human speech and autoregressive decoding are identical — which means the pattern is implementable on today's models without any architectural change.
What blocks it is not a mechanism but a norm. We currently expect a single polished answer, so visible error reads as low quality. But the current norm does not actually deliver correct answers — it delivers confidently formatted ones, with the errors left standing and never repaired. If the expectation shifts from "always right" to "wrong sometimes, but visibly self-correcting," a different interaction becomes available: one where the answer starts immediately and its confidence trajectory is part of the information.
Pieces of this exist across recent research. Interleaved-reasoning training alternates thinking and answering tokens, cutting time-to-first-token dramatically. The SxS line of work ("when to think, when to speak") makes disclosure a learned policy and names the central hazard — premature commitment, an early claim biasing everything that follows. Speech-model work interleaves reasoning tokens between spoken ones. Diffusion language models genuinely revise drafted tokens during denoising. Multi-stream architectures run thought, input, and output as parallel streams.
None of them put the repair in the audible answer. Interleaved approaches delay commitment but never retract; diffusion revises inside the denoising loop, before the user sees anything; reasoning models normalized visible "wait, that's wrong" — but only inside a collapsed thinking trace, never in the reply itself. The gap this paper's mechanism fills is narrow and specific: reasoning that visibly reshapes an answer while it is being delivered, with self-repair as spoken content rather than hidden process.
Two roles, one voice. A speaker streams an opening instantly — prompted as the "immediate voice," one or two committed sentences, hedging forbidden. A reflector runs in parallel; the moment the opening finishes generating (typically while it is still being displayed at speech pace), the reflector receives the question plus the actual words and returns a verdict with corrective guidance. The verdict gates what happens to the stream:
Every continuation is itself checked: its reflection launches on the intended text the moment the continuation call returns, while the words are still being spoken — so a repair can itself be interrupted and repaired. The loop runs until a good verdict or a hard cap on reflections. Two guardrails matter: the cap defeats a perfectionist reflector that never settles, and framing the reflector as a skeptical checker of specific claims and literal constraints defeats a rubber stamp.
One subtle bug earned its own fix. Because reflection judges generated text, a cut can land before the flagged error was ever displayed. The repair prompt then compels a confession, and the model — finding nothing wrong in the spoken words — invents a mistake to confess. The fix is a confession gate: repair narratively only what was actually said; if the error lived in the discarded tail, continue cleanly instead. You should only hear "I was wrong" when something wrong was audible.
Two runs from the prototype carry the argument. The first is the failure that motivated the loop. An early version judged the predicted surface answer rather than the spoken words. Asked about lightning striking twice, the fast voice debunked the myth immediately — and was interrupted anyway, forced into repairing a mistake it never made:
Both streams were right; the system manufactured a contradiction. The lesson generalizes: reflection must judge what was actually said, not what was likely to be said. The loop version internalizes this — the reflector always receives the utterance itself.
The second run is the payoff. A generate-hard, verify-easy task — "write one sentence of exactly ten words, each word longer than the previous" — pushed the loop through five reflections. Early rounds attempted whole sentences and failed verification. Then something unprompted happened: the voice abandoned generate-then-check entirely and switched to incremental construction, selecting each word by its letter count before committing:
The final sentence is valid: word lengths one through ten, strictly increasing. The opening blurt was not. A deterministic in-browser grader (letter counts, arithmetic checks — no LLM judge) records exactly this gap, blurt-accuracy versus final-accuracy, across runs.
Three, and they are structural. First, the same-weights ceiling: speaker and reflector share one model, so errors the model family cannot perceive survive every round. Self-critique without an external signal or a capability asymmetry is the known weak point of this entire pattern; the loop mitigates it only for tasks where verification is genuinely easier than generation.
Second, the written-medium cost. Reading a five-round repair transcript is work. In persistent text, the wrong opening stays visible above its correction, reads as lower quality, and can be quoted out of context. For written chat, a reasoning model's collapsed trace plus clean answer is simply better UX. This is not a small caveat — it is why no chat product ships the pattern, and the reason is sound.
Third, the evidence status. One vivid run is an anecdote. The scoreboard exists precisely because vivid runs are seductive; until the final-versus-opening accuracy gap holds across dozens of graded runs, "the loop makes answers better" remains a hypothesis with one good story. A further honest note: reflection also interrupts utterances that are not wrong but merely unfinished — the current three-verdict gate has no concept of work in progress, and a fourth verdict (working: stay silent, re-check when the segment completes) is the obvious next fix.
Voice. Speech is ephemeral: an early wrong claim costs nothing, the repair is the last word, and memory favors it. Today's voice assistants either answer shallowly and instantly, or reason well behind an awkward silent pause — the silence tax, paid in the medium least able to afford it. Verdict-gated speech is arguably the correct native design for a real-time voice agent: start talking within a second, let reasoning confirm silently in the common case, and interrupt audibly in the rare case where the blurt was wrong. The mechanism is small enough to name and transfer: a three-way verdict gate over a speaking stream — silent, flow, cut.
A serious build changes three things the prototype could not. Model asymmetry: a fast, cheap speaker (whose fallibility is a feature) against a slower reflector running extended thinking — restoring the capability gap the loop's logic assumes and directly attacking the same-weights ceiling. Streamed continuations, so repairs begin as fast as openings. And reflector determinism (temperature zero, structured output) in place of prompt-format parsing.
You are the immediate voice — the very first words a person says out loud before they have had any time to think. Answer instantly from surface impressions and common knowledge in ONE or at most TWO short sentences. Conversational spoken register. Commit to a definite answer even if unsure. Never hedge, never say you need to think, never mention being an AI. No lists — pure spoken prose.
You are the reflective mind fact-checking what a speaker has just said aloud. You get a QUESTION and the UTTERANCE spoken so far. Skeptically check the utterance's specific claims (facts, figures, arithmetic, examples, logic) AND whether it satisfies every explicit constraint of the question — verify constraints literally (count the words, check each length, redo the arithmetic digit by digit). Judge it as a final answer to the question: - good: factually correct and sufficient — nothing worth adding aloud. - refine: essentially right, but incomplete, imprecise, or a specific claim needs adjustment. - repair: contains a genuine factual or logical error. Be strict about real errors, but do not invent problems — if it is right and adequate, say good. An already self-corrected mistake earlier in the utterance is fine if the final position is correct. Reply in EXACTLY this format, nothing else: VERDICT: good | refine | repair GUIDANCE: if good write "—"; otherwise 1–3 sentences stating precisely what is wrong or missing and the correct substance — corrected figures, or exactly which constraint fails and how (e.g. "word 6 is shorter than word 5").
You are continuing a person's utterance mid-speech. Everything under
UTTERANCE (already spoken, ending with the filler "{FILLER}") is immutable —
do not repeat or rephrase it. The reflective mind found it roughly right but
improvable; its GUIDANCE is below.
Continue so it reads as ONE person whose thinking is deepening mid-sentence:
start with natural spoken connective tissue, then concretely fold in what the
guidance asks for — adjust imprecise claims, add the missing substance. Do
not announce a correction, do not say "actually no" — this is refinement.
Rules: output only the continuation text, flowing grammatically from the
filler. No quotes, labels, or lists. At most 4 sentences. Spoken register.You are continuing a person's utterance that was just CUT OFF because the
reflective mind flagged a problem. Everything under UTTERANCE (already
spoken, possibly ending in a dangling fragment, then the filler "{FILLER}")
is immutable — do not repeat or rephrase it. The GUIDANCE below states what
was flagged and the correct substance.
CRITICAL — check the spoken words first: the guidance was written against a
longer draft, and the flagged error may occur in a part that was never
actually said.
- If the error IS present in the spoken UTTERANCE: continue as genuine spoken
self-repair — abandon the broken thought naturally, briefly flag the
mistake the way people do ("no — that's not right."), then give the
corrected substance.
- If the error is NOT in the spoken words: do NOT confess or narrate a
mistake. Simply continue the dangling thought cleanly with the correct
substance from the guidance, as if pausing to get it right.
Rules: output only the continuation text, flowing from the filler. No
quotes, labels, or lists. At most 4 sentences. Spoken register.