OpenAI o1, o3 and the Reasoning-Model Family
What is publicly known and what is speculated about OpenAI's reasoning line, why the chain of thought is hidden, and what o3's ARC-AGI result actually proved.
In September 2024 OpenAI shipped o1-preview and o1-mini and re-anchored what a frontier model could do on hard reasoning. By the end of 2024 o3 had posted numbers on ARC-AGI that the field had been calling out of reach for at least a year. The o-series is the most visible artefact of the test-time-compute era. It is also a model line whose internals are partially opaque by design - this section keeps the public/speculated line clear because that distinction is load-bearing for any engineer using the API.
What is publicly known about o1
From OpenAI's "Learning to reason with LLMs" launch post and the o1 system card:
- o1 was trained with large-scale reinforcement learning on chains of thought. The RL teaches the model to "think productively" before answering - to plan, decompose, check, backtrack.
- o1 generates a long internal reasoning trace before its final answer. This trace is the source of the accuracy gain over GPT-4o on competition maths, programming and PhD-level science.
- Accuracy scales with both more train-time RL compute and more test-time thinking tokens. OpenAI showed the two scaling curves alongside each other - the first time test-time compute was presented as a first-class scaling axis.
- The model achieved IMO-qualifier-level scores (~83% on AIME 2024 vs GPT-4o's ~13%) and competitive-programming Codeforces percentiles around the 89th when given a thinking budget.
What is publicly known about o3
o3 (announced December 2024, full release through 2025) extended the same recipe:
- The headline result was 87.5% on ARC-AGI-1 in a high-compute configuration, with a low-compute setting at 75.7%. Human baseline on the same set is ~85%. Prior best for a non-specialist model was in single digits.
- ARC Prize Foundation noted the high-compute result used thousands of dollars of compute per task. This is the caveat that drove most of the post-launch discussion: o3 demonstrated capability, not deployable efficiency, at the headline number.
- o3 also posted strong numbers on FrontierMath, GPQA Diamond, SWE-bench Verified. Most numbers were paired with multiple compute settings, making the cost/accuracy frontier explicit.
The o3-mini follow-up (released early 2025) targeted the cost-efficient point of the same curve, with reasoning_effort levels (low/medium/high) the developer chooses per call. Same family, different operating point.
What is speculated, not confirmed
- Exact RL algorithm. OpenAI has not published whether o1 uses PPO, GRPO, a variant, or something proprietary. Independent guesses lean toward an RLVR-style setup on maths and code, possibly with a learned PRM for partial credit, but this is inference from public numbers, not disclosure.
- Whether reasoning is one-shot or includes inner search. It is plausible that o1 and especially o3 run some form of inference-time search (beam, MCTS) under the hood. OpenAI describe it as the model "thinking", which is consistent with either pure long-CoT generation or with internal search. The distinction matters for cost modelling.
- Whether the o3-on-ARC pipeline includes task-specific tuning. ARC's high-compute setting reportedly involved generation of many candidate programs per task. How much of that is intrinsic to o3 vs a wrapper around it is not fully disclosed.
Treat anything you read about "how o1 works internally" with this distinction in mind. The public surface is the system card, the launch posts, and the API behaviour. The rest is reasoned guessing.
Why the chain of thought is hidden
The o-series API returns the final answer and a summary of the reasoning, never the raw reasoning tokens. OpenAI's stated reasons:
- Competitive. The raw CoT is the most valuable distillation target a competitor could ask for. Exposing it lowers the cost of training a similar model from your traces.
- Safety monitoring. OpenAI wants the model's reasoning to be unfiltered for their own safety inspection - which requires it to not be performative for the user. If the model knows users see the CoT, it has incentive to launder reasoning that violates policy. Hiding it preserves an internal audit channel.
- User-facing quality. Raw CoTs are long, sometimes erratic, occasionally contradict the final answer. Summaries are easier to consume.
The trade-off is paid by developers: you cannot inspect why the model concluded what it did, cannot debug it the way you debug a visible reasoning trace, cannot fine-tune on its own output without the raw CoT.
Billing implications
Hidden does not mean unbilled. The API charges for reasoning tokens. A few practical consequences:
| Workload pattern | Cost impact |
|---|---|
| Short factual queries to o1 | Often expensive vs gpt-4o for no accuracy gain |
| Hard maths / proof / planning | Reasoning tokens dominate; cost per query 5-50x base |
| Agentic loops calling o1 each turn | Reasoning cost multiplies by loop length; budget carefully |
| Latency-sensitive UI | o1 reasoning latency often 10-60s; not suitable for sub-second |
Use o1-mini / o3-mini with reasoning_effort=low |
Closer to gpt-4o cost while keeping some of the reasoning gain |
Operating rule that has held up: route by query class. Easy / interactive: a non-reasoning model. Hard / batchable / verifiable: a reasoning model with a chosen effort level. Anthropic and Google's analogous reasoning SKUs followed the same pattern.
o1-mini, o3-mini, and the cost-efficient variants
The "mini" variants exist because most production calls do not need IMO-medal capability. They keep the trained-CoT capability and the reasoning_effort knob but at a smaller base model and a lower per-token price. For coding agents and tutoring workloads they are usually the right default; the full o-series is the escalation path for queries that fail at low effort.
Where it falls down
- Opaque internals. You cannot easily distinguish "the model is bad at this" from "the model reasoned correctly but the answer extractor failed".
- Variable cost per query. Budgeting and rate-limiting reasoning workloads is harder than non-reasoning ones because token counts vary 100x across queries.
- CoT faithfulness. The visible summary may not reflect the actual reasoning. Anthropic and others have shown that summarised reasoning can rationalise rather than report. The o-series exposes a summary precisely because the raw trace cannot be trusted as a faithful explanation.
- Benchmarks vs deployment. Headline numbers (87.5% ARC, x% AIME) often come from compute settings that are not the ones you can afford. Always check which effort level the number was produced at.
Further reading
5 flashcards for this concept
Click a card to reveal the answer.