For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Navegación principal

Subagentes

Usa subagentes en ChatGPT y Codex, y configura agentes personalizados de Codex

ChatGPT Work y Codex pueden ejecutar flujos de trabajo con subagentes al crear agentes especializados en paralelo y luego reunir sus resultados en una sola respuesta. Esto puede ser especialmente útil para tareas complejas que permiten un alto grado de paralelismo, como explorar una base de código o implementar un plan de funcionalidades con varios pasos.

En los clientes locales de Codex, también puedes definir agentes personalizados con distintas configuraciones de modelo e instrucciones para diferentes tareas.

Disponibilidad

Las versiones actuales de Codex activan los flujos de trabajo con subagentes de forma predeterminada. La actividad de los subagentes aparece en la aplicación de escritorio de ChatGPT, Codex CLI y la extensión para IDE.

Como cada subagente realiza su propio trabajo con el modelo y las herramientas, los flujos de trabajo con subagentes consumen más tokens que las ejecuciones comparables con un solo agente.

Pídele a Codex en un chat de la app que delegue partes independientes del trabajo a subagentes. Las versiones locales actuales de Codex delegan cuando se lo pides directamente o cuando lo solicitan las instrucciones aplicables de AGENTS.md o de una habilidad. La app muestra cada hilo de subagente para que puedas revisar su trabajo y el resumen que se devuelve al chat principal.

Por qué son útiles los flujos de trabajo con subagentes

Incluso con ventanas de contexto grandes, los modelos tienen límites. Si saturas el chat principal —donde defines requisitos, restricciones y decisiones— con resultados intermedios que generan ruido, como notas de exploración, registros de pruebas, trazas de pila y resultados de comandos, la sesión puede volverse menos confiable con el tiempo.

Esto suele describirse como:

  • Contaminación del contexto: la información útil queda oculta entre resultados intermedios que generan ruido.
  • Deterioro del contexto: el rendimiento disminuye a medida que el chat se llena de detalles menos relevantes.

Para obtener más contexto, consulta el artículo de Chroma sobre el deterioro del contexto.

Los flujos de trabajo con subagentes ayudan a sacar del hilo principal el trabajo que genera ruido:

  • Mantén al agente principal enfocado en los requisitos, las decisiones y los resultados finales.
  • Ejecuta subagentes especializados en paralelo para tareas de exploración, pruebas o análisis de registros.
  • Devuelve resúmenes de los subagentes en lugar de resultados intermedios sin procesar.

También pueden ahorrar tiempo cuando el trabajo se puede ejecutar de forma independiente y en paralelo, y permiten abordar tareas de mayor alcance al dividirlas en partes acotadas. Por ejemplo, Codex puede dividir el análisis de un documento de varios millones de tokens en problemas más pequeños y devolver conclusiones sintetizadas al hilo principal.

Como punto de partida, usa agentes en paralelo para tareas con mucha lectura, como exploración, pruebas, clasificación y generación de resúmenes. Ten más cuidado con los flujos de trabajo en paralelo que requieren mucha escritura, ya que, si varios agentes editan código al mismo tiempo, pueden surgir conflictos y aumentar el trabajo de coordinación.

Términos clave

Codex usa algunos términos relacionados en los flujos de trabajo con subagentes:

  • Flujo de trabajo con subagentes: flujo de trabajo en el que Codex ejecuta agentes en paralelo y combina sus resultados.
  • Subagente: agente delegado que Codex inicia para encargarse de una tarea específica.
  • Hilo de agente: hilo en el que un subagente realiza su trabajo. Los clientes compatibles permiten abrir estos hilos para revisar el progreso o los resultados.

Activar flujos de trabajo con subagentes

Solicita directamente subagentes o que varios agentes trabajen en paralelo. Codex también puede delegar cuando lo solicitan las instrucciones aplicables del proyecto o de una habilidad.

En la práctica, la activación manual consiste en usar instrucciones directas como “crea dos agentes”, “delega este trabajo en paralelo” o “usa un agente por punto”. Los flujos de trabajo con subagentes consumen más tokens que las ejecuciones comparables con un solo agente porque cada subagente realiza su propio trabajo con el modelo y las herramientas.

Un buen prompt para subagentes debe explicar cómo dividir el trabajo, si Codex debe esperar a todos los agentes antes de continuar y qué resumen o resultado debe devolver.

Review this branch with parallel subagents. Spawn one subagent for security risks, one for test gaps, and one for maintainability. Wait for all three, then summarize the findings by category with file references.

Elegir modelos y niveles de razonamiento

Los agentes necesitan distintas configuraciones de modelo y razonamiento.

Si no configuras un modelo para el subagente ni model_reasoning_effort, el subagente hereda el modelo y el esfuerzo de razonamiento del agente que lo creó. Si una solicitud explícita de creación o un valor predeterminado de [agents] selecciona un modelo sin un esfuerzo de razonamiento explícito o configurado, el subagente usa el esfuerzo de razonamiento predeterminado de ese modelo. Para equilibrar la inteligencia, la velocidad y el precio en cada tarea, solicita un modelo o un esfuerzo de razonamiento específico en tu prompt, configura los valores predeterminados de [agents] en config.toml o establece model y model_reasoning_effort directamente en el archivo del agente personalizado. Por ejemplo, usa gpt-5.6-terra para análisis rápidos o una configuración de gpt-5.6 con mayor esfuerzo para tareas de razonamiento más exigentes.

Para la mayoría de las tareas en Codex, comienza con gpt-5.6. Usa gpt-5.6-terra cuando quieras una opción más rápida y económica para trabajos más ligeros de los subagentes.

Elección del modelo

  • gpt-5.6: comienza por este modelo para los agentes que se encarguen de tareas exigentes. Es la opción más sólida para trabajos ambiguos de varios pasos que requieren planificación, uso de herramientas, validación y seguimiento integral en un contexto más amplio.
  • gpt-5.6-terra: úsalo para agentes que priorizan la velocidad y la eficiencia sobre la profundidad, por ejemplo, para tareas de exploración, análisis con mucha lectura, revisión de archivos grandes o procesamiento de documentos de apoyo. Funciona bien para agentes en paralelo que devuelven resultados resumidos al agente principal.
  • gpt-5.6-luna: úsalo para agentes rápidos y con un alcance limitado que se encarguen de trabajos claros, repetibles o de gran volumen.

Esfuerzo de razonamiento (model_reasoning_effort)

  • ultra: úsalo para el razonamiento más profundo cuando el modelo seleccionado sea compatible con este nivel.
  • max y xhigh: úsalos para tareas de razonamiento especialmente exigentes cuando el modelo seleccionado sea compatible con estos niveles.
  • high: úsalo cuando un agente necesite seguir una lógica compleja, comprobar supuestos o analizar casos extremos (por ejemplo, agentes de revisión o especializados en seguridad).
  • medium: valor predeterminado equilibrado para la mayoría de los agentes.
  • low: úsalo cuando la tarea sea sencilla y la velocidad sea la prioridad.

Un mayor esfuerzo de razonamiento aumenta el tiempo de respuesta y el uso de tokens, pero puede mejorar la calidad de los trabajos complejos. Para obtener más información, consulta Modelos, Configuración básica y Referencia de configuración.

Orquestación y controles de hilos

ChatGPT o Codex se encarga de la orquestación entre los agentes, lo que incluye crear nuevos subagentes, enviar instrucciones de seguimiento, esperar los resultados y cerrar los hilos de los agentes.

Cuando se ejecutan muchos agentes, Codex espera hasta que todos los resultados solicitados estén disponibles y luego devuelve una respuesta consolidada.

Las versiones locales actuales de Codex crean agentes en respuesta a una solicitud directa o a instrucciones aplicables del proyecto o de una habilidad.

Para verlo en acción, prueba el siguiente prompt en tu proyecto:

I would like to review the following points on the current PR (this branch vs main). Spawn one agent per point, wait for all of them, and summarize the result for each point.
1. Security issue
2. Code quality
3. Bugs
4. Race
5. Test flakiness
6. Maintainability of the code

Administrar subagentes

  • Abre un hilo de subagente desde la actividad que se muestra en el hilo principal para revisar su trabajo.
  • Pídele directamente a Codex que dé nuevas instrucciones a un subagente en ejecución, que lo detenga o que cierre los hilos de subagentes finalizados.

Aprobaciones y controles del sandbox

Los subagentes heredan tu política actual del sandbox.

Los subagentes heredan el modo de permisos seleccionado debajo del editor. Elige el modo de permisos del turno principal antes de pedirle a Codex que delegue el trabajo.

También puedes anular la configuración del sandbox para agentes personalizados específicos; por ejemplo, puedes indicar explícitamente que uno debe funcionar en modo de solo lectura.

Agentes personalizados

Codex incluye estos agentes integrados:

  • default: agente de respaldo de propósito general.
  • worker: agente enfocado en la ejecución para tareas de implementación y corrección.
  • explorer: agente para explorar bases de código mediante tareas con mucha lectura.

Para definir tus propios agentes personalizados, agrega archivos TOML independientes en ~/.codex/agents/ para los agentes personales o en .codex/agents/ para los agentes con alcance de proyecto.

Cada archivo define un agente personalizado. Codex carga estos archivos como capas de configuración para las sesiones creadas, por lo que los agentes personalizados pueden anular los mismos ajustes que la configuración de una sesión normal de Codex. Esto puede resultar más complejo que un archivo de manifiesto de agente dedicado, y el formato puede evolucionar a medida que maduren las opciones de creación y uso compartido.

Cada archivo independiente de agente personalizado debe definir lo siguiente:

  • name
  • description
  • developer_instructions

Si un archivo de agente personalizado define model o model_reasoning_effort, prevalece el valor del archivo. Antes de aplicar el archivo, Codex resuelve cada ajuste a partir de un valor de creación explícito, luego del valor predeterminado correspondiente de [agents] y, por último, del valor del agente principal. Si una solicitud de creación explícita o un valor predeterminado de [agents] selecciona un modelo y ninguno de los dos especifica un esfuerzo de razonamiento, Codex usa el esfuerzo predeterminado de ese modelo. Un archivo de agente personalizado que solo define model conserva el esfuerzo resuelto previamente. Define también model_reasoning_effort en el archivo si el modelo seleccionado no admite ese esfuerzo o si quieres uno diferente. Otros ajustes de la sesión, como sandbox_mode, mcp_servers y skills.config, se heredan del agente principal cuando el archivo de agente personalizado los omite.

Configuración global

La configuración global de los subagentes sigue estando en [agents] dentro de tu configuración.

CampoTipoObligatorioPropósito
agents.enabledbooleanoNoActiva o desactiva las herramientas multiagente.
agents.max_concurrent_threads_per_sessionnúmeroNoLimita la cantidad de hilos de agentes creados que pueden estar abiertos al mismo tiempo, sin contar el principal.
agents.default_subagent_modelcadenaNoEstablece el modelo predeterminado de los agentes creados.
agents.default_subagent_reasoning_effortcadenaNoEstablece el esfuerzo de razonamiento predeterminado de los agentes creados.
agents.interrupt_messagebooleanoNoRegistra un mensaje visible para el modelo cuando se interrumpe el turno de un agente.

Notas:

  • El valor predeterminado de agents.enabled es true. Configúralo en false para desactivar las herramientas multiagente.
  • Si dejas agents.max_concurrent_threads_per_session sin definir, Codex elige el valor predeterminado. Las configuraciones existentes pueden seguir usando agents.max_threads como alias heredado.
  • Los valores explícitos usados al crear agentes tienen prioridad sobre agents.default_subagent_model y agents.default_subagent_reasoning_effort.
  • El valor predeterminado de agents.interrupt_message es true. Configúralo en false para omitir del contexto del agente el mensaje de interrupción visible para el modelo.
  • Si el nombre de un agente personalizado coincide con el de un agente integrado, como explorer, el agente personalizado tiene prioridad.

Esquema del archivo de agente personalizado

CampoTipoObligatorioPropósito
namecadenaNombre del agente que Codex usa al crearlo o hacer referencia a él.
descriptioncadenaIndicaciones para el usuario sobre cuándo Codex debe usar este agente.
developer_instructionscadenaInstrucciones principales que definen el comportamiento del agente.

También puedes incluir otras claves compatibles de config.toml en un archivo de agente personalizado, como model, model_reasoning_effort, sandbox_mode, mcp_servers y skills.config.

Codex identifica el agente personalizado mediante su campo name. Hacer coincidir el nombre del archivo con el nombre del agente es la convención más sencilla, pero el campo name es la referencia definitiva.

Ejemplos de agentes personalizados

Los mejores agentes personalizados están bien delimitados y tienen criterios definidos. Asigna a cada uno una función clara, un conjunto de herramientas que se ajuste a esa función e instrucciones que eviten que se desvíe hacia tareas relacionadas.

Ejemplo 1: revisión de un PR

Este patrón divide la revisión entre tres agentes personalizados con enfoques específicos:

  • pr_explorer traza un mapa de la base de código y recopila evidencia.
  • reviewer busca riesgos relacionados con la corrección, la seguridad y las pruebas.
  • docs_researcher consulta la documentación del framework o la API mediante un Servidor MCP dedicado.

Configuración del proyecto (.codex/config.toml):

[agents]
max_concurrent_threads_per_session = 8

.codex/agents/pr-explorer.toml:

name = "pr_explorer"
description = "Read-only codebase explorer for gathering evidence before changes are proposed."
model = "gpt-5.3-codex-spark"
model_reasoning_effort = "medium"
sandbox_mode = "read-only"
developer_instructions = """
Stay in exploration mode.
Trace the real execution path, cite files and symbols, and avoid proposing fixes unless the parent agent asks for them.
Prefer fast search and targeted file reads over broad scans.
"""

.codex/agents/reviewer.toml:

name = "reviewer"
description = "PR reviewer focused on correctness, security, and missing tests."
model = "gpt-5.6-terra"
model_reasoning_effort = "high"
sandbox_mode = "read-only"
developer_instructions = """
Review code like an owner.
Prioritize correctness, security, behavior regressions, and missing test coverage.
Lead with concrete findings, include reproduction steps when possible, and avoid style-only comments unless they hide a real bug.
"""

.codex/agents/docs-researcher.toml:

name = "docs_researcher"
description = "Documentation specialist that uses the docs MCP server to verify APIs and framework behavior."
model = "gpt-5.6-luna"
model_reasoning_effort = "medium"
sandbox_mode = "read-only"
developer_instructions = """
Use the docs MCP server to confirm APIs, options, and version-specific behavior.
Return concise answers with links or exact references when available.
Do not make code changes.
"""

[mcp_servers.openaiDeveloperDocs]
url = "https://developers.openai.com/mcp"

Esta configuración funciona bien con prompts como:

Review this branch against main. Have pr_explorer map the affected code paths, reviewer find real risks, and docs_researcher verify the framework APIs that the patch relies on.

Ejemplo 2: depuración de la integración del frontend

Este patrón resulta útil para regresiones de la interfaz de usuario, flujos inestables del navegador o errores de integración que abarcan el código de la aplicación y el producto en ejecución.

Configuración del proyecto (.codex/config.toml):

[agents]
max_concurrent_threads_per_session = 6

.codex/agents/code-mapper.toml:

name = "code_mapper"
description = "Read-only codebase explorer for locating the relevant frontend and backend code paths."
model = "gpt-5.6-luna"
model_reasoning_effort = "medium"
sandbox_mode = "read-only"
developer_instructions = """
Map the code that owns the failing UI flow.
Identify entry points, state transitions, and likely files before the worker starts editing.
"""

.codex/agents/browser-debugger.toml:

name = "browser_debugger"
description = "UI debugger that uses browser tooling to reproduce issues and capture evidence."
model = "gpt-5.6-terra"
model_reasoning_effort = "high"
sandbox_mode = "workspace-write"
developer_instructions = """
Reproduce the issue in the browser, capture exact steps, and report what the UI actually does.
Use browser tooling for screenshots, console output, and network evidence.
Do not edit application code.
"""

[mcp_servers.chrome_devtools]
url = "http://localhost:3000/mcp"
startup_timeout_sec = 20

.codex/agents/ui-fixer.toml:

name = "ui_fixer"
description = "Implementation-focused agent for small, targeted fixes after the issue is understood."
model = "gpt-5.3-codex-spark"
model_reasoning_effort = "medium"
developer_instructions = """
Own the fix once the issue is reproduced.
Make the smallest defensible change, keep unrelated files untouched, and validate only the behavior you changed.
"""

[[skills.config]]
path = "/Users/me/.agents/skills/docs-editor/SKILL.md"
enabled = false

Esta configuración funciona bien con prompts como:

Investigate why the settings modal fails to save. Have browser_debugger reproduce it, code_mapper trace the responsible code path, and ui_fixer implement the smallest fix once the failure mode is clear.