ParameterTypeDefaultDescription
modelOptional[Model]NoneModel to use for this Agent
nameOptional[str]NoneAgent name
agent_idOptional[str]NoneAgent UUID (autogenerated if not set)
agent_dataOptional[Dict[str, Any]]NoneMetadata associated with this agent
introductionOptional[str]NoneAgent introduction. This is added to the chat history when a run is started.
user_idOptional[str]NoneID of the user interacting with this agent
user_dataOptional[Dict[str, Any]]NoneMetadata associated with the user interacting with this agent
session_idOptional[str]NoneSession UUID (autogenerated if not set)
session_nameOptional[str]NoneSession name
session_stateOptional[Dict[str, Any]]NoneSession state (stored in the database to persist across runs)
contextOptional[Dict[str, Any]]NoneContext available for tools and prompt functions
add_contextboolFalseIf True, add the context to the user prompt
resolve_contextboolTrueIf True, resolve the context (i.e. call any functions in the context) before running the agent
memoryOptional[Memory]NoneAgent Memory
add_history_to_messagesboolFalseAdd chat history to the messages sent to the Model
num_history_responsesint3Number of historical responses to add to the messages
knowledgeOptional[AgentKnowledge]NoneAgent Knowledge
add_referencesboolFalseEnable RAG by adding references from AgentKnowledge to the user prompt
retrieverOptional[Callable[..., Optional[List[Dict]]]]NoneFunction to get references to add to the user_message
references_formatLiteral["json", "yaml"]"json"Format of the references
storageOptional[AgentStorage]NoneAgent Storage
extra_dataOptional[Dict[str, Any]]NoneExtra data stored with this agent
toolsOptional[List[Union[Toolkit, Callable, Function]]]NoneA list of tools provided to the Model
show_tool_callsboolFalseShow tool calls in Agent response
tool_call_limitOptional[int]NoneMaximum number of tool calls allowed
tool_choiceOptional[Union[str, Dict[str, Any]]]NoneControls which (if any) tool is called by the model
reasoningboolFalseEnable reasoning by working through the problem step by step
reasoning_modelOptional[Model]NoneModel to use for reasoning
reasoning_agentOptional[Agent]NoneAgent to use for reasoning
reasoning_min_stepsint1Minimum number of reasoning steps
reasoning_max_stepsint10Maximum number of reasoning steps
read_chat_historyboolFalseAdd a tool that allows the Model to read the chat history
search_knowledgeboolTrueAdd a tool that allows the Model to search the knowledge base
update_knowledgeboolFalseAdd a tool that allows the Model to update the knowledge base
read_tool_call_historyboolFalseAdd a tool that allows the Model to get the tool call history
system_messageOptional[Union[str, Callable, Message]]NoneProvide the system message as a string or function
system_message_rolestr"system"Role for the system message
create_default_system_messageboolTrueIf True, create a default system message using agent settings
descriptionOptional[str]NoneA description of the Agent that is added to the start of the system message
goalOptional[str]NoneThe goal of this task
instructionsOptional[Union[str, List[str], Callable]]NoneList of instructions for the agent
expected_outputOptional[str]NoneProvide the expected output from the Agent
additional_contextOptional[str]NoneAdditional context added to the end of the system message
markdownboolFalseIf markdown=true, add instructions to format the output using markdown
add_name_to_instructionsboolFalseIf True, add the agent name to the instructions
add_datetime_to_instructionsboolFalseIf True, add the current datetime to the instructions
add_state_in_messagesboolFalseIf True, add the session state variables in messages
add_messagesOptional[List[Union[Dict, Message]]]NoneA list of extra messages added after the system message
user_messageOptional[Union[List, Dict, str, Callable, Message]]NoneProvide the user message
user_message_rolestr"user"Role for the user message
create_default_user_messageboolTrueIf True, create a default user message
retriesint0Number of retries to attempt
delay_between_retriesint1Delay between retries
exponential_backoffboolFalseIf True, the delay between retries is doubled each time
response_modelOptional[Type[BaseModel]]NoneProvide a response model to get the response as a Pydantic model
parse_responseboolTrueIf True, the response is converted into the response_model
use_json_modeboolFalseIf response_model is set, sets the response "mode" of the model, i.e. if the model should explicitly respond with a JSON object instead of a Pydantic model
save_response_to_fileOptional[str]NoneSave the response to a file
streamOptional[bool]NoneStream the response from the Agent
stream_intermediate_stepsboolFalseStream the intermediate steps from the Agent
teamOptional[List[Agent]]NoneThe team of agents that this agent can transfer tasks to
team_dataOptional[Dict[str, Any]]NoneData shared between team members
roleOptional[str]NoneIf this Agent is part of a team, this is the role of the agent
respond_directlyboolFalseIf True, member agent responds directly to user
add_transfer_instructionsboolTrueAdd instructions for transferring tasks to team members
team_response_separatorstr"\n"Separator between responses from the team
debug_modeboolFalseEnable debug logs
monitoringboolFalseLog Agent information to agno.com for monitoring
telemetryboolTrueLog minimal telemetry for analytics