| # Agents | |
| <Tip warning={true}> | |
| Smolagents is an experimental API which is subject to change at any time. Results returned by the agents | |
| can vary as the APIs or underlying models are prone to change. | |
| </Tip> | |
| To learn more about agents and tools make sure to read the [introductory guide](../index). This page | |
| contains the API docs for the underlying classes. | |
| ## Agents | |
| Our agents inherit from [`MultiStepAgent`], which means they can act in multiple steps, each step consisting of one thought, then one tool call and execution. Read more in [this conceptual guide](../conceptual_guides/react). | |
| We provide two types of agents, based on the main [`Agent`] class. | |
| - [`CodeAgent`] writes its tool calls in Python code (this is the default). | |
| - [`ToolCallingAgent`] writes its tool calls in JSON. | |
| Both require arguments `model` and list of tools `tools` at initialization. | |
| ### Classes of agents | |
| [[autodoc]] MultiStepAgent | |
| [[autodoc]] CodeAgent | |
| [[autodoc]] ToolCallingAgent | |
| ### ManagedAgent | |
| _This class is deprecated since 1.8.0: now you simply need to pass attributes `name` and `description` to a normal agent to make it callable by a manager agent._ | |
| ### stream_to_gradio | |
| [[autodoc]] stream_to_gradio | |
| ### GradioUI | |
| > [!TIP] | |
| > You must have `gradio` installed to use the UI. Please run `pip install smolagents[gradio]` if it's not the case. | |
| [[autodoc]] GradioUI | |
| ## Prompts | |
| [[autodoc]] smolagents.agents.PromptTemplates | |
| [[autodoc]] smolagents.agents.PlanningPromptTemplate | |
| [[autodoc]] smolagents.agents.ManagedAgentPromptTemplate | |
| [[autodoc]] smolagents.agents.FinalAnswerPromptTemplate | |
| ## Memory | |
| Smolagents use memory to store information across multiple steps. | |
| [[autodoc]] smolagents.memory.AgentMemory | |