The four-agent chain that replaced one overloaded prompt
A production chain that researches, writes, checks, and scores hundreds of CRM records a day, and the mega-prompt version that hallucinated its way into a rewrite.
The first version of this system was one prompt. Research the company, write the outreach, score how good a fit it was, check the draft for quality, format the output. All five jobs, one pass, one model call.
It worked in testing. In production it hallucinated with total confidence: details about companies that weren’t in any source it had, invented as if they’d been looked up. Nothing in the output flagged itself as guessed. It read exactly as sure as the parts that were actually grounded, because sounding sure and being right are two different things a single pass can’t tell apart.
The fix was cutting each prompt down to one job.
Four agents, four narrow jobs
The chain that replaced it runs hundreds of CRM records a day, and no single step in it does more than one thing.
A research agent gathers what’s actually available on a company and a contact, and nothing else. It doesn’t write copy and it doesn’t score fit. Its only job is finding what’s real and handing it forward.
A copywriter agent takes that research and drafts the outreach, in a voice it reads from a reference file rather than reinventing every time. It doesn’t verify its own claims.
A QA agent reads the draft against the research and catches what the copywriter invented or oversold. It has exactly one job: does every claim in this draft trace back to something the research agent actually found.
A scoring agent looks at the same research and rates how good a fit the account actually is, independent of whatever the copywriter already wrote. Splitting scoring from writing means a great email never talks the system into a good score it didn’t earn.
Why decomposition catches what one pass misses
A single overloaded prompt fails quietly, because there’s no seam anywhere in it. Research, judgment, writing, verification, all of it comes out of the model in one motion, and if the research was thin, the writing papers over it instead of exposing it.
Four narrow agents fail loudly, at a specific seam, which is the whole advantage. If a claim in the copy isn’t grounded, that’s a QA failure, and I know to look at the copywriter’s prompt or the research agent’s coverage. If the score doesn’t match reality, that’s the scoring agent, in isolation, not a mystery buried inside one call that did five things at once.
It also means the expensive reasoning only happens once, where it’s needed, instead of bundled into a single call that pays for it whether that particular job needed it or not. Filtering which companies are even worth researching can run on a cheap, fast model. Writing in a specific voice and catching invented claims earns a heavier one.
What still breaks
Coverage gaps in the research agent are the recurring failure. When it comes back thin on a company, a copywriter with a good voice file still produces something fluent. The QA agent catches invented specifics, but it has nothing to flag in a draft that’s accurate and just generic because there was nothing more to work with. That one surfaces as a quality problem days later, not an error anywhere in the chain.
The other is drift between the four prompts. Update the voice file and forget the QA agent’s grounding rules haven’t kept pace, and you get confident copy that passes QA on claims that are technically true but no longer the right ones to be making. Four agents means four places voice and policy can go out of sync.