They’re definining hallucination as a property of iterative generation, which is fair enough, but then it’s sort of like selling a boat and saying it doesn’t need tire changes.

It does make some sense given they're positioning it as alternative to the normal way you'd implement such output shape, which is to slap a prompt on a frontier LLM and maybe run it in "constrained output" mode if you like things fancy. Against that use case, the "no hallucinations" and parallelism and cost claims all sound legitimate and useful -- and similarly, "but we could do that with BERT two years ago" does not.

I mean, the constrained output mode also doesn’t hallucinate in this sense.

I don't think that is an entirely fair comparison. They are comparing Jev to the way people are currently using generative LLMs for things like classifying/tool calling/any kind of structured output.

For example, if you feed in some context to Jev and Claude Haiku and say "make the appropriate tool call based on this context", Claude (or any other frontier LLM) will hallucinate tool calls some percentage of the time. Jev will not. While yes, the "will not" is constrained by Jev's (lack of) capabilities in some sense, this is actually a very real need for a wide variety of use-cases people are currently using off-the-shelf LLMs for at the moment.

Probably the better example is the whole probability thing, where even if you use something like constrained decoding to ensure an LLM only outputs a certain schema, and therefore can't hallucinate a class, if you ask for probabilities, the probabilities output by the model are just hallucinations. Jev meanwhile is outputting calibrated probabilities for different choices based on the actual landscape.

"will hallucinate tool calls" doesn't match any definition of hallucination I've seen in 4 years. Tool calls are output of the model, it can't "hallucinate" they happened. Maybe you're describing output we'd disagree with?

Not the person you’re replying to, but I think that was a bad example. Because an LLM‘s output is iterative, the output ends up being influenced by various attractors. That doesn’t happen when you one-shot a single prediction (or multiple parallel predictions). That is a whole category of things, that people traditionally call hallucinations, that are structurally cut off by Jev’s architecture.

That doesn’t mean the models outputs are correct, nor is TypeSafe claiming that afaict.

Hallucinate tools that don't exist.