# Custom instructions and consistent results
Custom instructions let you set your role, tone, and output format once so every chat follows them without re-pasting a preamble. Instead of starting each conversation with "Act as a senior data analyst, be concise, use British English," you configure it in one place and ChatGPT applies it silently to every new chat.
This sounds small. It is not. Custom instructions are the cheapest, highest-leverage personalization in the entire OpenAI ecosystem, and most professionals fill them in once, badly, and never touch them again.
Custom instructions are two persistent text fields that get injected into the system context of every new conversation. You set them in ChatGPT under Settings → Personalization → Custom instructions. The official reference lives at help.openai.com on custom instructions.
There are two boxes:
1. What would you like ChatGPT to know about you? Context about who you are, your work, your audience, your constraints.
2. How would you like ChatGPT to respond? The behavioral rules: tone, format, length, what to avoid.
ChatGPT also exposes lighter fields in newer builds (a nickname, your role, traits like "witty" or "direct"). Treat those as shortcuts. The two main boxes are where the real control is.
These are different from memory
Here is a generic prompt with no custom instructions:
> You: Write a short update about our APIAPIApplication Programming Interface: a standardised interface that lets applications communicate and exchange data without knowing each other's internal workings.Voir la définition complète → rate limit change.
> ChatGPT: Sure! Here's a friendly update you can use:
> "Hi everyone! 🎉 We're excited to share that we've updated our APIAPIApplication Programming Interface: a standardised interface that lets applications communicate and exchange data without knowing each other's internal workings.Voir la définition complète → rate limits..."
Enthusiastic, emoji-laden, vague. Now the same prompt with custom instructions filled in.
Box 1 (about you):
I'm a developer-relations lead at a B2B fintech API company.
My audience is technical: backend engineers integrating our REST API.
We publish changelog entries and email notices. Compliance reviews everything.Box 2 (how to respond):
Write in plain, direct English. No emoji, no exclamation marks, no "I'm excited to".
Lead with the change and its effective date. State the old value and the new value.
Include one sentence on the action the reader must take.
Default to under 120 words unless I ask for more. Use British spelling.Same prompt, new result:
> ChatGPT: Rate limit increase, effective 14 March 2026.
> The default limit on /v2/transactions rises from 100 to 300 requests per minute. Existing integrations need no code changes; the new ceiling applies automatically. If you currently implement client-side throttling at 100 RPM, you may raise it to 300 to improve throughput. Burst limits and the 429 retry-after header are unchanged.
That is your house style, applied automatically, in every new chat, with zero prompt overhead. The model is doing the same work; you have simply removed the ambiguity it would otherwise fill with defaults.
The mistake is writing aspirational fluff ("be helpful and smart"). The model is already trying to be helpful. Instructions only matter where they resolve a choice the model would otherwise make for you.
"Be concise" is weak. The model has no number. Compare:
Weak: Keep answers short and to the point.
Strong: Default to under 150 words. For code, give the snippet first,
then at most three bullets of explanation. Skip preamble like
"Great question".If you always paste output into Slack, Jira, or a CMS, say so:
When I ask for a Jira ticket, output: a one-line summary, a description
in plain text (no markdown headers), and a bulleted acceptance criteria
list. Do not wrap the whole thing in a code block.Negative instructions are powerful here. "Do not hedge with 'it depends' unless you then give me the deciding factor." "Do not apologise." "If you are uncertain, say so in one line and give your best answer anyway."
These fields share your context windowcontext windowThe context window is the maximum amount of text (measured in tokens) a language model can process at once, including both the input prompt and the generated output.Voir la définition complète → with everything else in the chat. Bloated instructions cost tokenstokensA token is the basic unit of text that language models process, often a word fragment, whole word, or punctuation mark rather than a single character.Voir la définition complète → on every turn and dilute the signal. Aim for tight, non-overlapping rules. A dozen sharp lines beat three paragraphs of prose.
Custom instructions are global. They apply to every standalone chat. But your "house style" for client emails is not the same as your house style for SQLSQLSales Qualified Lead: a prospect the sales team has validated as ready for direct outreach and a proposal, having passed clear qualification criteria.Voir la définition complète → debugging. Cramming both into the global boxes creates contradictions.
This is what Projects solve. A Project is a workspace with its own instructions, its own uploaded files, and its own chat history, separate from your global settings. Inside a Project, you set project-specific instructions that layer on top of (and can override) your global ones.
A clean division of labour:
So when you spin up a "Compliance Comms" Project, you do not re-type your tone rules; you inherit them and add the project-specific ones. See help.openai.com on Projects for file and instruction scoping.
Vérification des acquis
1. Where in ChatGPT do you configure custom instructions?
2. According to the lesson, how do custom instructions technically affect each new conversation?
3. How does ChatGPT's memory feature differ from custom instructions?
4. Select ALL correct answers about what belongs in each custom instructions box.
Sélectionnez toutes les réponses correctes.
5. Select ALL correct answers about the value and use of custom instructions as described in the lesson.
Sélectionnez toutes les réponses correctes.
If you find yourself building the same context, files, and tone for something other people will use, you have outgrown personal instructions. That is a Custom GPT: a packaged, shareable assistant with its own instructions, knowledge files, and optionally Actions (calls to external APIs) and Connectors (access to tools like search or your own dataown dataData collected directly from your own customers and prospects through your own channels: your most reliable and privacy-compliant source.Voir la définition complète → sources).
The relationship is a ladder:
| Tool | Scope | Shareable | Best for |
|------|-------|-----------|----------|
| Custom instructions | Every chat, just you | No | Your personal default behavior |
| Project instructions | One workspace, you | Limited | One ongoing body of work |
| Custom GPT | A named assistant | Yes, via link or GPT Store | A repeatable role others will reuse |
The "instructions" field in a Custom GPT is the same idea as Box 2, scaled up: it is the system prompt for that assistant. Everything you learned about writing tight, specific, format-first rules applies directly when you build one.
Custom instructions are ChatGPT's UI for what the APIAPIApplication Programming Interface: a standardised interface that lets applications communicate and exchange data without knowing each other's internal workings.Voir la définition complète → calls system instructions. When you move from the ChatGPT app to the OpenAI platform, your "how to respond" rules become the instructions parameter on the Responses API, or a system message in Chat Completions.
This is the bridge worth seeing once: the discipline you build writing good custom instructions transfers directly to production code.
from openai import OpenAI
client = OpenAI()
HOUSE_STYLE = (
"Write in plain, direct English. No emoji, no exclamation marks. "
"Lead with the change and its effective date. State old and new values. "
"Default to under 120 words. Use British spelling."
)
response = client.responses.create(
model="gpt-4.1",
instructions=HOUSE_STYLE,
input="Write a short update about our API rate limit change.",
)
print(response.output_text)Notice HOUSE_STYLE is literally your Box 2 text, lifted into a constant you reuse across every call. That is the point: a good instruction set is a reusable asset, not a one-off.
If you need the output in a fixed shape (not just a tone), you stop describing the format in prose and use structured outputs instead, which constrains the model to a JSON schemaschemaA schema is the formal blueprint that defines how data is structured, named, typed, and related within a database, file, or message.Voir la définition complète → you define. Instructions handle *style*; structured outputs handle *shape*. Use both together: instructions for "be terse and British," a schemaschemaA schema is the formal blueprint that defines how data is structured, named, typed, and related within a database, file, or message.Voir la définition complète → for "return exactly these fields."
Open your settings now and check them against this:
1. Do they resolve real choices? Delete any line the model already does by default ("be accurate").
2. Is there a number anywhere? Length, count of bullets, max examples. If not, the model is guessing.
3. Do they name your output destination? Slack, email, code, a CMS. Format follows destination.
4. Have you said what to suppress? Hedging, apologies, emoji, preamble.
5. Are they global-true? Anything that only applies to one project belongs in a Project, not here.
Run a test: paste an identical prompt with instructions on, then turn them off and run it again. The delta is exactly what your instructions are buying you. If there is no delta, your instructions are not earning their tokenstokensA token is the basic unit of text that language models process, often a word fragment, whole word, or punctuation mark rather than a single character.Voir la définition complète →.
instructions parameter in the Responses APIAPIApplication Programming Interface: a standardised interface that lets applications communicate and exchange data without knowing each other's internal workings.Voir la définition complète → and the system prompt of a Custom GPT.