The "tools" (answer, search, enhance_reasoning) are not really "tools" in the traditional sense (like API calls), but rather they are specialized "agents" that handle specific tasks.
-
Traditional tool: A simple function/API that takes inputs and returns outputs (e.g., calculator, weather API)
-
Agent: A more complex system that can:
- Take a high-level task
- Use multiple steps/operations to complete it
- Have its own internal reasoning process
Looking at what these "tools" do:
- enhance_reasoning: Has a specialized prompt, generates Python code, executes it, returns results - this is an agent performing code generation + code execution
- answer: Has different prompts for different models, extracts answers using specific formats - this is an agent performing question answering with specialized output formatting
- search: Generates search queries, calls retrieval API, extracts results - this is an agent performing search + retrieval
So these tools are more like "sub-agents" or "expert agents" rather than simple tools. The main model acts as an orchestrator that delegates tasks to these specialized expert agents.
The "tools" (answer, search, enhance_reasoning) are not really "tools" in the traditional sense (like API calls), but rather they are specialized "agents" that handle specific tasks.
Traditional tool: A simple function/API that takes inputs and returns outputs (e.g., calculator, weather API)
Agent: A more complex system that can:
Looking at what these "tools" do:
So these tools are more like "sub-agents" or "expert agents" rather than simple tools. The main model acts as an orchestrator that delegates tasks to these specialized expert agents.