Agentic marketingTechnology

Why most AI writing reads the same

Creativity is the hardest problem in agentic writing. Prompting helps. Context helps more. And the technique most teams reach for, showing the model examples, actually makes it worse. Here is what we learned building bbuddy.

May 14, 2026The bbuddy team8 min read

If you have read fifty AI-generated LinkedIn posts in a row, you can predict the next one before you read it. The hook is a question. The middle is three short paragraphs of confident generality. The end is a bullet list with one emoji per bullet and a polite call to engage. The voice is friendly, competent, and absolutely interchangeable.

This is the creativity problem in agentic writing, and it is the central engineering problem of our category. Every team building in this space hits it. Most of the workarounds the prompt-engineering folklore recommends turn out, on closer inspection, to make it worse.

We have spent the last year working on it from a different angle. This post is what we learned, why most teams stop short of the actual fix, and what bbuddy does differently because of it.

Why every model defaults to the same voice

Large language models are trained on a vast pool of writing. That pool has a distribution. Some shapes of sentence, some opener patterns, some emotional registers show up far more often than others. At every word, the model produces the most likely next token given the context. "Most likely" is computed against the training distribution.

Average writing on the internet has a center of gravity. It is friendly, vaguely confident, structurally tidy, fond of three-bullet conclusions, allergic to a real opinion. That center is the gravitational pull every model is born with. Without a strong force pulling it elsewhere, the model lands there. Every time.

Different brands, different industries, different time zones, same voice. The center of the distribution wins.

Prompting is the first lever, and it has a ceiling

The honest first response, and the one most teams reach for, is to fight back with a stronger prompt. "Write in the voice of a clever skeptic." "Avoid the words leverage, unlock, journey." "No three-bullet conclusions." "Use surprising metaphors."

This works. A good prompt can pull the model meaningfully off the default. It will write differently than the bare version would have. Every prompt-engineering article in 2023 and 2024 was a variant of this technique: longer prompts, more specific instructions, more constraints.

But prompting has a ceiling. The prompt is a force pulling the model away from one center; the training distribution is the gravity pulling it back. You can fight gravity. You cannot turn it off. And the more constraints you stack, the more the model starts producing something that obeys every constraint and feels like nothing in particular. A post with no center is not the opposite of an average post. It is just a different kind of bland.

The trap of giving examples

The most popular escape hatch from the prompting ceiling, in nearly every team we have talked to, is to show the model examples of the writing you want. Few-shot prompting was the rite of passage. Paste three of your best posts into the system prompt. Tell the model: "write like this".

We tried this for months. The results were always weirdly disappointing in a specific way. The drafts felt more on-brand on the surface and less interesting underneath. Hooks rhymed with the hooks we had pasted. Cadence echoed the cadence. But the soul of those reference posts, the thing that made them good in the first place, did not transfer. We kept getting clones, not kin.

What we eventually understood is this. The model treats examples as a literal template, not as a vibe. Three reference posts are not "three samples from the space of things you might write". They become "the entire space of things you might write". The model interpolates between them. It does not generalize from them.

So examples have a paradoxical effect on creativity. They narrow the model's output distribution rather than centering it. A model with no examples can wander the whole space (and yes, often defaults to the mode-collapsed center). A model with three examples wanders a tiny gerrymandered region around those three points. The first state is bland. The second is monotonous, which is worse in a system that produces output every day for years.

Broad prompts on top of rich context

The lever that actually moves creativity is not a tighter prompt or a richer example set. It is a richer source pool, with the prompt deliberately kept broad on top of it.

Here is the principle, stated as cleanly as we can: do not prescribe outputs, ground inputs.

A prescribed output looks like a structural rule, a template, or a few-shot example. It tells the model what the answer should look like. The more you prescribe, the less room the model has to surprise you, and surprise is the thing creative writing is supposed to produce.

A grounded input looks like a deep, varied, brand-specific reading list. Your website. Your existing posts, the good ones and the bad ones. The language your customers use in reviews and support threads. Your campaigns. Your no-go zones. The live feeds you read. The shape of your sentences in the wild, not curated for a model. The system gets to read all of it and produce something genuinely informed, not something patterned after three samples.

Counterintuitively, the prompt above all that context can be embarrassingly broad. "Write a LinkedIn post this brand would actually publish this week." That broad instruction, sitting on top of dozens of pages of true context about the brand, produces work that is more original than the same model under a tight prompt with three examples. Because the model has more to draw from, it stops drawing from itself.

We call this contextualisation, and it is the part of the product that took us the longest to get right.

What this looks like in bbuddy

This is why bbuddy does the things it does in the order it does them.

  • It reads your whole site, not a sample. On import, bbuddy crawls every product page, every collection, every blog post, every landing page it can reach inside the budget. Each one becomes its own retrievable entry in your library. The model never sees a curated "best of"; it sees the real shape of your brand on the open web.
  • It captures live feeds, not screenshots. When you connect a social account, bbuddy reads what is actually on it: cadence, topics, language, the visual archive. Those are inputs the model can draw on in their original form. Not summarised. Not paraphrased.
  • It learns from edits, not templates. When you tweak a draft before shipping, that diff becomes a signal about voice. It does not become a new few-shot example. The next draft is generated against the updated voice profile, not against the literal text of the edited post.
  • It captures rejections as constraints, not as anti-examples. A rejected suggestion does not become "do not write things like this". It becomes "the user does not want this kind of angle on this kind of topic right now". The model knows what to avoid in shape, not what to mimic in inversion.
  • The prompt at the top of the generator stays broad. By design. "Write a draft this brand would publish. Use the library. Respect the no-go zones. Sound like the brand." That is most of it. The richness comes from what flows in beneath the prompt, not from the prompt itself.

Sourcing as a creativity multiplier

Most of the engineering investment in bbuddy over the last six months has gone into sourcing. The scraper that reads your site got smarter at every layer (catalog pages, blog content, product galleries). The library got better at separating signal from noise. The feeds got richer. The voice profile got finer-grained. Every one of those changes is a creativity change in disguise, because every one of them widens the source pool the model gets to draw from when it sits down to write.

It is easy to underrate how much of the work this is. The flashy demos in our space are still about prompts. The durable products are about sourcing. We are betting hard on the second.

Where this still falls short

We are not done with the creativity problem. A few honest gaps, in the spirit of saying out loud what we are still working on.

New brands have thin context pools. A two-week-old shop with three blog posts and forty SKUs is a thinner source than a five-year-old brand with hundreds of posts and a dense customer-language archive. The first drafts for a young brand sit closer to the model's default voice. The fastest fix is volume over time. The slower fix is helping young brands seed the library deliberately, which we are actively working on.

Voice profiles drift. If the model drafts, the user edits, and the edits feed back as a signal, the voice profile updates. Over many cycles, the profile can over-fit the last few weeks of edits rather than the long arc of the brand. We have guardrails on this. They are not perfect yet.

Some industries are over-represented in training data. A SaaS brand has stronger model gravity working against it than, say, a regional bakery, because the model has read a hundred million SaaS LinkedIn posts and a hundred bakery blogs. Broad prompting plus deep context helps in both cases. It helps more in the bakery case. We are honest about the difficulty of the SaaS case.

The shorthand

The lesson we keep coming back to is the one above. It is the lesson the prompt-engineering literature missed for a couple of years. It is the lesson we relearn every time we are tempted to add another instruction to a system prompt to fix a creative miss.

Creativity in agentic writing is not a prompt problem. It is a sourcing problem. The teams that figure this out first will ship the brands that actually sound like themselves. The rest will keep producing the same LinkedIn post, with everybody else's brand name on top.

If you want the longer take on how this fits into bbuddy end to end, the four mechanisms are mapped in the Camp 4 deep dive and the broader vision in the agentic marketing manifesto.

Try it for your brand

Your AI co-worker for social media.

Five minutes to set up. Drafts in your voice from the first session.

Start with email