Reasoning Model Prompt

How to prompt o1 and o3 reasoning models. Dense, specification-heavy upfront — all requirements stated before asking for output. Use when GPT-4o produces confident but wrong answers on hard problems.

Syntax

chatgpt
# When to use o1/o3 (not GPT-4o):
- GPT-4o gave confident but wrong answer
- Multi-step math/algorithm with precision req
- Complex TypeScript type problem
- System design with many simultaneous constraints

# Prompting style:
State ALL requirements upfront.
Specification-heavy, not conversational.
Do not soften with "can you help me...".
State exact constraints and edge cases.
Ask for the full solution, not step-by-step.

Example

chatgpt
# GPT-4o (conversational OK):
"Help me add sorting to my task list component?"

# o1/o3 (dense specification):
"Implement TypeScript type DeepPartialReadonly<T>:
- All properties optional recursively
- Preserves readonly at all nesting levels
- Handles: primitives, arrays, tuples, unions
- No infinite recursion for circular references
- TypeScript 5 strict mode compatible

Provide the type and 5 test cases
covering each requirement."