A string is not the natural shape of every answer.
TypeSafe AI’s early-access Jev model accepts unstructured state and returns predefined typed values with probabilities rather than generated prose. The company positions that design for classification, routing, scoring, extraction, branching, and large map-reduce jobs; it reports 70–500 ms service latency and large cost and speed advantages on its own workflow evaluations.[1]
The interesting part is the contract, not the drag-strip number. The benchmarks, reference answers, task selection, and “can’t hallucinate” framing come from the vendor. A value can be type-correct, well-calibrated in aggregate, and still wrong on the case that matters. Typed output removes one failure class—malformed freedom. It does not remove model error, bad decomposition, drift, or the cost of a wrong branch.
Do not ask prose to impersonate a control signal.
Some jobs need conversation while the wrench is moving.
Google’s Gemini 3.8 Live launch takes the opposite shape: voice, visual context, interruption handling, background tool calls, and an Extended Thinking mode that speaks progress cues while multi-step work continues. Google reports benchmark results and support for automatic switching across 97 languages; those are vendor-reported launch claims, not measurements from this garage.[2]
That architecture makes sense when ambiguity is the work: troubleshooting, gathering constraints, coordinating a booking, or shaping a UI through spoken feedback. Rich language is not waste there. It is the interface. But narration should not become authority. “I’m checking that” is feedback; it is not a transaction receipt.
The harness gets the boring guarantees.
Alibaba’s Open Code Review makes the third move. Deterministic code chooses files, bundles related changes, matches rules, and positions comments; an agent searches context and exercises judgment inside those rails. The project deliberately describes lower recall in exchange for higher precision, and its scale and benchmark numbers are maintainer claims.[3]
That split is the shop manual. Put enumeration, schema validation, budgets, permissions, retries, idempotency, and audit records in ordinary code. Put fuzzy classification in a bounded decision model when the option set is known. Put exploration, explanation, and synthesis in a language model. Put irreversible, high-consequence decisions behind a named human.
Design the abstain lane before the fast lane.
A useful router needs more than a model picker. Define the allowed outputs. Set the consequence of a wrong answer. Capture confidence, but test calibration on your traffic. Specify an abstain or escalation threshold. Log input version, model version, decision, probability, downstream action, and later disposition. Then replay changed models against the same packet before switching the route.
The manifold below replaces the universal “send to AI” button with three visible routes and three interlocks. Its gauge is a teaching proxy for declared automation pressure, not production telemetry or model quality.