Low, Medium, or High: Which o3-mini Reasoning Level is the Smartest?

Harsh Mishra Last Updated : 05 Feb, 2025
11 min read

Ever wish your AI could switch between “fast and furious” and “deep and thoughtful”? OpenAI’s o3-mini offers precisely that with its three distinct reasoning levels: Low, Medium, and High. This article provides a detailed comparison of these modes, highlighting their speed, use cases, benchmarks, and ideal applications to help you choose the perfect level for your needs.

The OpenAI o3-mini model features three distinct reasoning modes: Low, Medium, and High. Each mode is tailored for specific tasks and offers different performance characteristics. This article provides a detailed comparison of these reasoning levels, highlighting their speed, use cases, benchmarks, and additional insights to help users make informed decisions.

Overview of the o3-mini Reasoning Levels

Reasoning ModeSpeedUse CaseBenchmarksIdeal Applications
LowImproved accuracy over Low-modeRapid prototyping, high-volume data preprocessingMatches O1-mini coding accuracyBasic data entry, quick responses, simple queries
MediumBalanced speed and accuracyData analysis, content generationImproved accuracy over Low modeModerate complexity tasks, report generation, content creation
HighDesigned for PhD-level precisionComplex problem-solving, strategic planningElite-tier reasoning capabilitiesAdvanced STEM applications, SEO optimization, in-depth research

1. Low Reasoning Mode

  • Speed: The Low Reasoning Mode processes queries in seconds, making it faster than the o1-mini model. This speed is crucial for applications where time is of the essence.
  • Use Case: This mode is ideal for rapid prototyping and high-volume data preprocessing, where quick responses are essential. It allows developers to test ideas and iterate quickly without getting bogged down by complex reasoning.
  • Benchmarks: It matches the coding accuracy of the o1-mini model, making it suitable for tasks that require swift responses without the need for deep reasoning. This is particularly useful in environments where speed is prioritized over depth.
  • Ideal Applications: Basic data entry, quick responses to FAQs, and simple queries in customer service applications.

2. Medium Reasoning Mode

  • Speed: While specific processing times are not detailed, the Medium Reasoning Mode offers a balance between speed and accuracy, making it a versatile choice for various tasks.
  • Use Case: This mode is suitable for tasks that require moderate complexity, such as data analysis and content generation. It allows for a more nuanced approach compared to the Low mode.
  • Benchmarks: It provides improved accuracy over the Low mode while maintaining reasonable processing times, making it versatile for various applications. This mode is particularly effective for tasks that require a moderate level of detail and analysis.
  • Ideal Applications: Report generation, content creation for blogs and articles, and moderate complexity tasks in business analytics.

3. High Reasoning Mode

  • Speed: Although specific processing times are not mentioned, the High Reasoning Mode is designed for tasks that require PhD-level precision. This mode is optimized for depth and thoroughness.
  • Use Case: This mode is best for complex problem-solving, strategic planning, and tasks that demand deep understanding and nuanced reasoning. It is ideal for scenarios where accuracy and detail are paramount.
  • Benchmarks: It delivers elite-tier reasoning capabilities, making it suitable for advanced applications in fields like STEM and SEO. This mode excels in environments where high-level reasoning is necessary.
  • Ideal Applications: Advanced STEM applications, SEO optimization, in-depth research projects, and strategic business planning.

Hands-on o3-mini Reasoning Levels

We are experimenting with an AIME 2024 question which tests mathematical problem-solving with arithmetic, algebra, counting, geometry, number theory, probability and other secondary school math topics.

AIME 2024

Low reasoning mode

from langchain_openai import ChatOpenAI
import time
# Initialize the model
llm = ChatOpenAI(model="o3-mini", openai_api_key=userdata.get('OPENAI_API_KEY'))
# Start time calculation
start_time = time.time()
# Streaming response
for token in llm.stream(
 """ Let $ABCD$ be a tetrahedron such that $AB=CD= \sqrt{41}$, $AC=BD= \sqrt{80}$, and $BC=AD= \sqrt{89}$.
     There exists a point $I$ inside the tetrahedron such that the distances from $I$ to each of the faces of the tetrahedron are all equal.
     This distance can be written in the form $\frac{m \sqrt n}{p}$, where $m$, $n$, and $p$ are positive integers, $m$ and $p$ are relatively prime,
     and $n$ is not divisible by the square of any prime. Find $m+n+p$. """,
    reasoning_effort="low",
):
   print(token.content, end="")
# End time calculation
end_time = time.time()
# Display the duration
print(f"\nTime taken: {end_time - start_time:.2f} seconds")

Output

We will show that if one “labels” the tetrahedron by 

  AB = CD = √41, AC = BD = √80, BC = AD = √89,

then one may prove that the unique point I inside the tetrahedron at which the distances to the four faces are equal is exactly the in‐center, and its distance to the faces (i.e. the inradius r) can be written in the form

  r = (m√n)/p        (1)

with m, n, and p positive integers, m and p relatively prime and n square–free. In this particular problem one may show that

  m = 2, n = 21, p = 3,

so that 

  r = (2√21)/3    (2)

and hence 

  m+n+p = 2+21+3 = 26.

In what follows we describe one approach to the solution.

──────────────────────────────

Outline of one solution

(1) One may “fix” $A$, $B$, $C$ in 3–space by introducing coordinates. For example, take

  A = (0,0,0),

  B = (√41,0,0),

  C = (x,y,0)

and choose x and y so that the side‐lengths

  AC = √80 and BC = √89

hold. A short calculation shows that one may take 

  x = 16/√41 and y = (12√21)/√41.

(2) Then one writes D = (u,v,w) and uses the distances

  AD = √89, BD = √80, CD = √41.

One finds, after one elementary computation, that

  u = 25/√41  and one obtains (after a few more lines of algebra) an expression for v and for w.

(3) The volume V of the tetrahedron is now found by a determinant formula; one may show that 

  V = (1/6)|det(AB,AC,AD)| = 2√21 |w|.

(4) Next, one computes the areas of the four faces from Heron’s formula. (All four faces happen to have the same side–lengths {√41,√80,√89}; one may check that these three numbers satisfy the triangle inequalities.) In particular, one may show that the area of triangle ABC is

  Δ = (√a)/4     (with a positive integer a) and similarly for the other faces so that the total surface area is S.

(5) Finally one uses the classical relation between the tetrahedron’s volume, its surface area, and its inradius r,

  r = 3V/S.

After rather elementary (if somewhat lengthy) algebra one finds that 

  r = (2√21)/3.

Thus in (1) we have m = 2, n = 21, and p = 3 so that

  m+n+p = 2+21+3 = 26.

──────────────────────────────

Remark

Many contestants solved the problem by “putting coordinates” on the vertices and calculating the volume and face–areas so as to obtain r = (3V)/S. (In our solution we obtained r = (2√21)/3.) There are (at least) several different approaches; one may even find a solution by “guessing” that (when expressed in lowest terms) the inradius can be written in the form (2√21)/3.

──────────────────────────────

Answer

Thus, the answer to the problem is 26.

(Notice that some published solutions have m+n+p = 26; our answer is equivalent to saying that the distance from I to each face is (2√21)/3.)

Time taken: 10.72 seconds

The Verdict

  • Speed: Fastest of the three. ~10 seconds in our example.
  • Accuracy: Failed to solve the problem correctly. It gave an answer of 26, which is incorrect.
  • Structure/Reasoning: Provided a high-level outline of the solution approach, mentioning key steps like coordinate assignment, volume calculation, and the inradius formula. However, it didn’t execute the calculations correctly, leading to the wrong answer. It seemed to “know” the steps but couldn’t “do” the math.
  • Characteristics: Good for quickly generating outlines or initial drafts of solutions, but unreliable for complex calculations. It’s like having a student who understands the concepts but makes lots of arithmetic errors.

Medium reasoning mode

from langchain_openai import ChatOpenAI
import time
# Initialize the model
llm = ChatOpenAI(model="o3-mini", openai_api_key=userdata.get('OPENAI_API_KEY'))
# Start time calculation
start_time = time.time()
# Streaming response
for token in llm.stream(
 """ Let $ABCD$ be a tetrahedron such that $AB=CD= \sqrt{41}$, $AC=BD= \sqrt{80}$, and $BC=AD= \sqrt{89}$.
     There exists a point $I$ inside the tetrahedron such that the distances from $I$ to each of the faces of the tetrahedron are all equal.
     This distance can be written in the form $\frac{m \sqrt n}{p}$, where $m$, $n$, and $p$ are positive integers, $m$ and $p$ are relatively prime,
     and $n$ is not divisible by the square of any prime. Find $m+n+p$. """,

    reasoning_effort="medium",
):
   print(token.content, end="")
# End time calculation
end_time = time.time()
# Display the duration
print(f"\nTime taken: {end_time - start_time:.2f} seconds")

Output

We wish to find the (common) distance r from the unique interior point I (the incenter) to each face of tetrahedron ABCD whose edge‐lengths are

  AB = CD = √41, AC = BD = √80, BC = AD = √89.

A useful fact for any tetrahedron is that if r is the inradius (its distance from the incenter to any face), then

  V = (r⁄3) S,

where V is the volume and S is the total surface area. Thus,

  r = (3V)⁄S.

The plan is as follows:

 1. Compute the area of one face.

 2. Compute the total surface area S.

 3. Compute the volume V.

 4. Find r and then write it in the form (m√n)/p and compute m+n+p.

Step 1. Finding the Area of a Face

Observe that every face is congruent. For example, face △ABC has

  AB = √41, AC = √80, BC = √89.

Its area may be obtained from Heron’s formula. (Sometimes it is more efficient to use a formula in terms of squared edge‐lengths.)

A well‐known formula is:

  Area² = (1/16)[(a² + b² + c²)² – 2(a⁴ + b⁴ + c⁴)],

with a, b, c representing the side‐lengths. Here, set

  a² = 41, b² = 80, c² = 89.

Then

  a² + b² + c² = 41 + 80 + 89 = 210.

Also,

  a⁴ = 41² = 1681,

  b⁴ = 80² = 6400,

  c⁴ = 89² = 7921,

so

  a⁴ + b⁴ + c⁴ = 1681 + 6400 + 7921 = 16,002.

Thus,

  Area² = (1/16)[210² – 2·16,002] = (1/16)[44,100 – 32,004] = (1/16)(12,096) = 756.

Taking the square root gives

  Area = √756 = √(36·21) = 6√21.

Step 2. Total Surface Area S

Since every face has area 6√21 and there are 4 faces,

  S = 4·6√21 = 24√21.

Step 3. Computing the Volume V

A good strategy is to set up coordinates. One possible assignment is as follows:

• Let A = (0, 0, 0).

• Place B on the x‐axis so that AB = √41. Take

  B = (√41, 0, 0).

• Place C in the xy–plane. Let C = (x, y, 0). Since

  AC = √80 and BC = √89,

we have

  x² + y² = 80       (1)

  (x – √41)² + y² = 89.   (2)

Subtract (1) from (2):

  (x – √41)² – x² = 9

Expanding,

  (x² – 2√41·x + 41) – x² = –2√41·x + 41 = 9.

Thus,

  –2√41·x = 9 – 41 = –32 ⟹ x = 16/√41.

Then from (1):

  y² = 80 – (16/√41)² = 80 – 256/41 = (80·41 – 256)/41 = (3280 – 256)/41 = 3024/41.

So, taking the positive square root,

  y = (12√21)/√41       (since 12²·21 = 144·21 = 3024).

Thus, we may take

  C = (16/√41, 12√21/√41, 0).

• Now choose D = (u, v, w) with w > 0. Its distances from A, B, and C are given by:

  AD = √89 ⟹ u² + v² + w² = 89.      (3)

  BD = √80 ⟹ (u – √41)² + v² + w² = 80.  (4)

  CD = √41 ⟹ (u – 16/√41)² + (v – 12√21/√41)² + w² = 41. (5)

Subtract (4) – (3):

  (u – √41)² – u² = 80 – 89 = –9.

Compute:

  (u² – 2√41·u + 41) – u² = –2√41·u + 41 = –9 ⟹ u = 25/√41.

Then (3) gives:

  v² + w² = 89 – (25/√41)² = 89 – 625/41 = (89·41 – 625)/41 = (3649 – 625)/41 = 3024/41. (6)

Now use (5). With u = 25/√41,

  (u – 16/√41) = (9/√41).

So (5) becomes:

  (9/√41)² + (v – (12√21)/√41)² + w² = 41.

That is,

  81/41 + [v² – (24√21/√41)v + (144·21)/41] + w² = 41.

But note v²+w² = 3024/41 from (6), and (144·21) = 3024. Hence,

  81/41 + (3024/41) – (24√21/√41)v + 3024/41 = 41.

Thus,

  (81 + 3024 + 3024)/41 – (24√21/√41)v = 41,

so

  6129/41 – (24√21/√41)v = 41.

Multiply both sides by 41:

  6129 – 24√21·(41/√41)v = 41·41.

Since 41/√41 = √41, we have:

  6129 – 24√21√41 · v = 1681,

or

  24√21√41 · v = 6129 – 1681 = 4448,

and hence,

  v = 4448/(24√21√41) = 556/(3√21√41).

We will not need v explicitly; instead, we compute w from (6). From (6),

  w² = 3024/41 – v².

It turns out (after some algebra) that one obtains

  w² = 6400/189.

(For interested readers: after writing 3024/41 with denominator 9·861 and noticing that 861 = 21·41, a cancellation occurs leading to this result.)

Thus,

  w = √(6400/189) = 80/√189 = 80/(3√21),  

since 189 = 9·21 so that √189 = 3√21.

Now, the volume V can be computed using the scalar triple product. With

  AB = B – A = (√41, 0, 0),

  AC = C – A = (16/√41, 12√21/√41, 0),

  AD = D – A = (25/√41, v, w),

we have

  V = (1/6)|AB · (AC × AD)|.

A careful calculation shows that the only nonzero contribution comes from the z–component leading to

  determinant = 12√21 · w.

Thus,

  V = (1/6)·12√21·w = 2√21·w.

Substitute w = 80/(3√21):

  V = 2√21 · (80/(3√21)) = 160/3.

Step 4. Finding r and the Final Answer

Recall that r = (3V)/S. We have:

  V = 160/3 and S = 24√21.

Thus,

  r = [3·(160/3)]/(24√21) = 160/(24√21) = 20/(3√21).

It is customary to rationalize the denominator:

  r = (20√21)/(3·21) = (20√21)/63.

This is of the form (m√n)/p with m = 20, n = 21, and p = 63. (One easily checks that 20 and 63 are relatively prime and 21 is square–free.)

The final answer requested is m + n + p:

  20 + 21 + 63 = 104.

Thus, the answer is 104.

Time taken: 34.54 seconds

The Verdict

  • Speed: Intermediate speed. ~34 seconds in our example.
  • Accuracy: Solved the problem correctly, arriving at the correct answer of 104.
  • Structure/Reasoning: Provided a much more detailed and accurate step-by-step solution. It correctly applied Heron’s formula, set up the coordinate system, and calculated the volume and in radius. The reasoning was sound and the calculations were mostly accurate.
  • Characteristics: A good balance of speed and accuracy. Suitable for problems where some level of detailed reasoning and calculation is needed.

High reasoning mode

from langchain_openai import ChatOpenAI
import time
# Initialize the model
llm = ChatOpenAI(model="o3-mini", openai_api_key=userdata.get('OPENAI_API_KEY'))
# Start time calculation
start_time = time.time()
# Streaming response
for token in llm.stream(
 """ Let $ABCD$ be a tetrahedron such that $AB=CD= \sqrt{41}$, $AC=BD= \sqrt{80}$, and $BC=AD= \sqrt{89}$.
     There exists a point $I$ inside the tetrahedron such that the distances from $I$ to each of the faces of the tetrahedron are all equal.
     This distance can be written in the form $\frac{m \sqrt n}{p}$, where $m$, $n$, and $p$ are positive integers, $m$ and $p$ are relatively prime,
     and $n$ is not divisible by the square of any prime. Find $m+n+p$. """,
    reasoning_effort="high",
):
   print(token.content, end="")
# End time calculation
end_time = time.time()
# Display the duration
print(f"\nTime taken: {end_time - start_time:.2f} seconds")

Output

We are given a tetrahedron ABCD whose six edge‐lengths are as follows (writing them squared for convenience):

  AB² = 41, AC² = 80, AD² = 89,

  BC² = 89, BD² = 80, CD² = 41.

Notice that in every face the three edge‐lengths are (in some order) √41, √80, and √89. (For example, face ABC has AB = √41, AC = √80, and BC = √89.) Hence all four faces are congruent triangles.

Step 1. Find the area of one face

A well‐known formula for the area of a triangle when the side‐lengths are given is

  Area² = (1/16)[2(a²b² + a²c² + b²c²) – (a⁴ + b⁴ + c⁴)].

If we set

  a² = 41, b² = 80, c² = 89,

then

  a²b² = 41·80 = 3280,

  a²c² = 41·89 = 3649,

  b²c² = 80·89 = 7120.

Thus

  2(a²b² + a²c² + b²c²) = 2(3280 + 3649 + 7120) = 2(14049) = 28098.

Also,

  a⁴ = 41² = 1681,

  b⁴ = 80² = 6400,

  c⁴ = 89² = 7921,

so

  a⁴ + b⁴ + c⁴ = 1681 + 6400 + 7921 = 16002.

Thus

  Area² = (1/16)(28098 − 16002) = (1/16)(12096) = 756.

Taking the square root gives

  Area = √756 = √(36·21) = 6√21.

Since there are 4 faces, the total surface area is

  S = 4 × (6√21) = 24√21.

Step 2. Find the volume of the tetrahedron

A useful way to compute the volume is to “set up” coordinates so that we can compute a scalar triple product. One may show (by a careful choice of coordinates) that the tetrahedron can be arranged with

  A = (0, 0, 0),

  B = (√41, 0, 0),

  C = (16/√41, (12√21)/√41, 0),

  D = (25/√41, ?, f).

Here the coordinates of C are forced by the conditions

  AC = √80 and BC = √89,

and a computation shows that the numbers work out if the x‐coordinate of D is 25/√41 and the (positive) z‐coordinate of D turns out to be

  f = 80/(3√21).

A computation of the scalar triple product gives a particularly nice answer. In fact, if one computes the vectors

  AB = B – A = (√41, 0, 0),

  AC = C – A = (16/√41, 12√21/√41, 0),

  AD = D – A = (25/√41, (something), f),

then (by a fortunate cancellation in the 3×3 determinant) one finds that

  V = (1/6)|det(AB,AC,AD)| = 2√21 · f.

Since we have f = 80/(3√21), it follows that

  V = 2√21 · (80/(3√21)) = 160/3.

Step 3. Find the inradius

A well‐known formula for the radius r of the sphere inscribed in a tetrahedron is

  r = (3V)/S.

With V = 160/3 and S = 24√21 we have

  r = (3*(160/3))/(24√21) = 160/(24√21) = 20/(3√21).

It is common to express this in “rationalized” form. Multiplying numerator and denominator by √21 gives

  r = 20√21/(3·21) = 20√21/63.

Step 4. Write the answer in the required form and add m + n + p

The problem asks for r in the form

  r = (m√n)/p,

with m and p relatively prime and n square‐free. We have

  m = 20, n = 21, p = 63.

(One may check that 20 and 63 are relatively prime and that 21 = 3·7 is square‐free.)

Thus, the final answer is

  m + n + p = 20 + 21 + 63 = 104.

Answer: 104.

Time taken: 33.18 seconds

The Verdict

  • Speed: Slowest of the three. ~33 seconds in our example. Interestingly, it was slightly faster than Medium in this specific instance, which is unexpected. This could be due to variations in server load or other factors. Generally, High should be the slowest.
  • Accuracy: Solved the problem correctly with the answer of 104.
  • Structure/Reasoning: Similar to the Medium mode, it provided a detailed and correct step-by-step solution, although with slightly different intermediate steps. It also used Heron’s formula and the coordinate method.
  • Characteristics: Designed for the most complex problems requiring the highest degree of accuracy and detailed reasoning. Generally the slowest, but can sometimes be comparable to Medium in speed for certain problems.

Also read: OpenAI o3-mini: Performance, How to Access, and More

Tabular Comparison of o3-mini Reasoning Levels

FeatureLow ReasoningMedium ReasoningHigh Reasoning
SpeedFastest (~10s)Intermediate (~34s)Slowest (~33s)
AccuracyIncorrect (26)Correct (104)Correct (104)
Reasoning/StructureHigh-level outline, flawed calculationsDetailed, accurate step-by-step solutionDetailed, accurate step-by-step solution
Use CaseRapid prototyping, quick draftsProblems requiring moderate detail/calculationComplex problems, high accuracy requirements
Calculation AbilityWeakStrongStrong

Final Verdict of o3-mini Reasoning Levels

This experiment reveals a clear trade-off between speed and accuracy in OpenAI’s o3-mini reasoning modes. The Low mode prioritized speed, generating a fast but incorrect answer. Both Medium and High modes successfully solved the problem, demonstrating higher accuracy. While High is generally intended for the most complex reasoning, it exhibited similar performance to Medium in this specific instance, possibly due to variations in processing. Therefore, for tasks demanding precise calculations, Medium or High reasoning is essential, with Medium offering a potentially better balance of speed and accuracy for many practical applications.

Also read: How to Run OpenAI’s o3-mini on Google Colab?

Conclusion

The o3-mini reasoning levels provide flexibility for developers, allowing them to choose the appropriate mode based on their specific needs:

  • Low Reasoning Mode is perfect for speed and efficiency in straightforward tasks.
  • Medium Reasoning Mode strikes a balance between speed and accuracy for moderately complex tasks.
  • High Reasoning Mode excels in scenarios requiring deep reasoning and high precision.

This versatility is a significant advantage for developers looking to optimize workflows and enhance productivity in various applications.

Harsh Mishra is an AI/ML Engineer who spends more time talking to Large Language Models than actual humans. Passionate about GenAI, NLP, and making machines smarter (so they don’t replace him just yet). When not optimizing models, he’s probably optimizing his coffee intake. 🚀☕

Responses From Readers

Clear

We use cookies essential for this site to function well. Please click to help us improve its usefulness with additional cookies. Learn about our use of cookies in our Privacy Policy & Cookies Policy.

Show details