Los subagentes gastan demasiados tokens: ¿cómo les pongo un modelo más barato?
En Claude Code, escribe model: haiku al principio del archivo del subagente. En Codex, define default_subagent_model en [agents] en ~/.codex/config.toml. Cada subagente hace sus propias peticiones con cargo al mismo límite, así que buscar, leer archivos y otros trabajos sencillos salen más baratos en un modelo pequeño.
Codex
Define default_subagent_model en [agents] en ~/.codex/config.toml, y todos los subagentes usan por defecto el modelo más pequeño.
Sin configuración, un subagente hereda el modelo y el nivel de razonamiento de la sesión principal. Define un valor por defecto para todos en [agents] en config.toml, o dale a un subagente su propio archivo .toml con model y model_reasoning_effort; el archivo tiene prioridad sobre el valor por defecto. OpenAI propone GPT-5.6 Terra para buscar, leer archivos grandes y procesar material, y GPT-5.6 Luna para trabajo bien definido y repetitivo. Para limitar cuántos corren a la vez, define max_concurrent_threads_per_session en [agents].
Qué dice la documentación oficial
Because each subagent does its own model and tool work, subagent workflows consume more tokens than comparable single-agent runs.If you don't configure a subagent model or model_reasoning_effort, the subagent inherits the parent agent's model and reasoning effort.To balance intelligence, speed, and price for each task, request a specific model or reasoning effort in your prompt, configure [agents] defaults in config.toml, or set model and model_reasoning_effort directly in the custom agent file.Use gpt-5.6-terra when you want a faster, lower-cost option for lighter subagent work.If a custom agent file sets model or model_reasoning_effort, the value in the file takes precedence.Claude
Escribe model: haiku al principio del archivo del subagente. Para cambiarlos todos de una vez, define la variable de entorno CLAUDE_CODE_SUBAGENT_MODEL.
El panel de /usage da el motivo: cada subagente hace sus propias peticiones; no los lances a la ligera y piensa en un modelo más barato para los sencillos ("Each subagent runs its own requests. Be deliberate about spawning them — and consider configuring a cheaper model for simpler subagents."). Los archivos de subagente están en .claude/agents/ (este proyecto) o ~/.claude/agents/ (todos los proyectos). El campo model del principio admite haiku, sonnet, opus, fable, un ID de modelo completo o inherit; si lo omites, el subagente usa el modelo de la sesión principal. CLAUDE_CODE_SUBAGENT_MODEL fija un valor por defecto para todos los subagentes, pero solo eso: un modelo escrito en el archivo, o uno que Claude nombre al delegar, va primero. Mientras un subagente trabaja, /tasks muestra en qué modelo está.
Qué dice la documentación oficial
For simple subagent tasks, specify model: haiku in your subagent configuration.CLAUDE_CODE_SUBAGENT_MODEL is a default, so a subagent's definition or a model Claude passes still takes precedence over it. To apply one model to every subagent, teammate, and workflow agent, also set CLAUDE_CODE_SUBAGENT_MODEL_FORCE to 1.A user or project subagent named Explore overrides the built-in and keeps its own model field, so define one with model: haiku to keep exploration on a lower-cost model.Agent teams use approximately 7x more tokens than standard sessions when teammates run in plan mode, because each teammate maintains its own context window and runs as a separate Claude instance.A single burst of heavy activity, such as a large workflow fanout, can exhaust the weekly allowance before the session window resets.Codex: qué escribir
Valor por defecto para todos los subagentes: en ~/.codex/config.toml, en [agents], añade default_subagent_model = "gpt-5.6-terra" y default_subagent_reasoning_effort = "medium".
Solo un subagente: crea un archivo .toml en .codex/agents/ (este proyecto) o ~/.codex/agents/ (todos los proyectos). Hay tres campos obligatorios: name, description y developer_instructions. Después añade model y model_reasoning_effort. El ejemplo oficial, pr-explorer.toml, pone name = "pr_explorer", model = "gpt-5.6-luna" y model_reasoning_effort = "medium".
Orden de prioridad: un modelo nombrado al lanzar el subagente, después el valor por defecto de [agents], después el modelo de la sesión principal. Un valor en el archivo del agente tiene prioridad sobre el valor por defecto.
Claude Code: qué escribir
Un subagente: crea log-reader.md en .claude/agents/. Entre las dos líneas --- del principio, escribe tres líneas. Primera, name: log-reader. Segunda, description: Reads logs and runs tests, reports failures only. Tercera, model: haiku. Debajo, escribe sus instrucciones, por ejemplo: informa solo de los tests que fallan y de sus errores; no pegues la salida completa.
Todos los subagentes: en el bloque env de settings.json, añade "CLAUDE_CODE_SUBAGENT_MODEL": "haiku". Para aplicarlo a todos los subagentes sin excepción, añade también "CLAUDE_CODE_SUBAGENT_MODEL_FORCE": "1" (requiere v2.1.257 o posterior).
Solo el Explore integrado: crea tu propio subagente llamado Explore con model: haiku. Sustituye al integrado.
Orden de prioridad: el modelo nombrado al delegar la tarea, después model en el archivo del subagente, después CLAUDE_CODE_SUBAGENT_MODEL, después el modelo de la sesión principal.
Errores frecuentes
- Los subagentes tienen su propio límite, así que lanzar muchos en paralelo no toca la sesión principal
No lo tienen. Los subagentes, los equipos de agentes y las tareas en paralelo en la nube gastan del mismo límite de 5 horas y del mismo límite semanal. Lanzarlos en paralelo solo gasta esos límites más rápido.
- Con CLAUDE_CODE_SUBAGENT_MODEL definido, todos los subagentes van en el modelo pequeño
No del todo. Es solo un valor por defecto: un modelo escrito en el archivo del subagente, o uno que Claude nombre al delegar, va primero, y a los integrados Explore y Plan no les afecta. Para forzarlos todos, define también CLAUDE_CODE_SUBAGENT_MODEL_FORCE=1 y confírmalo con /tasks.
- Pasar trabajo a un subagente ahorra tokens
No necesariamente. Un subagente ahorra contexto en la sesión principal: la salida larga se queda de su lado y la sesión principal recibe un resumen. Pero tiene que leer los antecedentes desde cero, así que el total suele ser mayor. Pásale trabajo con salida larga y desordenada (ejecutar tests, descargar documentación, leer logs), y solo compensa con un modelo pequeño.
Consejos
- Empieza por el subagente que más ejecutas. /usage en Claude Code indica qué subagente gasta más; cambiar ese es lo que antes se nota.
- Da a un modelo pequeño la búsqueda, la lectura de archivos, la ejecución de tests y la lectura de logs. Deja las decisiones (arquitectura, bugs difíciles) al modelo de la sesión principal.
- Lanza menos. Los equipos de agentes de Claude usan unas 7 veces los tokens de una sesión normal, y un despliegue grande en paralelo puede agotar el límite semanal antes de que se reinicie el límite de 5 horas.
- Al delegar, indica el alcance y qué debe devolver, por ejemplo «informa solo de los tests que fallan y de sus errores». Para un subagente que ejecutas a menudo, el panel de /usage propone justo eso: un modelo más pequeño o un prompt más ajustado.
- Ciérralos al terminar. Un teammate que no ha salido sigue gastando tokens.
- En Codex también puedes nombrar el modelo en el prompt: «usa gpt-5.6-terra en medium para este subagente». Un modelo nombrado al lanzarlo tiene prioridad sobre el valor por defecto.
- Un subagente de Claude Code también puede fijar su propio effort (low, medium, high y superiores), en el mismo sitio que model.
Anuncios de reinicio de Codex · Anuncios de reinicio de Claude