Regenerate Is Amnesia

April 25, 2026

Hitting "regenerate" doesn't get you a different answer. It gets you the same answer, rolled with slightly different dice.

The model has amnesia. The first generation never happened, as far as the second one is concerned. Same prompt, same context window, same probability distribution. The only thing between you and the exact same output is the temperature knob, and temperature alone doesn't push you out of the dominant cluster of your training data. It just jiggles you around inside it.

There's a better move, popularized by Theo: ask for five designs in a single prompt, on routes /1 through /5, and tell the model each one must be unique. The first design will still be generic. The fifth one will be doing things you didn't know the model knew how to do.

Here's why it works.

Regenerate is a weighted coin flip

LLMs are autoregressive. They predict the next token given everything that came before. When you hit regenerate, "everything that came before" is just your original prompt. The model is staring at the exact same input it stared at the first time.

generationreviewtimestamp0.09created_atp=0.81ts0.03:0.02=p=0.94<-0.01time0.18datetimep=0.58Date0.09.utcnow0.11.nowp=0.74.today0.06(tz.UTC)0.06()p=0.87(UTC)0.04)0.04,p=0.93;0.01Edge0.08Looksp=0.68Wait0.04good0.18cleanp=0.72risky0.03,0.30.p=0.55;0.10Merge.0.19Ship.p=0.64Pause.0.04

Each commit conditions the next distribution. The path narrows.

The probability distribution over next tokens hasn't moved. Temperature injects noise on top of that distribution, but the dominant peaks (the centered hero, the purple-to-blue gradient, the three-card feature grid) are still the dominant peaks. Most rolls land back in the same basin.

This is why "AI slop" has a recognizable look. You're not drawing from the model's full creative range. You're drawing from the densest few percent of its training distribution, over and over.

Bundling rewrites the prompt for you

When you ask for five designs in one shot, the model generates them sequentially, and each one becomes part of the context for the next.

building featuresurplus windowshippedresetSecurityPerformanceArchitectureTestingAccessibilitywasted

Tokens expire unused at the end of the reset window.

Every token already on the page reweights the probabilities for every token that comes next. You didn't change the prompt. You let the model change it for you, by writing into its own context.

"Make them unique" turns attention into a penalty

The instruction to make each design "different from the others" is the load-bearing part of this technique. Without it, the model will happily generate five variations of the same centered hero.

With it, you've turned the model's attention mechanism into a self-suppression filter. When generating Design 2, the attention heads compare each candidate token against the tokens already present in Design 1. Anything that matches gets penalized. To produce something the prompt accepts as "unique," the model has to reach for tokens with lower base probability.

ReviewthiscodeforbugsandissuesReviewthiscodeforbugsandissues

Hover a row to see what that token attends to.

By Design 4, the model has burned through its defaults. The safe layouts, the safe palettes, the common component patterns are all in the rear-view mirror as forbidden territory. To satisfy the prompt, it's forced to explore lower-probability regions of its latent space, the parts of the training distribution it almost never visits when prompted cold.

Latent space, projected to 2D
12345
Design 5default

Magazine columns

Deep exploration. Atypical structure the model would not propose first.

Each design penalizes the next. By design 5, the model is exploring regions it would never reach cold.

That's where the genuinely interesting designs live.

Routes are semantic fences

The instruction to put each design on its own route (/1, /2, /3, ...) isn't just file hygiene. It's a structural anchor for the attention mechanism.

Long generations bleed. Concepts from Design 1 leak into Design 3 unless something tells the model "the rules of the previous section ended; a new isolated context starts here." Route boundaries do that work. They tell the model: fresh component tree, fresh styles, fresh layout language.

Without the boundary, you tend to get five designs that are technically distinct but share a vocabulary, like five paintings by the same artist on the same afternoon. With the boundary, you get five designs that feel like they were briefed independently.

The prompt

Prompt: Five Variations

Build five distinct designs for this screen. Put them on routes /1, /2, /3, /4, and /5.

Each design must be visibly different from the others in:

  • Layout structure (grid, asymmetric, full-bleed, sidebar, split)
  • Visual hierarchy and where the eye lands first
  • Color palette and typographic system
  • Component patterns and interaction model
  • Overall mood and reference aesthetic

Do not reuse a layout idiom, color treatment, or component pattern from an earlier route. By route /5, you should be exploring approaches you would not have proposed first.

After building, write a one-sentence note at the top of each route explaining what makes it different from the previous ones.

The closing instruction (explain what makes it different) is a forcing function. It makes the model commit to the diversity during generation rather than rationalize it after the fact.

Where this generalizes

The technique isn't about UI. It's about anything where the highest-probability answer is the boring one.

Anywhere you'd hit regenerate, ask for a batch instead.

0255075100S1S2S3S4S5S6S7S8SprintsCodebase healthprod incidentsecurity patchrewrite neededcaught N+1 queryfixed auth bypasseliminated tech debtShip and move onInvest surplus

What bundling isn't

Bundling doesn't replace iteration. The five-in-one-shot move gets you out of the slop basin. It does not get you to a finished product. Once you have a design you like, you still need to refine it, and refinement works best in a focused context, not buried under four sibling designs.

Use bundling for divergence. Use focused follow-ups for convergence.

Don't hit regenerate. Ask for five, on five routes, and tell the model each one has to earn its place.