Since 9 October, Cloudflare charges less for its Clef-flash decision model than TypeSafe charges for Jev. A decision model answers a question by picking from a short list of allowed answers.

Ask a chatbot for a yes or no and you may get "well, it depends on this, depends on that", the answer a senator gets from a witness at a Senate hearing. Ask an LLM "is the sky blue?" and it may explain the atmosphere, and that sometimes the sky is blue and sometimes orange.

A decision model has to pick from the answers it is allowed to give, and it reports a probability for each, so a model such as Jev might answer yes to the sky question, with a probability attached. Whether it gives the same answer every time is a separate question: it is not deterministic, and TypeSafe's own tests show its answer can change between runs. So a decision model suits the clear cases, and the ones where it is unsure belong with a person.

InteractiveDid you or did you not?

Let’s ask a chatbot and a decision model the same question, and compare the answers.

Pick a question

A chatbot

A decision model

Chance the answer is yes (the probability):

Illustration: the answers and numbers are written by hand, not taken from a live model. The thresholds are TypeSafe’s suggested starting points: 0.7 for yes and 0.3 for no, with the band between going to a person, and a choice labelled uncertain when its top answer is under 0.60.

Have you ever watched a Senate hearing where a senator might say, Mr. So-and-so, did you or did you not?

A Noul question (TypeSafe's yes/no question type) returns one probability that the answer is yes, with no separate confidence value. Choice questions pick from a list and Score questions give a number; both return probabilities and a confidence. Confidence is 1 when one outcome has all the probability and 0 when it is spread evenly.

TypeSafe's own Choice cookbook, describing how it labels an answer uncertain when the top probability is under 0.60, says: "This policy does not make the model deterministic." In its own test, TypeSafe sent the same post 15 times, each with a fresh unique ID, and the chosen label flipped on 2 of 8 questions. The Noul cookbook's 15-run test found one answer ranging from 0.43 to 0.53, which crosses a 0.5 decision threshold.

Cloudflare says Clef takes the same requests as Jev, and the swap still needs a new URL, a new key and a new model name. Clef-flash is $0.038 per million input tokens and Jev is $0.042. Clef-omni, added on 9 October, takes audio and video input, and TypeSafe released Jev 1.14 on 14 October. The Register notes that Cloudflare reported Clef's benchmark scores itself.

TypeSafe's documentation says to route low-confidence Choice and Score answers to a person: at low confidence you should "route to a human, request clarification, or fall back to a different system". For a Noul it suggests 0.7 for yes and 0.3 for no as a starting point, with values between 0.3 and 0.7 able to go to a person instead of either code path. The Noul cookbook calls that band "neither a calibrated guarantee nor an optimized threshold".

The Importance of Being Jev on 3 October explains what a decision model is and when to use one instead of an LLM. In it I wrote: "If you put a classifier in a workflow, log its decisions so you can check them."