4.1 Why Faces Drift: The Mechanics

This part of the book solves one problem, and it is the problem that decides whether the project exists. Everything else in a persona business — the content calendar, the funnel, the chat product — assumes there is a face that persists.

Most operators experience drift as a mystery. They change one word and get a different person. They attribute it to the model being "unstable," and then they try to fix it by adding more words, which makes it worse. The mechanism is simpler than that, and once you can name it, every technique in chapters 4.2 through 4.7 becomes an obvious response to it.

The model has no memory of your character

A diffusion model is stateless. It does not know your persona exists. Every generation starts from noise and resolves toward your conditioning — and everything your conditioning does not specify, it resolves randomly.

That is the entire cause of drift. "The same person" is not a concept the model holds between calls. It is a constraint you have to impose on every single generation, and the quality of your imposition is what the next five chapters are about.

Text is a low-bandwidth channel for a face

Now the quantitative part, because it explains why prompt engineering cannot solve this.

A human face carries an enormous number of distinguishable features: bone structure, the ratio of eye spacing to face width, nose bridge height and width, the philtrum, lip shape, chin projection, ear form and attachment, hairline shape, eyebrow arch, tooth shape, and skin texture at the pore level. Any two faces differ across thousands of measurable dimensions.

A prompt gives you perhaps four to eight of them. "Oval face, brown eyes, sharp jaw, light skin" is a description satisfied by a very large number of distinct people — the specificity of the words does not create specificity of the result.

The residual is what drifts. Whatever your prompt leaves unspecified gets sampled. Change one word and you have changed the conditional distribution, which re-samples the unspecified dimensions, which is a new person.

Two failure modes follow, and they are the same failure at different scales:

Prompt drift. Changing smiling to laughing is not a synonym swap to the model. Laughing changes cheek geometry, eye shape, and mouth position, so the resolves those regions differently — and, because identity and expression are entangled in the , it often resolves the whole face slightly differently. studio to outdoor changes the lighting model, which changes how every surface is rendered, which the sampler also reads as a change in the subject.

drift. Leave the seed free and the unspecified dimensions are re-sampled wholesale. This is the most common cause of "the model is unstable," and it is the operator's own configuration.

The viewer rule: faces are not processed like clothes

Here is the asymmetry that tells you where to spend your effort.

Human perception dedicates specialized machinery to faces. The research on face perception is consistent that a face is processed as a configural whole, and that a change to it is registered extremely quickly — on the order of a fifth of a second. [UNVERIFIED] An audience scrolling a feed does not analyze your persona's face. It recognizes it or it does not, and the judgment lands before deliberation.

There is no equivalent machinery for a jacket. Outfit inconsistency is forgiven for hours, days, or permanently, especially when the character supplies a frame for it — a style shift, a new season, a photoshoot. Face inconsistency has no such frame. It reads as a different person, and a different person is not a continuity error in a fictional character. It is the collapse of the premise.

Close the face before you close the body.

The face is the high-sensitivity, high-cost variable. Wardrobe, sets, props, and styling are low-sensitivity and cheap to vary. When you must compromise — and in a real pipeline you will — compromise the outfit, and never the face. Lock the identity first, then use the locked identity pipeline to explore everything else. This is also the cheaper order, because a locked face lets you explore wardrobe inside one pipeline instead of re-solving identity for every new shoot.

Drift accumulates, which is what makes it dangerous

The per-asset version of drift is annoying. The cumulative version is fatal.

Post 1 and post 2 differing slightly is invisible. Post 1 and post 200 differing slightly, in the same direction, is a different person — and by then you have 199 posts of history anchoring the account to a face you can no longer reproduce.

Three consequences for how you work:

  • A canonical reference plate is mandatory. One image, chosen deliberately, that is the definition of the persona's face. Every generation is compared against it, and every future training run uses it. Chapter 4.6 turns the comparison into a measurement.
  • Re-anchor rather than drift. When the generation drifts, the correct response is to return to the reference plate and the locked configuration, not to adjust the prompt until it looks right. Prompt-level corrections are themselves identity changes, and they compound.
  • A version number belongs on the identity. When you retrain the , the persona's face has changed slightly, whether or not you intended it to. Chapter 4.6's register records which version produced which asset. Chapter 12.4 covers why swapping the identity mid-stream is a decision, not a fix.

Three scales of drift, and what each one costs

It helps to separate drift by how long it takes to appear, because each scale has a different fix.

Per-generation drift is visible inside one session: same prompt, free seed, a visibly different person. The fix is identity conditioning — the ladder in 4.2.

Per-session drift is the same prompt and the same settings producing a face that shifts over an hour of work, as you adjust wording to chase a composition. The fix is discipline: lock the identity configuration and change one variable at a time against a fixed reference, as 3.5's protocol describes.

Per-quarter drift is the dangerous one, because no single generation looks wrong. The face migrates slowly as your prompt library, your version, and your adapter weights all change underneath a consistent workflow. The fix is the reference plate plus the measurement protocol in 4.6, run on a schedule rather than when something looks off.

Most operators discover per-quarter drift the way you discover any slow leak: from a stranger pointing at two posts and asking whether it is the same person.

Drift is a cost, not an aesthetic complaint

One more reframing before the techniques.

Every drifted generation is a rejected asset. Rejections are the dominant term in the cost formula from chapter 0.4: an operator who needs eight attempts to get one usable image pays eight times for the post. Identity discipline is therefore not perfectionism. It is the single largest lever you have on , and the techniques in this part are how you pull it.

The corollary is worth stating plainly: if your reject rate is above roughly three attempts per published asset, the problem is your identity method, not your prompt vocabulary.

Where this goes wrong

Adding words to fix identity. More description changes the face rather than pinning it. The conditioning channel is too narrow; more text is still narrow.

Re-rolling seeds until something looks close. You are sampling, not solving, and the next generation is a different draw.

Blaming the model. Statelessness is not a bug. It is the architecture, and every method in 4.2 exists to impose state on a stateless system.

Accepting "close enough" in week one. Per-asset drift compounds into an unreproducible character.

Treating drift as random. It is systematic per prompt template. Some of your templates drift much more than others, and knowing which ones is free information.

Locking the wardrobe before the face. The expensive order, and the one that produces the "different person in the same jacket" effect.

The gate

  1. Do you have a canonical reference plate, and can you say which file it is?
  2. Which of your prompt templates produces the most drift, and do you know why?
  3. Is your seed locked or free in production, and is that deliberate?
  4. What is your attempts-per-published-asset ratio?
  5. Which identity version is currently published, and where is that recorded?

What you leave with

The mechanism — a stateless model resolving everything your conditioning leaves unspecified — the quantitative reason text cannot fix it, the perceptual asymmetry that makes the face the only variable worth fighting for, the ordering rule close the face before the body, and the cumulative-drift problem that turns a per-asset annoyance into an unreproducible character. Chapter 4.2 turns the mechanism into a ladder of methods.