The situation
A regional sports franchise had a sharp, distinctive brand voice. Local, irreverent, written for fans who knew the league inside out. They wanted to extend that voice across multiple AI touchpoints: a content-creation agent, an audience-targeting agent, and an evaluation agent. Each touchpoint had different requirements. The content agent needed to sound like the brand. The audience agent needed to sound like a specific fan persona. The evaluation agent needed to stay neutral and not adopt any voice at all.
What we found
Most "brand voice for AI" implementations stop at the system prompt. That works for one voice. It doesn't work when an organization needs three voices that share underlying methodology but render differently. A flat instruction stack means every agent inherits every voice rule, and pulling them apart later is harder than getting it right the first time.
What we built
A layered instruction architecture. At the base, the shared methodology that all agents respect: the brand's research-driven approach to audience response. Above that, per-agent voice and persona instructions that override or extend the base for that agent specifically. The evaluation agent runs on the base only, with explicit instructions to stay out of persona. Brand-voice agents pull from a separate sub-stack that gets swapped in without touching the foundation.
This isn't a prompt engineering trick. It's an architecture decision that makes the system extensible. Adding a fourth agent with a new voice is a config change, not a refactor.
What changed
Each agent sounded like itself, not a homogenized version of the brand. The content agent produced output the brand team approved without revision. The audience agent could be re-tuned to a different persona without rewriting the foundation. The evaluation agent didn't accidentally rate persona-laden output more highly because it shared no voice rules with the agents producing it.
Voice is layered. Agents that share methodology don't have to share personality. Start an audit →