Skip to main content
Lesson 4 of 12 · OpenAI Reasoning: Reflection and Effort Levels, from ChatGPT to API

Solve Complex Problems with High-Level Reasoning

Lesson 4 of 12 Updated November 5, 2026 Intermediate
On this page
  1. Leveraging High-Level Reasoning
  2. The Art of Framing the Right Problem
  3. Multi-Constraint Problems
  4. Making the Result Verifiable
  5. Scenario Analysis, Debugging, and Diagnostics
  6. When the Problem Resists: Step It Up
  7. Your Turn
  8. Key Takeaways

Leveraging High-Level Reasoning

You now know when to enable reasoning. The next step is learning how to feed it. This lesson shows you exactly how to frame your requests so a model set to a high reflection level—High or Extra High in Chat, high to max in the API—delivers its best performance on complex problems.

The Art of Framing the Right Problem

A reasoning model isn’t an oracle: it’s only as good as the problems you give it. A well-framed problem yields structured reasoning and a reliable answer; a vague one produces disappointing results, no matter how much reasoning power you throw at it. OpenAI sums it up for its reasoning models this way: simple, direct instructions; explicit constraints; a crystal-clear end goal. Concretely, the difference comes down to four elements your request must always include.

  1. Context: Explain the situation in a few sentences.
  2. Data: Provide all numbers, constraints, and parameters.
  3. Objective: Specify exactly what you expect.
  4. Format: Indicate how you want the answer (table, detailed steps, final recommendation).

The gap between these two prompts illustrates the rule better than any explanation could.

Bad prompt: “Help me optimize my spending.”

Good prompt: “My annual marketing budget is €180,000. I have 4 channels: SEO (cost €3,000/month, estimated ROI 4.2x), Google Ads (cost €5,000/month, ROI 2.8x), LinkedIn Ads (cost €4,000/month, ROI 1.9x), and Content Marketing (cost €3,000/month, ROI 3.5x). I want to maximize overall ROI while keeping at least €2,000/month on each channel. Propose an optimal allocation with detailed calculations.”

The second prompt gives the model everything it needs to reason; the first forces it to invent missing data. That’s actually the most common pitfall: if you don’t provide the numbers, the model will make up its own assumptions, and your analysis will be built on sand. Always provide real data, and don’t forget to specify the expected format—without guidance, the model picks its own, which rarely works in your favor.

Multi-Constraint Problems

High-level reasoning shines when a problem combines multiple interacting constraints. The model identifies those constraints, checks their compatibility, finds a solution that satisfies them all, and—this is the often-overlooked part—flags any contradictory constraints instead of delivering an unworkable answer.

Project planning is a classic example:

“I need to deliver a project in 12 weeks with a team of 3 developers. Here are the 8 tasks with their dependencies and estimated durations: [detailed list]. Find the critical path and propose a schedule that minimizes the risk of delay.”

The model will build a mental Gantt chart, identify critical dependencies, and propose a reasoned schedule instead of just ordering the tasks.

Making the Result Verifiable

A reflex inherited from older models is to write “think step by step.” OpenAI now advises against this: its models already reason internally, and this instruction doesn’t improve the result—it can even degrade it. What you need isn’t more thinking, but an answer you can audit. So, in your output format, ask for the elements to verify:

“Give your recommendation, then the assumptions made, the key calculations, and a final verification of the result.”

This is your best protection against blind trust: even at the highest level, the model can make mistakes, and calculations driving high-stakes decisions must always be verified, ideally through data analysis or your spreadsheet.

Framing a difficult problem correctly Four tiles: context and all data; a precise objective with success criteria; simple instructions, delimited by headings or tags; a verifiable result, with assumptions, key calculations, and verification, without asking to think step by step. INSTRUCTIONS FOR HIGH-LEVEL REASONING Framing a difficult problem correctly 1 Context and data The situation, all numbers, and the constraints. Nothing to invent 2 Precise objective What makes a successful answer. Success criteria 3 Simple instructions Direct, delimited by headings or tags. Markdown XML 4 Verifiable result Assumptions, key calculations, final verification. No "step by step" Based on OpenAI's best practices for its reasoning models.
Based on the OpenAI API Reasoning best practices guide (November 2026).

Scenario Analysis, Debugging, and Diagnostics

At a high reasoning level, the model evaluates multiple scenarios and compares them against weighted criteria, making it a valuable aid for strategic decisions:

“I’m evaluating 3 vendors for a maintenance contract. Here are the criteria (weight in parentheses): price (30%), responsiveness (25%), technical expertise (25%), references (20%). Here is the data for each vendor: [data]. Analyze each scenario and recommend the best choice.”

The same mechanism applies to technical diagnostics. Faced with a problem whose cause isn’t obvious, high-level reasoning systematically explores hypotheses instead of stopping at the first plausible one:

“My Node.js application crashes randomly in production. Here are the logs from the last 5 crashes: [logs]. Crashes occur between 2 AM and 4 AM. Memory usage climbs progressively. Analyze possible hypotheses in order of probability.”

When the Problem Resists: Step It Up

If a problem stumps the High level, step it up rather than rewriting the prompt ten times: try Extra High or Pro in Chat, xhigh then max in the API, possibly with reasoning.mode set to pro. In ChatGPT Work and Codex, Max gives the model more time on a single task, while Ultra distributes a complex task across sub-agents working in parallel when it can be broken into independent chunks. These are last resorts, not default settings: most tasks don’t need them, and they consume significantly more resources.

Your Turn

An optimization problem. Submit this problem at a high reasoning level (High in Chat, high in the API):

“A company sells 3 products. Product A costs €50 to produce and sells for €120. Product B costs €80 and sells for €180. Product C costs €30 and sells for €65. Production capacity is 1,000 units per month. Product A requires 2 hours of production, B requires 3 hours, and C requires 1 hour. The workshop has 2,500 hours available per month. Maximum demand is 400 units for A, 300 for B, and 600 for C. How many of each product should be produced to maximize profit?”

Observe how the model frames the linear programming problem, defines variables, formulates constraints, and solves it step by step. You’ll see the four principles from this lesson applied to a single case: a precise statement, complete data, an explicit objective, and reasoning you can follow—and therefore verify. Finally, ask the data analysis tool to recalculate the solution and compare.

Official sources: Reasoning best practices (OpenAI API: simple instructions, no “think step by step” prompting, explicit constraints and objectives) · Reasoning models (effort levels, pro mode) · Models (ChatGPT documentation: Max and Ultra)

Key Takeaways

  • Structure your prompts: context, data, objective, format
  • High-level reasoning excels at multi-constraint problems and scenario analysis
  • Don’t write “think step by step”: instead, ask for assumptions, key calculations, and verification in the response
  • Always provide real data—don’t let the model guess
  • If a problem resists, step it up (Extra High, Pro, xhigh, max; Max or Ultra in Work) and verify critical results