A brand voice AI agent is a system that produces content matching your company's voice at scale, with three components working together: an inputs corpus, a five-layer system prompt engine, and an output scoring loop. It is not the same thing as a custom GPT trained on your blog posts, and the difference is the reason most "brand voice GPTs" end up producing output that looks like everyone else's.
I built a brand voice agent for Flywheel a few months ago and it now reviews every piece of content that leaves our agent swarm before it ships. The system prompt is 310 lines. The output cost is roughly 4 cents per LinkedIn draft. The agent does not replace the human review, but it does the entire writing lift, and that is the part that takes time.
If you are running content through a custom GPT today and you can already tell the output is sliding toward generic, here is what to build instead.
What Is a Brand Voice Agent?
A brand voice agent is a versioned, infrastructure-grade system that other content-producing agents call before they write and after they finish a draft. It carries the rules for how your company writes, the source material your voice is built on, and a feedback loop that updates the system every time a draft gets rejected.
The key distinction from a custom GPT is structural. A custom GPT is a chat interface with a system prompt. Different people in your org get different outputs from the same prompt because the model drifts based on whoever is talking to it that day. A brand voice agent does not drift, because the prompt is version-controlled, the inputs are persistent, and every output is scored against the same rubric.
There is one more difference worth naming. A custom GPT does not learn from its own rejections. A brand voice agent does. That compounding is the entire point of building one.
Why Most Brand Voice GPTs Fail
Models are trained to be helpful, agreeable, and inoffensive. Left to their default settings, they will write like a polite consultant who is trying very hard not to upset anyone. Your brand voice probably is not a polite consultant. It probably has opinions, signature phrases, and refusals. None of that survives a generic system prompt.
The other failure pattern is structural. A custom GPT loaded with your existing blog posts is a search engine over your own content. When you ask it to draft something new, it averages everything it has seen and returns the mean. Every distinctive opinion gets smoothed out. Every recurring phrase gets replaced with a synonym. The output reads like your content, flattened.
A brand voice agent fixes this by replacing the prompt-only approach with a three-layer system: inputs, engine, and outputs.
The Voice Engine Framework
The Voice Engine has three layers. Skipping any of them produces output that looks like everyone else's.
Layer 1: Inputs — the library that feeds the engine
You cannot define a voice in the abstract. The agent learns voice from material, and the material is in four categories.
Existing published content. Every blog post, long-form LinkedIn post, newsletter, case study, and landing page. Tag each piece by author, topic, and performance. The top-quartile pieces are the strongest training signal.
Call transcripts. This is the category most companies skip and the one that produces the biggest quality gain. The way your founder explains the product on a live call is different from how it gets written for LinkedIn, and the call version is usually sharper. We run Granola on every Flywheel call and pipe the transcripts into a folder the brand voice agent reads from.
Customer language. Support tickets, sales call notes, post-purchase surveys, product reviews. The way customers describe their own pain in their own words is the strongest possible language for your content. If your customers say "we cannot ship a blog post without it taking three weeks," your content should not say "scaling content operations."
Rejected drafts. Every draft you have rejected is training data. We log each rejection with a one-line reason. The agent reads the rejection log before drafting anything new. That single change cuts rework on early drafts by roughly half.
Layer 2: The Engine — five layers inside the system prompt
The engine is the system prompt architecture. It is the part most people think of as "the brand voice agent," and it is actually only one-third of the system. It has five layers.
POV is the set of opinions your company holds. Not features, not value propositions, opinions. At Flywheel, our POV includes claims like "most companies are stuck in pilot purgatory" and "front-end demos are easy, the back-end wiring is the moat." These show up as direct statements in the system prompt, and the agent uses them as anchors when writing anything opinionated.
Voice is the fixed identity that shows up across every piece of content. Flywheel's voice is operator, not thought leader. We write as practitioners who ship production systems, not as advisors who frame strategy. That trait is durable and shows up in every draft regardless of the topic.
Tone is the situational flex. The same operator voice sounds different when it is teaching, disagreeing, celebrating, or being honest about a failure. Our system prompt defines five primary tones with descriptions, sample paragraphs, and patterns to avoid for each.
Lexicon is two halves: preferred vocabulary and banned phrases. We use "deploy" instead of "implement," "ship" instead of "release," "broke" instead of "encountered challenges," and "costs" instead of "investment." Our banned list includes "leverage" as a verb for AI, "transform," "revolutionize," "unlock the power of," "best-in-class," and roughly twenty more. Every draft passes through a check that flags any banned phrase before the draft hits human review.
Guardrails are the output constraints. Sentence cadence, paragraph length, formatting rules, point-of-view rules by surface (first person on LinkedIn, "we" on the blog), word counts by content type, and refusals on certain topics. Flywheel's guardrails target an average sentence length of 22 words, maximum 2 consecutive short sentences, paragraphs of 2-4 sentences, and zero hashtags on LinkedIn. The rules look fussy in isolation. In aggregate they are the difference between content that reads as human and content that reads as AI slop.
Layer 3: Outputs — scoring, review, and the feedback loop
The output layer is where most brand voice GPTs end and where the actual agent begins.
The scoring rubric is a structured check on every draft. Binary checks: zero banned phrases, at least one preferred vocab term, at least one reference to a working example. Numerical checks: sentence length average, consecutive short-sentence count, paragraph length. Drafts that fail the rubric get rewritten automatically.
The human-in-the-loop review is the layer the rubric cannot replace. Someone reads every draft and approves, edits, or rejects with a reason. The review takes roughly two minutes per LinkedIn draft, and that cost is real — it is the cost of having content that sounds like your company.
The feedback loop closes the system. Every rejection gets logged with a reason. Every edit is diffed against the original draft and summarized as a pattern. The patterns accumulate in a feedback file the agent reads before drafting. Over time, the agent learns to anticipate the edits. In our case the share of drafts that pass first review went from roughly one in five to roughly three in five over three months.
What It Costs to Run
We run the Flywheel brand voice agent on Claude. The runtime cost is roughly 4 cents per LinkedIn draft and 25 cents per blog draft, including the brief, the writing pass, and the review pass. At our output rate of 5 LinkedIn posts, 1 blog, and 1 newsletter per week, the total weekly runtime cost is about 75 cents.
To be honest about limitations: the agent's first draft is usable but is not the final draft. Roughly 60% of our LinkedIn posts ship with only minor edits, while the other 40% need a substantive rewrite of one or two paragraphs. Zero ship without a human-in-the-loop review. That ratio is the point — the agent does the lift, the human does the judgment.
How to Build One (the Two-Week Plan)
Week 1 — Inputs. Pull every published piece of content into one folder, tagged. Set up call transcription and start capturing internal and external calls. Pull customer language from support tickets and surveys. Set up the rejected-drafts log.
Week 2 — Engine and Outputs. Draft the POV layer (five to ten direct opinions). Draft the Voice and Tone layers (five tones, each with a description and sample). Draft the Lexicon (twenty preferred words, twenty banned phrases). Draft the Guardrails (cadence, paragraph length, formatting). Build the scoring rubric and stand up the human-in-the-loop review workflow.
Ongoing. Log every rejection with a one-sentence reason. Summarize weekly. Update the engine. Refresh the inputs corpus monthly.
If you want the full playbook with the engine layer templates and the scoring rubric we use in production, the white paper is at /resources/brand-voice-engine-playbook.
FAQ
What is a brand voice AI agent?
A brand voice AI agent is a system that produces content matching a company's voice at scale. It has three layers: a library of inputs (published content, call transcripts, customer language, rejected drafts), an engine (a five-layer system prompt covering POV, voice, tone, lexicon, and guardrails), and an output loop (scoring rubric, human-in-the-loop review, feedback). It is not the same as a custom GPT.
How is a brand voice agent different from a custom GPT?
A custom GPT is a chat interface with a system prompt. A brand voice agent is versioned infrastructure with structured inputs, an explicit five-layer architecture, an automated scoring rubric, a human-in-the-loop workflow, and a feedback loop. Custom GPTs drift; brand voice agents compound.
What inputs do I need to train a brand voice agent?
Four categories: existing published content, call transcripts, customer language (support tickets, sales notes, surveys, reviews), and rejected drafts with reasons.
How long does it take to build one?
Two weeks of focused work to ship version 1, then a few hours per week of maintenance.
What does a brand voice agent cost?
Runtime cost on Claude is roughly 4 cents per LinkedIn draft and 25 cents per blog draft. Build cost varies with engine complexity.
Can a non-developer build a brand voice agent?
Yes. Flywheel built ours without writing production code by hand. The engine lives as structured markdown, the inputs are a folder of text files, and the dispatcher is built with Claude Code.
Want the full playbook? Download The Brand Voice Engine white paper.
Ready to deploy one? Book a Phase 0 discovery call.