These powerful AI models (o1/o1 mini from OpenAI, Gemini 2.0 Flash Thinking from Google, …) are quickly becoming the go-to for complex problem-solving and code generation.
To help you harness their full potential, OpenAI has recently released a comprehensive guide to writing effective prompts for reasoning models.
Let’s explore some key takeaways and learn how to craft prompts that unlock their true power:
The Importance of Delimiters
One crucial aspect of prompting reasoning models is the use of delimiters.
These are special markers, like XML tags, that help structure your prompt and guide the AI’s understanding. Think of them as signposts that clearly separate different sections of your request.
For example, use tags like <context>
, <problem>
, and <goal>
to clearly define the context of your request, the specific problem you’re facing, and the desired outcome.
Nesting Tags for Clarity
This helps create a hierarchical organization and makes it easier for the AI to grasp the relationships between different pieces of information.
For example, you might use <outer><inner></inner></outer>
to nest tags within each other.
A Concrete Example
Here’s a practical example of how to structure a prompt for a reasoning model:
<context>
I'm building a simple Python calculator application. It's a command-line interface (CLI) application for now, focusing on basic arithmetic operations. I'm using standard Python libraries and haven't implemented any complex error handling or UI yet.
<problem>
When I perform a simple addition, like '2 + 2', the calculator sometimes returns '5' instead of '4'. This doesn't happen consistently, but it's reproducible after a few calculations. It seems to be more frequent after performing a division operation.
</problem>
<goal>
Identify the cause of this incorrect addition result and ensure that basic arithmetic operations, specifically addition, always return the correct value. I need to find the bug in my logic that's causing this intermittent incorrect calculation, possibly after a division.
</goal>
</context>
<codebase>
<file1>
{{Your file 1 content}}
</file1>
<file2>
{{Your file 2 content}}
</file2>
</codebase>
Avoid Over-Structuring
Remember that reasoning models are designed to break down problems step-by-step on their own. So, avoid adding explicit “steps to follow” or “explanation of reasoning” in your prompts. Trust the AI to figure out the best approach.
These recommendations apply to a wide range of reasoning models, including OpenAI’s models (o1, o1 mini), Gemini 2.0 Flash Thinking, QwQ, and more.
Mastering the art of prompting is crucial for unlocking the full potential of reasoning models.
By following these guidelines, you can craft clear, concise, and effective prompts that guide the AI towards accurate and insightful solutions.