AI Works Better When It Has Less to Know
There is a widespread assumption in software right now: that more data and broader training make a model more useful. The general-purpose tools — ChatGPT, Copilot, Gemini — are impressive because they can do anything. Ask them to write a poem, summarise a contract, or explain a regex. They handle it.
What they do not do is reliably handle specific domains where the output can be checked against ground truth.
The general-purpose trap
Ask ChatGPT to generate a lesson plan for Bayern Klasse 8 Mathematik, aligned to the official Lehrplan. You will get something plausible. The structure will be reasonable, the mathematical topics roughly appropriate for the age group, the language competent.
But “plausible” and “compliant” are not the same thing. The Bayern Lehrplan for Klasse 8 specifies exact competency areas, sequencing requirements, and methodological guidance. A general model trained on the internet has seen fragments of this — a teacher’s forum post, a scanned PDF, a Wikipedia article about German education — but it has not been built against the source. It has no mechanism to verify whether its output satisfies the actual specification.
A teacher who submits that lesson plan to their Schulleitung with a compliance claim is exposed. The plan was not checked against anything. It was generated against a probabilistic average of educational documents.
This is the general-purpose trap: the model’s breadth is also its liability. It is never wrong by much, but it is never precisely right either.
What domain constraint does
Building an AI feature for a vertical product means operating on a known, finite corpus. For Klassenwerk, that corpus is all 16 German Bundesländer Lehrpläne. For Ziffero, it is the SKR03 and SKR04 account code frameworks and the DATEV data structures. For a compliance monitoring tool covering BaFin regulatory categories, it is the full set of BaFin publications and circular letters.
When your AI operates on a known corpus, something important happens: you can validate outputs.
“Does this lesson plan reference the correct Klasse 8 competency areas for Bayern Mathematik?” is a checkable question. You have the Lehrplan. You can write an assertion. You can run it automatically on every generated output. The hallucination surface shrinks dramatically — not because the model is smarter, but because the space of valid outputs is constrained.
A general model can output anything and there is no fast way to check it. A vertical model operates in a bounded space. Most of the failure modes are simply not reachable.
The evaluation advantage
The deeper benefit is evaluability. Vertical AI can be tested rigorously because there is a correct answer, or at least a verifiable range of correct answers.
“Did this transaction categorisation assign a recurring payment from REWE to the correct SKR03 account?” is answerable. “Was this a good categorisation?” is not. The first question can be automated and run against thousands of real transactions. The second question requires human judgment every time.
This matters for product development. If you can measure your AI feature accurately — with a real precision/recall breakdown, not a vibe check — you can improve it. You can set a quality threshold. You can tell a user “this categorisation was flagged with low confidence” versus “this one is high confidence.” You cannot make these distinctions credibly without ground truth to evaluate against.
General AI features shipped without real evaluation pipelines tend to erode user trust slowly. Users encounter edge cases where the model is wrong, have no way to understand why, and eventually stop trusting any output. Vertical AI, evaluated precisely, can be improved to the point where trust is warranted.
The positioning consequence
Evaluability also changes what you can say to a customer.
A product that has built AI features against the full set of 16 Bundesländer Lehrpläne can make a specific claim: “Alle 16 Bundesländer abgedeckt.” That claim can be verified. A competitor can check it. A user can ask “does this include Thüringen?” and get a yes or no answer.
Compare this to “AI-powered education platform.” This claim conveys nothing. It cannot be verified or falsified. It survives no scrutiny because it contains no substance.
Specific claims are a product liability as well as a marketing asset — if you claim complete Lehrplan coverage, you had better have complete Lehrplan coverage. But that pressure is good. It forces the product to actually be what it claims. Vague claims allow indefinite deferral of quality.
The products we build at Westwood Works do not lead with “AI-powered” as a claim. Klassenwerk leads with curriculum alignment across all 16 Bundesländer. Ziffero leads with DATEV compatibility. The AI is how we deliver those outcomes, not the headline.
Where this breaks down
The argument above is genuine, but it has a real precondition: you have to know the domain deeply before any of it works.
Building AI features against a vertical corpus assumes you have the corpus, that you understand it well enough to validate against it, and that you can identify the failure modes that matter. For German Lehrpläne, that means someone has read enough of them to know that “competency area” and “content area” are distinct concepts in the Bavarian framework, and that confusing them produces technically non-compliant outputs.
For DATEV account codes, it means understanding the difference between SKR03 and SKR04, knowing which sectors use which framework, and knowing that a categorisation error in Konto 4910 versus Konto 4920 has real tax consequences.
This is a high bar. It requires genuine domain expertise before the first line of AI code is written. A team that jumps straight to model selection without first doing the domain work will build something that looks correct to people who do not know the domain — which is exactly the general-purpose failure mode repeated at smaller scale.
The constraint is the advantage, but first you have to earn the constraint.
The obvious question for a general AI tool is: how well does it do on the average case? The right question for a vertical AI feature is: how well does it do on the specific cases that matter to this user, and can you prove it?
The second question is harder to ask. It is also harder to answer badly.