freedzhost.cloud

The deterministic doctrine: the model proposes, the code decides

Level ReadingEstimated time 20 minA word you don't know? Glossary

Ask a language model the same question twice and you may get two answers. That is a gift when you want ideas, wording, a plan. It is a disaster when you want a verdict: does this test pass, is this file valid, may this command run. Our whole stack rests on one separation: the model proposes, the code decides. Everything that has one right answer is done by a program that answers the same way every time.

How these figures were obtained. Measured on our own machines (see the protocol), usually a single run, with speeds as reported by the server itself; we do not publish raw logs. Treat them as orders of magnitude on this hardware, not as guarantees on yours. Figures from outside are labelled with their source.

What you get. Small local models that deliver real work, because they are never asked to do what code does better. Verdicts you can replay, audit and trust. And a bill that shrinks, because a deterministic tool costs no thinking and almost no context.

1. Two kinds of questions

Many right answers: a modelOne right answer: code
split a project into storiesdoes this split respect the schema?
write the shot list of a filmdoes every shot use a framing from the list?
choose which tool fits a requestare the arguments of that call valid?
word the reply to a customerdoes the reply contain a credential?
propose a fixdo the tests pass now?

The left column is creative, so a model is the right tool. The right column is a check, so a model is the wrong tool: it would answer "probably" where you need "yes" or "no".

2. The doctrine, layer by layer

3. The numbers that convinced us

4. A good tool is often worth more than a skill

A skill teaches the model a procedure; the model still has to read it, understand it and apply it, with its usual variance. A tool is the procedure: the model only has to call it.

SkillTool
cost while idleits descriptionits description (120 characters at most here)
cost when usedthe whole procedure, read into the contextone call, one JSON answer
resultas good as the model's readingthe same every time, testable from outside
works with a small modelsometimesyes: it only has to choose and fill the arguments

So: when a procedure has a single right outcome, write the tool. Keep skills for what needs judgement: wording, design, splitting, review. The smaller your model, the more this matters.

5. A bug becomes code, never a note

A rule written in a guide in the morning was broken in the evening by the person who wrote it. Notes are read and forgotten; code runs every time. When something fails once, the fix is a check, a lock, a refusal, a test, ideally one you have seen go red (see mutation testing). What cannot become code becomes a journal entry you can search.

Traps

A confidence score measures how sure a model is, never whether it is right. Two options within 0.05 of each other compete: ask, do not pick in silence.

Do not bend the contract for convenience. A "tool" that calls a model is not deterministic; say so in its name, or every other guarantee is worth less.

Found this useful? Tell us what to measure next.