Was this page helpful?
Un agente es una configuración reutilizable y versionada que define la persona y las capacidades. Agrupa el modelo, el prompt del sistema, las herramientas, los servidores MCP y las habilidades que determinan cómo se comporta Claude durante una sesión.
Crea el agente una vez como un recurso reutilizable y referéncialo por ID cada vez que inicies una sesión. Los agentes están versionados y son más fáciles de gestionar en muchas sesiones.
Todas las solicitudes a la API de Managed Agents requieren el encabezado beta managed-agents-2026-04-01. El SDK establece el encabezado beta automáticamente.
| Campo | Descripción |
|---|---|
name | Obligatorio. Un nombre legible por humanos para el agente. |
model | Obligatorio. El modelo de Claude que impulsa al agente. Se admiten todos los modelos Claude 4.5 y posteriores. |
system | Un prompt del sistema que define el comportamiento y la persona del agente. El prompt del sistema es distinto de los mensajes de usuario, que deben describir el trabajo a realizar. |
tools | Las herramientas disponibles para el agente. Combina herramientas de agente predefinidas, herramientas MCP y herramientas personalizadas. |
mcp_servers | Servidores MCP que proporcionan capacidades estandarizadas de terceros. |
skills | Habilidades que suministran contexto específico del dominio con divulgación progresiva. |
callable_agents | Otros agentes que este agente puede invocar para la orquestación multiagente. Esta es una función de vista previa de investigación; solicita acceso para probarla. |
description | Una descripción de lo que hace el agente. |
metadata | Pares clave-valor arbitrarios para tu propio seguimiento. |
El siguiente ejemplo define un agente de codificación que usa Claude Sonnet 4.6 con acceso al conjunto de herramientas de agente predefinido. El conjunto de herramientas permite al agente escribir código, leer archivos, buscar en la web y más. Consulta la referencia de herramientas de agente para ver la lista completa de herramientas compatibles.
Para usar Claude Opus 4.6 con modo rápido, pasa model como un objeto: {"id": "claude-opus-4-6", "speed": "fast"}.
La respuesta repite tu configuración y agrega los campos id, version, created_at, updated_at y archived_at. El campo version comienza en 1 y se incrementa cada vez que actualizas el agente.
{
"id": "agent_01HqR2k7vXbZ9mNpL3wYcT8f",
"type": "agent",
"name": "Coding Assistant",
"model": {
"id": "claude-sonnet-4-6",
"speed": "standard"
},
"system": "You are a helpful coding agent.",
"description": null,
"tools": [
{
"type": "agent_toolset_20260401",
"default_config": {
"permission_policy": { "type": "always_allow" }
}
}
],
"skills": [],
"mcp_servers": [],
"metadata": {},
"version": 1,
"created_at": "2026-04-03T18:24:10.412Z",
"updated_at": "2026-04-03T18:24:10.412Z",
"archived_at": null
}Actualizar un agente genera una nueva versión. Pasa el version actual para asegurarte de que estás actualizando desde un estado conocido.
Los campos omitidos se conservan. Solo necesitas incluir los campos que deseas cambiar.
Los campos escalares (model, system, name, etc.) se reemplazan con el nuevo valor. system y description pueden borrarse pasando null. model y name son obligatorios y no pueden borrarse.
Los campos de array (tools, mcp_servers, skills, callable_agents) son completamente reemplazados por el nuevo array. Para borrar un campo de array por completo, pasa null o un array vacío.
| Operación | Comportamiento |
|---|---|
| Actualizar | Genera una nueva versión del agente. |
| Listar versiones | Obtiene el historial completo de versiones para rastrear cambios a lo largo del tiempo. |
| Archivar | El agente se vuelve de solo lectura. Las nuevas sesiones no pueden referenciarlo, pero las sesiones existentes continúan ejecutándose. |
Obtiene el historial completo de versiones para rastrear cómo ha cambiado un agente a lo largo del tiempo.
Archivar hace que el agente sea de solo lectura. Las sesiones existentes continúan ejecutándose, pero las nuevas sesiones no pueden referenciar al agente. La respuesta establece archived_at con la marca de tiempo del archivo.
agent=$(curl -fsSL https://api.anthropic.com/v1/agents \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: managed-agents-2026-04-01" \
-H "content-type: application/json" \
-d '{
"name": "Coding Assistant",
"model": "claude-sonnet-4-6",
"system": "You are a helpful coding agent.",
"tools": [{"type": "agent_toolset_20260401"}]
}')
AGENT_ID=$(jq -r '.id' <<< "$agent")
AGENT_VERSION=$(jq -r '.version' <<< "$agent")updated_agent=$(curl -fsSL "https://api.anthropic.com/v1/agents/$AGENT_ID" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: managed-agents-2026-04-01" \
-H "content-type: application/json" \
-d @- <<EOF
{
"version": $AGENT_VERSION,
"system": "You are a helpful coding agent. Always write tests."
}
EOF
)
echo "New version: $(jq -r '.version' <<< "$updated_agent")"Los metadatos se fusionan a nivel de clave. Las claves que proporcionas se agregan o actualizan. Las claves que omites se conservan. Para eliminar una clave específica, establece su valor en una cadena vacía.
Detección de no-op. Si la actualización no produce ningún cambio con respecto a la versión actual, no se crea una nueva versión y se devuelve la versión existente.
curl -fsSL "https://api.anthropic.com/v1/agents/$AGENT_ID/versions" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: managed-agents-2026-04-01" \
| jq -r '.data[] | "Version \(.version): \(.updated_at)"'archived=$(curl -fsSL -X POST "https://api.anthropic.com/v1/agents/$AGENT_ID/archive" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: managed-agents-2026-04-01")
echo "Archived at: $(jq -r '.archived_at' <<< "$archived")"