A model reaches for a dash in every second sentence
Prompts are followed most of the time. Code is followed always. A small style rule taught me the difference.
A language model follows a prompt rule most of the time, not every time. To keep em dashes out of ContentPeter’s copy, the rule moved from the prompt into code: a format step strips dashes from every draft, with no model call.
ContentPeter writes copy for eight channels. One of our house rules is small: no em dashes and no en dashes. Plain sentences, one idea each. Where a dash wants to go, a full stop or a comma goes instead.
The prompt said no
So the rule went into the prompt, in clear words. The model agreed. Then it used a dash in the next paragraph. In our drafts it reached for one in about every second sentence.
Writing the rule louder did not help. Neither did writing it twice. A model follows a prompt rule most of the time, and most of the time is not good enough for a rule that shows on every page.
“A prompt rule is followed most of the time. Code is followed always.”
Move the rule into code
So the rule moved. After the writer is done, a format step cleans the copy for each channel. It makes no model call. It strips the dashes, the same way, every time.
// format step, after the writer. No model call.
copy = stripDashesText(copy)
The prompt still asks. The code makes sure. Now the writer can slip, and the reader never sees it.
What I took from it
Most problems with AI writing are not about how clever the model is. They are about guarantees. Decide which rules can bend. Put the ones that cannot bend into code, and test them.
It is a small rule. But it changed how I build the rest of ContentPeter: anything a customer would notice on every page now lives in code, not in a prompt.
Questions people ask
Why does an AI model use em dashes when the prompt says not to?
A model follows a prompt rule most of the time, not every time. A style habit that shows up in about every second sentence slips through often enough to be seen on every page.
How do you remove em dashes from AI writing for good?
Keep the rule in the prompt, and add a format step in code that runs after the writer. In ContentPeter it strips em and en dashes from every draft, with no model call, so the result is the same every time.
Which writing rules belong in code instead of a prompt?
Any rule that must hold every time and that a reader would notice on every page. Rules that can bend can stay in the prompt.