Prompting GPT-5.6: Message Roles, Effort, and Agentic Prompts That Work
GPT-5.6 rewards precise, explicit prompts: structure developer messages as identity, instructions, examples, then context, keep stable content first for prompt caching, and pick reasoning effort deliberately (xhigh for complex multi-step work). Move saved prompt objects into code before OpenAI shuts down v1/prompts on November 30, 2026.
GPT-5.6 is the "explicit instructions" family: OpenAI's own guidance says GPT models benefit from precise instructions that spell out the logic and data the task needs, where reasoning-heavy work rewards high-level goals. Getting the best out of gpt-5.6 is mostly about structure (roles, sections, caching order), deliberate reasoning-effort choices, and a handful of agentic patterns OpenAI publishes verbatim. This guide distills OpenAI's prompt engineering guide and the GPT-5.6 Sol model page. OpenAI's separate latest-model guide now covers GPT-6, not GPT-5.6.
This is the model-specific layer. For cross-model fundamentals, start with our general prompt engineering playbook; for the Claude side, see prompting Claude Fable 5 and prompting Claude Opus 5.
Key Takeaways
- Use roles deliberately.
instructions(or adevelopermessage) outranksuserinput per OpenAI's model spec; think of developer messages as the function and user messages as its arguments. - Structure developer messages in four sections: identity, instructions, examples, context, in that order, with Markdown headers and XML tags for content boundaries.
- Order for caching. Keep content you reuse across requests at the beginning of the prompt to maximize prompt-caching cost and latency savings.
- Pick effort deliberately. GPT-5.6 Sol's scale runs none, low, medium (default), high, xhigh, max;
xhighis the setting for complex multi-step work and careful verification. - Move prompts into code. Reusable prompt objects are deprecated;
v1/promptsshuts down November 30, 2026. - Pin snapshots and build evals. OpenAI strongly recommends pinning production apps to model snapshots and measuring prompt behavior before upgrades.
- For agents, prompt persistence explicitly: decompose the query, reflect after each tool call, and do not yield the turn until every sub-request is complete.
Roles: Instructions Versus Input
The Responses API gives you two authority levels. The instructions parameter (equivalent to a developer role message) sets behavior, tone, and rules, and takes priority over whatever arrives in input; user messages are prioritized behind it, per OpenAI's model spec chain of command. OpenAI's mental model: developer messages are a function definition, user messages are the arguments passed to it.
One operational trap: instructions applies only to the current request. If you manage conversation state with previous_response_id, instructions from earlier turns are not carried into the context, so re-send them each turn.
Structure: Four Sections, Cache-Friendly Order
OpenAI's recommended developer-message shape, in order:
| Section | What goes in it |
|---|---|
| Identity | Purpose, communication style, high-level goals of the assistant |
| Instructions | Rules to follow, what to always and never do, tool-calling guidance |
| Examples | 3-plus diverse input/output pairs, wrapped in XML-style tags |
| Context | Proprietary data and reference documents, placed near the end because it changes per request |
Use Markdown headers to mark the sections and XML tags to delineate documents and examples; XML attributes can carry metadata your instructions reference. The ordering doubles as a caching strategy: content reused across requests belongs at the beginning of the prompt (and early in the request body) to maximize prompt-caching savings.
Few-shot examples remain the highest-leverage steering tool for format and tone. Show a diverse range of inputs with desired outputs rather than near-duplicates, and let the model pick up the pattern instead of describing it abstractly.
Reasoning Effort and When to Use It
GPT-5.6 Sol exposes reasoning.effort levels of none, low, medium (the default), high, xhigh, and max, per OpenAI's model docs. Higher settings improve quality on difficult tasks at the cost of latency and tokens. The working rules: raise to high or xhigh when more reasoning produces a measured quality gain, use xhigh for complex multi-step work and careful verification, and reserve max for when the model should keep exploring alternatives, running checks, and revising.
The reasoning-versus-GPT distinction still governs prompt style: OpenAI compares reasoning models to a senior colleague who takes a goal and works out the details, and GPT models to a junior colleague who performs best with explicit output instructions. When you lower effort toward none, compensate with more explicit instructions.
Version Prompts in Code (Deadline Attached)
OpenAI is deprecating reusable prompt objects: prompt creation is de-emphasized beginning June 3, 2026, and v1/prompts is scheduled to shut down on November 30, 2026, per OpenAI's deprecations page. The replacement is prompts in application code: keep prompt builders in a small module near the feature, type the dynamic inputs, pass generated instructions and input straight to the Responses API, and roll out prompt changes through your normal deployment process with fixtures and eval checks in front. If you call saved prompts by ID today, migrate before November.
Two adjacent durability practices from the same guide: pin production applications to specific model snapshots rather than floating aliases, and build eval suites that measure prompt behavior so upgrades are a measured change, not a surprise.
Coding, Front-End, and Agentic Prompts
For coding tasks, OpenAI's checklist is: define the agent's role and workflow explicitly, enforce structured tool use with concrete invocation examples, require testing (and treat patch-tool success messages with suspicion, validating results), and set Markdown standards, with file paths, functions, and classes in backticks.
For front-end work, OpenAI recommends specific libraries for best results: Tailwind CSS, shadcn/ui, and Radix Themes for styling; Lucide, Material Symbols, or Heroicons for icons; Motion for animation. In larger codebases, add sections covering visual principles, UI/UX specifics (typography, spacing, interaction states, accessibility), file structure, reusable component wrappers, and page templates.
For agentic runs, three patterns carry most of the weight. Prompt persistence: instruct the model to decompose the query into sub-requests, reflect after each tool call, and keep going until everything is resolved rather than yielding early. Prompt preambles: have it explain why it is calling a tool at notable steps, which buys transparency cheaply. And track progress with a TODO list tool or rubric so multi-step workflows do not silently drop steps.
Using GPT-6?
This guide covers GPT-5.6. If you have moved to GPT-6 Astra or GPT-6.1 Sol, read our GPT-6 prompting guide: reasoning effort values, tool calling, and several of the habits above work differently there. For what changed in the model itself, see our GPT-6.1 Sol launch coverage.
Read next
More practices and workflows- OpenAI
Prompting GPT-6 Astra and GPT-6.1 Sol: Effort, Migration, and Prompts That Keep It Working
GPT-6 Astra follows instructions more closely than earlier OpenAI models and asks more questions, so prompting it is mostly removing old scaffolding: grant permission to finish, trim skills and AGENTS.md, and stop ordering tests. In the API, replace none effort with low, move tool calls to Responses, and switch caching to prompt_cache_options.ttl.
- Claude
Prompting Claude Fable 5: What to Change and What to Delete
Prompt Claude Fable 5 with less, not more: brief instructions now beat enumerated rule lists, and old skills written for prior models can degrade output. Use effort as your main cost control, expect longer turns, ground progress claims in tool results, and configure fallback to Opus 4.8 for safeguard refusals.
- Claude
Prompting Claude Opus 5: Trim the Verbosity, Delete the Verification
Claude Opus 5 needs opposite prompting from its predecessors: you prompt for conciseness because effort no longer controls visible length, and you delete verification and double-check instructions because the model already does both. Constrain scope on narrow tasks, cap subagent spawning for cost, and keep thinking enabled at low effort rather than disabling it.
- Claude
Prompting Claude Opus 5.5: Delete 'Think Carefully', Name the Finish Line, Start at Medium
Prompt Claude Opus 5.5 by handing over the whole task with a clear finish line, deleting “think carefully” lines, and starting at medium effort. Thinking is always on, so effort is your depth control. Add a CLAUDE.md rule that names when to stop, and set effort explicitly instead of carrying Opus 5 settings over.
Corrections and Updates
- October 9, 2026: This page said our top-model picks recommend xhigh for GPT-5.6 Sol agent work and labeled OpenAI's latest-model guide as GPT-5 series guidance; the picks page no longer makes that recommendation, and that OpenAI guide now covers GPT-6.
Sources
- OpenAI, "Prompt engineering": https://developers.openai.com/api/docs/guides/prompt-engineering
- OpenAI, "Using GPT-6" (the latest-model guide, which covered the GPT-5 series when this page was published): https://developers.openai.com/api/docs/guides/latest-model
- OpenAI, GPT-5.6 Sol model page: https://developers.openai.com/api/docs/models/gpt-5.6-sol
- OpenAI, deprecations (reusable prompts): https://developers.openai.com/api/docs/deprecations#2026-06-03-reusable-prompts
- OpenAI Model Spec, chain of command: https://model-spec.openai.com/2025-02-12.html#chain_of_command
Frequently Asked Questions
What is the difference between developer and user messages?
OpenAI's model spec prioritizes developer messages ahead of user messages. OpenAI suggests thinking of them like a function and its arguments: the developer message defines the system's rules and business logic, and user messages supply the inputs those rules are applied to.
What reasoning effort should I use with GPT-5.6?
GPT-5.6 Sol supports none, low, medium (default), high, xhigh, and max. Use high or xhigh when extra reasoning produces a measured quality gain, xhigh for complex multi-step work and careful verification, and max when the model should keep exploring alternatives and revising its approach.
How should a GPT-5.6 developer message be structured?
OpenAI's recommended order is identity, then instructions, then examples, then context, using Markdown headers for sections and XML tags to delineate content like reference documents. Keep reusable content at the beginning of the prompt to maximize prompt-caching savings.
Are OpenAI reusable prompt objects going away?
Yes. OpenAI is deprecating reusable prompt objects: prompt creation is de-emphasized beginning June 3, 2026, and the v1/prompts endpoint is scheduled to shut down on November 30, 2026. OpenAI now recommends storing production prompts in application code with types, tests, and normal deployments.