Skip to content
Growth Method
Go back

Why your AI agents all have the same marketing idea

Stuart Brameld

Stuart Brameld

Founder
Table of contents

This information is correct as of August 2026. Growth Method has made every attempt to ensure the accuracy and reliability of the information provided.

You set up an AI agent to find growth opportunities in your data. The first week is impressive. By week three you notice something: it keeps surfacing the same opportunity, dressed slightly differently each time.

So you add a second agent, with a different name and a different brief. It surfaces the same opportunity too.

This is not a bug in your setup, and it is not a sign the model is running out of things to say. It is the model doing exactly what it was trained to do, and it has a name.

Models are trained to give you the typical answer

The technical term is mode collapse. Language models are fine-tuned on human preference data, where annotators rate one response against another. Those annotators reliably prefer familiar, expected, well-formed answers, a pattern researchers call typicality bias. Train on enough of that and you get a model that reaches for the most typical answer every time.

For most tasks this is exactly what you want. Ask for a summary and you want the obvious summary, not a surprising one.

For idea generation it is a problem. The most typical answer to “find a growth opportunity in this data” is the one most people would give looking at that data, which is usually the most obvious one. Ask again tomorrow, with data that has barely moved, and you get the same answer. Ask a second agent and you get the same answer again, because “typical” is a property of the model, not of the agent’s name or job title.

The recent Verbalized Sampling paper puts numbers on this and identifies typicality bias in preference data as the driver. It is worth reading if you want the detail.

Turning up the temperature will not fix it

The first thing everyone reaches for is the temperature setting, usually labelled something like “creativity” in whatever tool they are using.

It does not do what the label implies. Temperature controls how much randomness there is in picking the next word. It does not change the model’s judgement, its priorities, or what it goes looking for. As the same research puts it, the model still thinks it is producing one answer, just with more noise in it.

In an agent that calls tools, more noise is actively harmful. Higher temperatures make structured output and tool calls less reliable, so you trade a repetitive agent for an unreliable one and get no more originality in exchange.

There is also a practical problem. The setting is being taken away. On Claude, temperature must be left at its default when extended thinking is enabled, and it is incompatible with the related top_p and top_k settings. Any approach built on a temperature slider is building on something the model providers are actively removing.

Variety has to be built into the question

If it cannot come from the model, it has to come from the input. The distinction that matters is between randomness in how the model writes and explicit guidance that points each run somewhere different. The first gives you noise. The second gives you range.

This is well established practice in a neighbouring field. Teams generating large synthetic datasets cannot rely on sampling for variety, so they condition each generation on a rotating attribute or persona. Persona Hub is the best known example, a billion persona descriptions injected into prompts for no reason other than to stop the outputs converging.

The same principle applies to an agent that runs on a schedule. If you want a different answer, ask a different question.

What we do in Growth Method

Our campaign creation agent runs unattended, on a cadence the team chooses, and proposes a marketing campaign based on whatever data sources the team has connected.

Every run gets a framing instruction: one line telling it what kind of opportunity to go looking for this time. We keep a small set of these, deliberately domain-neutral so they work whether the connected data is product analytics, search performance, or a CMS. A few of them, in the spirit if not the exact wording:

The agent then interprets that framing through whatever it can actually measure, which will be different for every team.

Three details matter more than the list itself.

The framing is a bias, not a rule. If the frame surfaces nothing worth doing, the agent falls back to a general survey. This is the difference between an agent that finds a genuinely overlooked opportunity and one that manufactures a weak campaign to satisfy an instruction. A constraint you cannot escape produces compliance, not insight.

Rotation is deterministic, not random. We derive the framing from the calendar rather than picking one at random, so you can look at any past run and know exactly which lens it had. When the run history is also your audit trail, being able to reconstruct why an agent went where it went is worth more than the small extra unpredictability of a random pick.

We offset agents against each other. Two agents on the same team, running the same night, get different framings. This is the bit that fixes the problem in the title. Without it, adding a second agent buys you nothing, because both are drawing from the same well.

Divergence on its own is worthless

Here is where a lot of AI idea generation goes wrong. Making an agent produce more varied output is easy. Making that output worth acting on is the hard part, and the two are separate problems.

Everything above is the divergent half: go somewhere you have not been. It only works because there is a convergent half behind it.

Before creating a campaign, the agent checks it against what the team already has running, and refuses near-duplicates rather than quietly filing them. It scores each proposal against the team’s goal rather than treating every idea as equally valid. And in the default setup a person approves the campaign before anything happens in a connected tool.

Without that, forcing variety just gets you a random idea generator, which is the least useful thing you can build. The point is not to produce more ideas. It is to produce ideas that are both different from what you are already doing and grounded in something real. Variety without grounding is noise, and grounding without variety is the problem we started with.

What we have not built yet

There is a second technique aimed at the same problem, and we are not using it.

It is called verbalized sampling. Instead of rotating one framing per run, you ask the model for several candidate answers in a single response, each with its own confidence attached, and then choose. It is training free, works on any model, and is independent of temperature. The research reports diversity improvements of roughly 1.6 to 2.1 times on creative writing tasks. That figure comes from the paper authors’ own evaluation rather than an independent benchmark, so read it as a direction of travel rather than a number to plan against.

We are looking at it rather than running it. The honest trade-off is that a probability-weighted pick is harder to reconstruct after the fact than a calendar-based rotation, and for an agent whose history doubles as an audit trail, that matters. The two also compose, so this is a question of when rather than whether.

If you are running your own agents

A short checklist, whatever tool you are using.

  1. Check first. Put ten consecutive runs side by side and read them. Most people have not looked, and repetition is obvious the moment you do.
  2. Do not reach for the creativity slider. You will get less reliable output, not more original output.
  3. Rotate the framing. Keep the set small and keep each frame neutral enough to apply to whatever data the agent can see.
  4. Make it a bias, not a rule. Give the agent an explicit way to ignore the framing when it surfaces nothing.
  5. Offset multiple agents. Otherwise they converge, and you have paid twice for one opinion.
  6. Add a convergence step. Deduplicate against what is already running and score against your goal, or you have built a novelty machine.
  7. Record which framing ran. You cannot debug what an agent proposed six weeks ago without it.

The point is simple. An AI agent will not surprise you on its own, because it was trained not to. If you want range, you have to design for it.


Back to top ↑