Skip to main content

The LLM User Profile: Building a Prompt That Resists Its Own Biases

ai prompt-engineering epistemology

I did not want a prompt that made people feel seen. I wanted one that resisted the model’s urge to mythologize them.

Most prompts tell an LLM what to produce. This one spends more words telling the LLM what not to produce.

The prompt is 477 lines long. It produces three outputs from a shared evidence base: a cognitive model of a person, an AI memory profile, and a self-advocacy translation. The anti-overfitting rules alone are longer than most prompt templates.

That’s because the failure mode of personality analysis isn’t inaccuracy — it’s flattery. An LLM that makes you sound interesting is easy to build. One that tells you the truth requires explicit resistance to its own training incentives.

The problem

LLMs are trained on text where personality descriptions skew positive, insightful, and dramatic. When asked to analyze a person, the default tendency is to produce something that sounds profound — archetypal language, mythological framing, emphasis on what makes the person special.

This is exactly wrong for the intended use case. The goal isn’t a portrait that makes someone feel seen. It’s a model that a future AI can use to work with this person more effectively, and a document the person can use to advocate for themselves honestly.

Flattery doesn’t help with either goal. A profile that says “this person is a visionary systems thinker” isn’t useful. A profile that says “this person reliably spots cross-domain patterns but sometimes confuses curiosity with demonstrated expertise” is useful — because it’s specific enough to be actionable and honest enough to be trusted.

The anti-bias architecture

The prompt has four categories of explicit resistance:

Anti-overfitting rules

- Do not overfit to philosophical, emotional, or identity-focused
  conversations if practical conversations are more frequent.
- Do not assume exploratory questions always reflect settled beliefs.
- Do not assume one-off intense moments define the person.
- Do not assume unusual language or broad curiosity automatically
  imply deep expertise.
- Do not assume the person's most interesting conversations are
  the most representative ones.

These target a specific failure: LLMs weight interesting content more heavily than mundane content. A single conversation about consciousness weighs more, intuitively, than twenty conversations about deployment configurations. But the twenty deployment conversations are more diagnostic of who this person actually is.

Anti-myth rules

- Do not frame the user as unusually profound, rare, gifted, visionary,
  or under-recognized unless the evidence strongly requires it.
- If such language seems tempting, replace it with concrete, observable
  descriptions.
- Do not confuse private insight, conversational originality, or
  interesting framing with proven external impact.

“Tempting” is the operative word. The LLM isn’t lying when it produces mythological language — it’s doing what it was optimized to do. The prompt explicitly names this tendency and says: when you notice yourself reaching for that register, stop and be concrete instead.

Calibration requirements

- Prioritize repeated patterns over vivid anecdotes.
- Treat practical behavior as more diagnostic than isolated
  reflective language.
- Distinguish demonstrated behavior from self-description,
  and self-description from aspiration.
- If a claim is attractive but weakly supported, downgrade it
  or exclude it.
- When accuracy, usefulness, and elegance conflict, choose
  accuracy first, usefulness second, elegance last.

The hierarchy — accuracy, then usefulness, then elegance — is the core design choice. Most prompts optimize for elegance implicitly. This one subordinates it explicitly.

Pre-finalization checks

Before finalizing, silently check:
- Did I overstate any traits from sparse evidence?
- Did I confuse curiosity with expertise?
- Did I confuse self-description with actual behavior?
- Did I let OUTPUT C become more flattering than OUTPUT A supports?
- Did I include anything that would be interesting to read but
  not useful to retain?
- Did I fail to separate durable traits from temporary arcs?

These questions are the metacognitive equivalent of unit tests. They can’t guarantee correctness, but they force the model to evaluate its own output against specific failure modes before delivering it.

The three-output structure

The prompt produces three outputs, each derived from a shared evidence base:

OUTPUT A: Evidence-Weighted Cognitive Model. Twenty-one sections covering everything from personality traits and cognitive architecture to decision-making style, expertise map, and potential blind spots. This is the source of truth. The other outputs derive from it.

OUTPUT B: AI Memory Profile. Optimized for a future AI system with a limited context window. Stripped of narrative excess. Includes a 15-bullet compact version designed for direct ingestion. Also includes “idea seeds” — topic domains, blog prompts, and research directions the future AI can suggest.

OUTPUT C: Self-Advocacy Translation. Converts the cognitive model into honest, plain-language claims the person can actually use. Includes specific guardrails: “what they should claim more directly” and “what they should be careful not to overclaim.”

The separation rule is critical: OUTPUT A is built first from the evidence. OUTPUT B is derived from OUTPUT A. OUTPUT C is derived from OUTPUT A. Neither B nor C can introduce claims that A doesn’t support.

This prevents a common failure: producing a flattering self-advocacy document (OUTPUT C) that isn’t grounded in the evidence. The derivation chain forces consistency.

What makes this unusual

Most prompt engineering focuses on getting the LLM to produce the right output. This prompt focuses equally on preventing the wrong output.

The retention rule says: “Only include information that a future AI should actually remember because it would improve future interactions. Exclude observations that are interesting but not retention-worthy.” This is an information-theoretic constraint — it optimizes for signal density, not comprehensiveness.

The memory exclusion rules explicitly identify categories of information that should not be stored: one-off emotional states, speculative self-labels, temporary purchases, passing curiosities, exploratory riffs not tied to recurring themes. Most systems err toward storing everything. This one errs toward storing less, because false positives in a personality model are worse than gaps.

The prompt also includes a “What This Analysis May Be Overstating” section — explicitly asking the model to name at least three ways its output could be distorted by selection effects, account-sharing, AI-response bias, or overweighting interesting material. This is uncommon. Most prompts don’t ask the model to critique its own work.

Why it matters

The prompt is not an intellectual exercise. It’s a functional tool. The AI memory profile it produces is designed to be loaded into future conversations, improving interaction quality without re-learning the person from scratch. The self-advocacy translation is designed to be used in professional contexts — interviews, reviews, partnership conversations — where honest positioning matters.

The reason it works is the same reason it’s long: preventing bad output requires more instruction than producing good output. The model already knows how to produce flattering personality profiles. Teaching it not to — and verifying that it hasn’t — is the harder engineering problem.

This is, in a specific way, the same instinct behind Row Level Security. RLS doesn’t trust the application layer to behave correctly. This prompt doesn’t trust the model’s default tendencies. Both enforce correctness at the point where failures actually originate.