I run two platforms on the same agent infrastructure. One makes internal decisions, the other publishes prose to actual readers. The second one taught me something the first could not.
For about a month I kept finding defects in published text. Internal shorthand in a reader-facing card. Database row identifiers appearing in a published sentence, literally events/1042 in a paragraph a subscriber could read. Terms of art used with no gloss. A section quietly editorialising instead of reporting.
Every single time, my first instinct was that the agent had drifted, misunderstood, or needed a firmer instruction.
Every single time, I was wrong.
The agents were following their role definitions to the letter. The problem was that each definition had been written for an internal audience and then quietly promoted to a reader-facing one.
The clearest case: the public writer had an instruction to faithfully preserve the source's framing. Perfectly reasonable. But the sources were Treasury and Federal Reserve releases, and they use the internal vocabulary. So the agent was being obedient when it passed that vocabulary straight through to readers.
It was not drifting. It was following an order that had become wrong the moment its output started being published.
Another role had an explicit invariant instructing it to cite records by identifier rather than by name, because that was precise and useful when its only reader was me. When its output was later routed into a published summary, that same invariant produced events/1042 in the prose. The instruction never changed. The audience did.
So the debugging question is not "what did the agent get wrong."
It is: who does this role think it is writing for, and is that still who reads it?
I now treat every role definition as an editorial brief with a named audience. When a role's output changes destination, the definition gets rewritten rather than patched.
The failure mode nobody warns you about is not the agent going off-script. It is the agent following a script you wrote for a different reader and forgot to update.
The full piece covers what happens when three agents read the same document with different jobs, why I deleted my entire document-extraction layer, and how agent failures needed a taxonomy rather than a retry.
https://openred.space/blog/calling-an-agent-for-sentences.html
Top comments (0)