Skip to content

Commit

Permalink
Fix managed agent example (#562)
Browse files Browse the repository at this point in the history
Co-authored-by: Aymeric Roucher <[email protected]>
  • Loading branch information
keetrap and aymeric-roucher authored Feb 9, 2025
1 parent 3fc2d0e commit 881ce13
Showing 1 changed file with 5 additions and 6 deletions.
11 changes: 5 additions & 6 deletions docs/source/en/guided_tour.md
Original file line number Diff line number Diff line change
Expand Up @@ -344,19 +344,18 @@ It empirically yields better performance on most benchmarks. The reason for this

You can easily build hierarchical multi-agent systems with `smolagents`.

To do so, encapsulate the agent in a [`ManagedAgent`] object. This object needs arguments `agent`, `name`, and a `description`, which will then be embedded in the manager agent's system prompt to let it know how to call this managed agent, as we also do for tools.
To create a managed agent, give your `CodeAgent` or `ToolCallingAgent` the attributes `name` and `description` - these are mandatory to make the agent callable by its manager agent. The manager agent will receive the managed agent via its managed_agents argument during initialization.

Here's an example of making an agent that managed a specific web search agent using our [`DuckDuckGoSearchTool`]:

```py
from smolagents import CodeAgent, HfApiModel, DuckDuckGoSearchTool, ManagedAgent
from smolagents import CodeAgent, HfApiModel, DuckDuckGoSearchTool, ToolCallingAgent

model = HfApiModel()

web_agent = CodeAgent(tools=[DuckDuckGoSearchTool()], model=model)

managed_web_agent = ManagedAgent(
agent=web_agent,
managed_web_agent = CodeAgent(
tools=[DuckDuckGoSearchTool()],
model=model,
name="web_search",
description="Runs web searches for you. Give it your query as an argument."
)
Expand Down

0 comments on commit 881ce13

Please sign in to comment.