Vercel’s comparison of TypeSafe AI’s Jev and GPT-6 Astra is useful precisely because it does not pretend one replaces the other. Its support-ticket example separates a narrow, measurable routing decision from the broader work of reading evidence, using tools, and writing a response.
The practical split
- Use Jev when software needs one of a declared set of choices, an ordered rubric score, or a yes/no probability.
- Keep Astra when the task also requires image input, investigation with tools, open-ended reasoning, or generated prose.
- A workflow can use Jev to select a queue and then pass the original ticket—not only the label—to Astra for diagnosis and response drafting.
- Evaluate routing and resolution separately; a correct queue choice does not make a later explanation factual.
Typed output is not correctness
- Astra’s Structured Outputs can constrain a result to allowed labels, but a schema-valid label can still be the wrong assignment.
- Jev likewise returns a typed decision and native distribution, but neither the type nor the probability proves correctness on one case.
- Vercel’s invoice-export example is authored to resolve to
technical; it demonstrates the interface, not comparative model quality. - The article reports no benchmark, repeated trial, latency test, cost test, or calibration study. I did not reproduce a model comparison.
The probability mismatch matters
- Jev choice answers expose a distribution across the declared options.
- Vercel says its OpenAI evaluation adapter returns Astra’s selected choice without a category distribution; boolean probabilities are prompted estimates.
- A routing rule that depends on a selected-category probability cannot silently substitute
1when Astra omits it. Missing evidence should follow an explicit fallback path. - Jev’s selected-option probability and its separate confidence statistic measure different things; neither should inherit a threshold chosen for the other.
How to compare them honestly
- Run both implementations on the same labeled cases with identical category definitions.
- Record the model ID, reasoning setting, question wording, failures, retries, and review rate.
- Include ambiguous, mixed-intent, and under-specified tickets—not only clean examples.
- Measure wrong automatic routes and the workload sent to review, then choose thresholds from the cost of each error.
- Keep authorization in ordinary code: neither a queue label nor a generated recommendation should issue a refund by itself.
The article’s strongest point is architectural: classification, investigation, and authorization are different jobs. A shared API can make two models look interchangeable, but their outputs—and the evidence needed to trust those outputs—are not the same.