About Persona Engineering

Persona Engineering covers one problem: keeping a chatbot recognisably the same character across a long conversation.

The framing

A persona is state, reassembled per turn.

There is a definition you authored — who the character is, how it speaks, what it will and will not do. There are relationship facts that accumulated for this particular user. There is conversation history, of which only some fits. Every turn, a subset of all that becomes an input, a reply comes back, and the input is discarded.

Everything on this site follows from that. Memory is a decision about what to reassemble. Drift is the definition losing ground to accumulated history. Cost is what your state choices add to every future input. They are one problem with four faces.

What is in scope

Persona composition as distinct categories of state, and why holding them separately is what makes a character versionable. The structural options for conversation memory and the specific loss profile of each. Summarisation as lossy compression, including how it degrades across generations and what it preferentially destroys. Drift — its real causes, its recognisable shapes, and how to detect it without reading transcripts by hand. Per-turn cost as the constraint that governs all of the above. Moderation layers as an engineering reality, and how to keep the seam small when one intervenes.

What is out of scope

Retrieval, documents, embeddings, chunking, vector stores. Not adjacent-and-mentioned — absent. The context window appears here strictly as a constraint on character state, never as a general budgeting topic and never with documents in the picture. That is a different subject with its own home.

The user’s side. Why an app forgot something, why a character changed after an update, what happens to messages, how pricing tiers work. Same mechanisms, opposite audience, different site.

Also out: model training and fine-tuning, agents and tool use, infrastructure, named vendors, and business advice.

No prompt text, no code

There is none on this site, and that is deliberate rather than an oversight.

A paste-able persona prompt is a liability. It is the exact artifact that gets copied and modified to get around safety systems, and publishing one means publishing a starting point for that. Structural description — these are the categories of state, this is how they compete for space, this is what a summary destroys first — carries the same understanding without shipping the artifact.

It is also more durable. Prompt specifics depend on the model and rot within months. The observation that a fixed definition loses a proportion battle against growing history does not depend on any model and has not changed since anybody first noticed it.

On safety systems

Moderation is written about here as a constraint to design around, and only that.

The honest engineering content is real: filters sit outside the character, their interventions will not sound like the character, and the design problem is keeping that seam small and handling a refusal without the whole persona collapsing. That is covered.

What is not covered, at all, is anything that would help defeat one. No jailbreak techniques, no filter evasion, no framing a refusal as an obstacle. This is a hard gate rather than a matter of tone.

The same applies to content: nothing explicit appears here, and nothing here helps build systems whose purpose is explicit output. Adult content exists as a product category and is referenced only to the extent that moderation layers and refusal handling are engineering facts.

On numbers

There are no benchmarks, token counts, latencies, prices or accuracy figures on this site, because none could be honestly quoted from here and all of them would be stale. Where arithmetic makes a point, the numbers are obviously round, hypothetical, and labelled as illustrative.

Who it is for

An engineer maintaining a persona-driven chat product that works in demos and decays in production, who has narrowed the problem to state management rather than to model quality, and who wants the tradeoffs named rather than a recommendation.