Native reasoning is a separate API surface
Claude has Extended Thinking; OpenAI has the o-series and reasoning-effort knobs on GPT-5.5; Gemini has Thinking modes. They are not interchangeable, and the prompt that works on one will not necessarily work on the others.
Per-provider quirks
- Claude (Extended Thinking) — explicit thinking budget in tokens. Thinking is a separate part of the response (visible to operator, not always to user). You can prompt the thinking ('summarize the constraint first, then …'), but the model decides how to use the budget.
- OpenAI o-series and GPT-5.5 — reasoning_effort parameter (low / medium / high). Reasoning tokens are billed but not returned to the developer. Different prompt style: instructions tend to be terser; over-prompting can interfere with the model's planning.
- Gemini Thinking — thinking budget configured via generation config. Output behavior similar to Claude; specifics differ.
When to use native reasoning
- Hard, multi-step tasks where ordinary outputs miss steps.
- Tasks where you can afford the latency (reasoning is slower).
- Tasks where you can afford the cost (reasoning tokens are billable).
When to skip
- Low-latency real-time UX (reasoning adds seconds).
- Trivial classification or formatting.
- Tight token budgets.