AI Systems
Controlled generation pipelines: catch it at the stage that made it
One prompt, one shot
Ask a model for a whole service page and you get something fluent. Somewhere in it may be a promise you don't make, a service you don't offer or a town you don't cover, and you can only find it by reading every line. When you fix it and ask again, something else changes.
A pipeline makes each step small enough to check. The model never decides what's true: it works from sources you approved, and names, prices and addresses come from your records. When something is wrong, you can see which stage made it and rerun only that stage.
Follow one page through the pipeline
Stage 1 of 6: Brief
brief C-114
- page
- Water heater replacement, Eastside
- reader
- a homeowner whose water heater is failing
- must answer
- what we install, how soon, what affects the cost, what happens to the old unit
- sources allowed
- S1–S4 only
- length
- 450–650 words
- never
- prices, or promises the policy doesn't make
Four approved sources. Nothing else reaches the draft.
- S1 · Service list
- what we install, by location
- S2 · Service policy v3
- booking times and what's included
- S3 · Disposal procedure
- how old units are removed
- S4 · Warranty policy v4
- labour and parts cover
- When to replace, not repair
- draws on S1, S4
- What we install
- draws on S1
- How soon we can fit it
- draws on S2
- What affects the cost
- draws on S1, S2
- Your old unit
- draws on S3
Every claim carries a marker for its source.
- We replace gas and electric tank water heaters across Eastside.[S1]
- Same-day installation, guaranteed.[no source]
- Labour on every install is covered for one year.[S4]
- Old units are taken away and recycled.[S3]
This claim has no source.
Checks on draft v1
- failed
every claim has a source
“Same-day installation, guaranteed” · no source
- passed
service names from the service list
- passed
style rules
- passed
not a near-copy of another page
- passed
headings match the outline
One failure. The draft goes back with the claim and the rule it broke; the second version replaces it with “Installs are usually booked within two business days of approval [S2]” and passes all five.
review · C-114 v2
- editor
- marketing lead
- decision
- approved with one edit
- edit
- “recycled” → “recycled where facilities accept them”
- checks
- 5 of 5 passed on v2
- sources
- S1–S4, versions recorded
- next
- scheduled to publish Tuesday
What's checked between stages
Every claim has a source
Supported, or removed
Each claim points at an approved source, and the source has to say it.
Names from your lists
Services, places, products
Service names and locations must match your lists exactly, so nothing you don't offer appears.
Style and banned claims
Your rules, written down
Tone, reading level and phrases you never use, like guarantees the policy doesn't make.
Not a near-copy
Each page earns its place
The draft is compared with existing pages so ten locations don't get the same page with a different name.
Structure matches the brief
Headings, length, fields
The output has the sections, length and fields the brief asked for, or it goes back.
The model writes. Code handles the facts.
What a pipeline hands off
In
Out
Worth building when you make many pieces of the same kind
Good fit
- You produce many similar pieces: service pages, product descriptions, client reports.
- The facts have to come from your records, not from the model.
- Someone will own the rules and review what comes out.
Not the right fit
- One-off writing. A person working with an AI assistant is faster.
- There are no approved sources to work from. The pipeline would just generate confidently.
Questions about controlled generation
Isn't this just a longer prompt?
No. Each stage is a separate call with its own instructions, input and check, and its output is saved. When something is wrong you can see which stage made it and rerun only that stage.
Can it publish without a person?
For low-risk content, once the checks have proven themselves on your own cases. We start with a person approving everything.
How do you stop it inventing facts?
The draft stage sees only approved sources, every claim has to point at one, and a check rejects claims that don't. Names, prices and addresses are inserted by code from your records.
Does every stage use the same model?
No. Each stage uses whatever does that job well. A smaller model can often run the checks.