Un subagente cuesta antes de haber trabajado
Un subagente cuesta antes de haber trabajado, porque su conversación ya contiene elementos que tú no escribiste y que cada lanzamiento vuelve a cargar. Sin campo tools hereda todas las herramientas, y sin modelo nombrado funciona con el mismo modelo que tú. Lista sus herramientas y nombra su modelo según el papel.
Un subagente es una conversación separada que Claude Code abre para una tarea. Antes de su primera instrucción, esa conversación ya contiene elementos que tú no escribiste, y cada lanzamiento los vuelve a cargar. El coste de un subagente se compone por tanto de ese arranque y del trabajo pedido.
Qué contiene un subagente al empezar
La documentación de los subagentes enumera, entre otras cosas, lo que recibe: su propio prompt de sistema con datos del entorno, todos los niveles de archivos CLAUDE.md que carga la conversación principal, el contenido íntegro de las skills nombradas en su campo skills, los servidores MCP de su campo mcpServers, y el comienzo de su archivo de memoria si la memoria está activada. Con las herramientas, la regla es la inversa de lo que se supone: si se omite el campo tools, el subagente hereda todas las herramientas disponibles. Cuantos más elementos al empezar, más pesa la primera llamada.
Un agente personalizado con herramientas listadas
Un archivo colocado en .claude/agents/ define un agente que Claude puede lanzar por su nombre. Este conserva solo lo que exige su tarea:
---
name: lector
description: Lee archivos e informa de lo que contienen, sin modificar nada.
tools: Read, Grep, Glob
model: haiku
---
Lees los archivos pedidos e informas de los hechos encontrados, con el nombre del archivo.
No juzgas y no modificas nada.
Las tres herramientas listadas son las únicas que este agente puede usar, y model: haiku le da un modelo pequeño. La documentación precisa que Claude Code vigila estas carpetas y toma en cuenta un archivo añadido o modificado en pocos segundos; tras crear el primerísimo archivo de una carpeta agents, hace falta reiniciar la sesión.
Nombrar el modelo según el papel
Sin modelo nombrado, la documentación da este orden: el parámetro de la llamada, luego el campo model de la definición, luego la variable CLAUDE_CODE_SUBAGENT_MODEL, luego el modelo de la conversación principal. Un subagente que no ha recibido nada más funciona por tanto con el mismo modelo que tú, sin que nada lo señale al lanzarlo; el comando /tasks muestra el modelo en la fila del subagente. Una recogida mecánica (leer, listar, extraer) puede confiarse a un modelo pequeño; la redacción y el análisis a un modelo mediano; el juez, que debe refutar, al más capaz. El nivel de esfuerzo se ajusta del mismo modo: la herramienta Agent acepta un parámetro effort para un lanzamiento concreto, y la definición de un agente puede fijar el suyo.
Medir antes de concluir
El peso real de cada elemento se lee en tu propio equipo, no en un promedio. La lección sobre la factura muestra dónde leer el consumo por partida; aplícala a un subagente por defecto y luego al mismo trabajo confiado al agente restringido.
Qué modelo toma un subagente, por orden
| Rango | Fuente del modelo |
|---|---|
| 1 | El parámetro model de la propia llamada. |
| 2 | El campo model de la definición del agente (inherit designa el modelo principal). |
| 3 | La variable CLAUDE_CODE_SUBAGENT_MODEL, si está definida. |
| 4 | El modelo de la conversación principal. |
Dos definiciones de agente para la misma tarea de lectura
Sin campo tools ni model: todas las herramientas disponibles, y el modelo de la conversación principal.
tools: Read, Grep, Glob y model: haiku: tres herramientas y un modelo pequeño para una tarea que solo lee.
Un equipo configura una sesión de Claude Code con un archivo CLAUDE.md voluminoso y varios servidores MCP. Lanza cinco subagentes para leer cinco archivos de configuración y luego lee en /cost un total de 4,20 dólares para esa tarea de lectura.
Escribe en una frase lo que esta situación establece, y en una frase lo que no establece.
Lo que esto establece: Establece que /cost mostró 4,20 dólares tras el lanzamiento de los cinco subagentes, y que ese total abarca toda la sesión.
Lo que esto no establece: No establece con qué modelo funcionó cada subagente, ni qué parte del total viene de su arranque: la lectura suma la sesión entera, y solo una comparación con la misma tarea y un agente restringido aísla esa parte.
Los tres calibrados falsos más frecuentes
- Demasiado amplio Los subagentes siempre cuestan más que hacer la tarea en la conversación principal.
- Demasiado estrecho El total leído no dice nada mientras no se conozca el número exacto de tokens de cada subagente.
- Fuera de tema Los cinco archivos de configuración leídos eran demasiado largos para que los leyera un subagente.
- Un subagente recibe al empezar su prompt, los archivos CLAUDE.md, y las skills y servidores MCP que se le nombran, y cada uno pesa desde la primera llamada.
- Un campo tools omitido da al agente todas las herramientas disponibles: restringir es un acto explícito.
- Sin modelo nombrado, un subagente funciona con el modelo de la conversación principal, nada lo señala al lanzarlo, y /tasks lo muestra.
- El modelo se reparte por papel: pequeño para recoger, mediano para redactar, el más capaz para juzgar.
- El coste de arranque de un agente se mide con la misma tarea confiada a un agente por defecto y luego a uno restringido.
Crea una carpeta de prueba vacía, añádele un archivo notes.txt de tres líneas y luego un archivo .claude/agents/lector.md copiado del ejemplo. Inicia Claude Code en esa carpeta, pide al agente lector que informe del contenido de notes.txt, escribe /cost y anota la línea. Haz la misma petición a un subagente sin nombre en una sesión nueva y compara las dos líneas.
Cada afirmación datable de esta lección remite aquí al texto público que la respalda. Una fuente que no se abre no prueba nada.
- Claude Code, subagentes: modelo, herramientas y contexto de arranque consultée le 2026-10-24
- Registro de cambios de Claude Code, versión 2.1.292, parámetro effort de la herramienta Agent consultée le 2026-10-24