Konshus

Explainer · 8 min read

Memory vs custom instructions vs system prompt

These three layers do different things, and putting the wrong content in the wrong layer is the reason your careful personalization sometimes just… doesn't work.

Three stacked translucent layers labeled abstractly, each with a different color

The stack, top to bottom

Every turn, the model reads a stacked context, and the order matters. Roughly:

  1. System prompt (provider-owned, invisible, always present)
  2. Custom instructions (user-owned, always injected)
  3. Retrieved memories (opt-in, probabilistic, injected when relevant)
  4. Chat history (rolling, capped)
  5. Your latest message

Higher in the stack ≈ stronger influence on the reply. When two layers say different things, higher usually wins.

System prompt

This is the provider's territory. It sets safety rules, personality baseline, formatting defaults, and whatever else the provider wants baked in. You don't see it, and in consumer products you don't edit it. If you build on the API, you set it yourself, and it's the strongest lever available — everything downstream is competing with it.

Custom instructions

This is what most people should be using more of. It's a fixed block of text you set once (ChatGPT calls it "Customize ChatGPT," Claude uses per-Project instructions, Gemini uses Gems). Every new chat gets it. It's deterministic — no retrieval lottery — so it's the right place for:

  • Your writing style ("short paragraphs, no bullets unless I ask")
  • Structural rules ("don't summarize what I just said back to me")
  • Persistent framing ("assume I'm technical, don't over-explain")
  • A handful of durable facts ("I run a small startup called X. I write novels on the side.")

Instructions have a length cap (usually a few thousand characters). Once you hit it, more goes into memory. But the top-of-the-stack things — the ones that must be true every single reply — belong in instructions.

Memory

Memory is the "everything else about me" layer. Not always retrieved — the model decides per-turn whether the current prompt calls for it. Right for:

  • Dozens or hundreds of facts too many to fit in instructions
  • Details that only matter sometimes ("I visited Kyoto in 2019")
  • Cross-topic preferences that emerge organically ("prefers Postgres over MySQL")

Wrong for anything that has to be true every reply. If it has to be there every time, promote it to custom instructions.

The move most people miss

Most personalization frustration comes from putting durable rules into memory (where they might not fire) or trying to cram hundreds of facts into instructions (where they get truncated). The fix is to sort correctly:

  • Rules → instructions
  • Facts → memory
  • Task-specific overrides → the top of the current chat

Then check the memory panel occasionally, prune stale entries, and treat your custom instructions as living documentation of how you want to be spoken to.

Making it portable

Every layer above is provider-specific. ChatGPT custom instructions don't work in Claude. Gemini's saved info doesn't show up in Grok. The one thing you can do that survives every provider swap is keep a canonical version of your instructions and facts outside any one AI, and paste the version each one takes. That's the whole architecture behind owning your AI consciousness.

Never lose your AI again

Konshus is one way to solve this — a persistent memory vault and portable persona that follows you across ChatGPT, Claude, Gemini, and whatever ships next.

Meet Konshus

Frequently Asked Questions

Never lose your AI again

Konshus is one way to solve this — a persistent memory vault and portable persona that follows you across ChatGPT, Claude, Gemini, and whatever ships next.

Meet Konshus