Reasoning Tools
The ReasoningTools
toolkit allows an Agent to use reasoning like any other tool, at any point during execution. Unlike traditional approaches that reason once at the start to create a fixed plan, this enables the Agent to reflect after each step, adjust its thinking, and update its actions on the fly.
We’ve found that this approach significantly improves an Agent’s ability to solve complex problems it would otherwise fail to handle. By giving the Agent space to “think” about its actions, it can examine its own responses more deeply, question its assumptions, and approach the problem from different angles.
The toolkit includes the following tools:
think
: This tool is used as a scratchpad by the Agent to reason about the question and work through it step by step. It helps break down complex problems into smaller, manageable chunks and track the reasoning process.analyze
: This tool is used to analyze the results from a reasoning step and determine the next actions.
Example
Here’s an example of how to use the ReasoningTools
toolkit:
The toolkit comes with default instructions and few-shot examples to help the Agent use the tool effectively. Here is how you can enable them:
ReasoningTools
can be used with any model provider that supports function calling. Here is an example with of a reasoning Agent using OpenAIChat
:
This Agent can be used to ask questions that elicit thoughtful analysis, such as:
or,