Skip to main content

Custom Otto agents

Model for a custom Otto agent.

Examplesโ€‹

---
otto:
agent:
name: SQL Expert
extends: otto
model_settings:
temperature: 0.1
---

You are a SQL expert. When users ask questions, prefer writing SQL queries to answer them.
Always use CTEs instead of nested subqueries. Explain your query logic step by step.

OttoAgentโ€‹

Below are the properties for the OttoAgent. Each property links to the specific details section further down in this page.

PropertyDefaultTypeRequiredDescription
idstring
NoUnique identifier for the agent
namestringYesThe name of the agent
extendsstring
NoAgent ID or name to inherit from
instructionsstringYesThe instructions for the agent
mcp_serversarray[string]
NoThe MCP servers to use for the agent
modelAny of:
ย ย string
ย ย ProviderModel
NoThe model to use for the agent
model_settingsOttoModelSettings
NoThe model settings for the agent
toolsarray[string]
NoThe tools to use for the agent
max_turnsinteger
NoMaximum number of turns for the agent
jinjaFalseboolean
NoWhether to render with Jinja templating

Property Detailsโ€‹

OttoModelSettingsโ€‹

Model for the model settings for an Otto agent.

PropertyDefaultTypeRequiredDescription
reasoningstring
NoReasoning effort level for reasoning models (e.g., o1, o3). For OpenAI models: 'minimal', 'low', 'medium', 'high'. For Anthropic models via LiteLLM, this enables extended thinking and sets thinking budget tokens. 'low', 'medium', 'high' maps to budget tokens: low=1024, medium=2048, high=4096. Note: Starting from Claude Opus 4.5, reasoning_effort is separate from thinking.budget_tokens. Both can be used together - reasoning_effort affects all tokens (text, tools, thinking), while thinking.budget_tokens sets a specific maximum for extended thinking tokens.
thinkingThinkingSettings
NoExtended thinking settings for Anthropic models. Configures the thinking.type and thinking.budget_tokens parameters. Only applicable to Anthropic models.
temperaturenumber
NoModel temperature setting. For Anthropic models, must be set to either None or 1.

ProviderModelโ€‹

Model specification with provider and model IDs.

PropertyDefaultTypeRequiredDescription
provider_idstringYesProvider ID
model_idstringYesModel ID

ThinkingSettingsโ€‹

Settings for extended thinking in Anthropic models. See: - https://docs.aws.amazon.com/bedrock/latest/userguide/claude-messages-extended-thinking.html - https://docs.litellm.ai/docs/providers/anthropic_effort - https://docs.litellm.ai/docs/providers/anthropic#usage---thinking--reasoning_content

PropertyDefaultTypeRequiredDescription
enabledTruebooleanNoWhether to enable extended thinking
budget_tokensintegerYesMaximum number of tokens to allocate for thinking (minimum: 1024)