# Docker Agent


[Docker Agent](https://github.com/docker/docker-agent) es un framework de código abierto
para crear equipos de agentes de IA especializados. En lugar de dar instrucciones a un único
modelo generalista, defines agentes con roles e instrucciones específicas que
colaboran para resolver problemas. Ejecuta estos equipos de agentes desde tu terminal utilizando
cualquier proveedor de LLM.

> [!NOTE]
> Docker Agent es un framework para crear y ejecutar equipos de agentes personalizados.
> Para el asistente de IA integrado de Docker, consulta [Gordon](/ai/gordon/) (`docker ai`).

## ¿Por qué equipos de agentes?

Un solo agente que maneja tareas complejas implica un cambio de contexto constante. Divide el trabajo
entre agentes enfocados en su lugar: cada uno maneja aquello en lo que es mejor. Docker Agent gestiona
la coordinación.

Aquí tienes un equipo de dos agentes que depura problemas:

```yaml
agents:
  root:
    model: openai/gpt-5-mini # Cambia al modelo que desees utilizar
    description: Investigador de fallas
    instruction: |
      Analiza mensajes de error, trazas de pila y código para encontrar las causas raíz de las fallas.
      Explica qué está mal y por qué ocurre.
      Delega la implementación de la solución al agente corrector (fixer).
    sub_agents: [fixer]
    toolsets:
      - type: filesystem
      - type: mcp
        ref: docker:duckduckgo

  fixer:
    model: anthropic/claude-sonnet-4-5 # Cambia al modelo que desees utilizar
    description: Implementador de soluciones
    instruction: |
      Escribe soluciones para las fallas diagnosticadas por el investigador.
      Realiza cambios mínimos y dirigidos, y añade pruebas para evitar regresiones.
    toolsets:
      - type: filesystem
      - type: shell
```

El agente root investiga y explica el problema. Cuando comprende la
situación, se la transfiere al agente `fixer` para su implementación. Cada agente se mantiene enfocado en
su especialidad.

## Instalación

Docker Agent está incluido en Docker Desktop 4.63 y posteriores. En las versiones 4.49 a 4.62 de Docker Desktop, esta característica se llamaba cagent.

Para usuarios de Docker Engine o instalaciones personalizadas:

- **Homebrew**: `brew install docker-agent`
- **Winget**: `winget install Docker.Agent`
- **Binarios precompilados**: [Lanzamientos de GitHub](https://github.com/docker/docker-agent/releases)
- **Desde el código fuente**: Consulta el [repositorio de Docker Agent](https://github.com/docker/docker-agent?tab=readme-ov-file#build-from-source)

El binario `docker-agent` debe copiarse en `~/.docker/cli-plugins` y luego puede utilizarse con el comando `docker agent`. Alternativamente, se puede utilizar como un binario independiente.

## Primeros pasos

Prueba el equipo analizador de fallas (bug analyzer):

1. Configura tu clave de API para el proveedor de modelos que deseas utilizar:

   ```console
   $ export ANTHROPIC_API_KEY=<tu_clave>  # Para modelos Claude
   $ export OPENAI_API_KEY=<tu_clave>     # Para modelos OpenAI
   $ export GOOGLE_API_KEY=<tu_clave>     # Para modelos Gemini
   ```

2. Guarda la [configuración de ejemplo](#por-que-equipos-de-agentes) como `debugger.yaml`.

3. Ejecuta tu equipo de agentes:

   ```console
   $ docker agent run debugger.yaml
   ```

Verás un prompt donde puedes describir fallas o pegar mensajes de error. El
investigador analiza el problema y luego se lo transfiere al corrector (fixer) para su
implementación.

## Cómo funciona

Interactúas con el _agente root_, que puede delegar el trabajo a los subagentes que
definas. Cada agente:

- Utiliza su propio modelo y parámetros
- Tiene su propio contexto (los agentes no comparten conocimientos)
- Puede acceder a herramientas integradas como listas de tareas pendientes, memoria y delegación de tareas
- Puede utilizar herramientas externas a través de [servidores MCP](/ai/mcp-catalog-and-toolkit/mcp-gateway/)

El agente root delega tareas a los agentes listados en `sub_agents`. Los subagentes
pueden tener sus propios subagentes para jerarquías más profundas.

## Opciones de configuración

Las configuraciones de los agentes son archivos YAML. Una estructura básica se ve así:

```yaml
agents:
  root:
    model: claude-sonnet-4-0
    description: Breve resumen del rol
    instruction: |
      Instrucciones detalladas para este agente...
    sub_agents: [helper]

  helper:
    model: gpt-5-mini
    description: Rol del agente especialista
    instruction: |
      Instrucciones para el agente helper...
```

También puedes configurar los ajustes del modelo (como los límites de contexto), las herramientas (incluidos
los servidores MCP) y más. Consulta la [referencia de configuración](/ai/reference/config/)
para obtener todos los detalles.

## Compartir equipos de agentes

Las configuraciones de los agentes se empaquetan como artefactos OCI. Súbelas (push) y descárgalas (pull)
como imágenes de contenedor:

```console
$ docker agent share push ./debugger.yaml miusuario/debugger
$ docker agent share pull miusuario/debugger
```

Utiliza Docker Hub o cualquier registro compatible con OCI. Subir un agente crea el repositorio si
aún no existe.

## ¿Qué sigue?

- Sigue el [tutorial](/ai/tutorial/) para crear tu primer agente de codificación
- Aprende las [mejores prácticas](/ai/best-practices/) para crear agentes eficaces
- Integra Docker Agent con tu [editor](/ai/integrations/acp/) o utiliza agentes como
  [herramientas en clientes MCP](/ai/integrations/mcp/)
- Explora ejemplos de configuraciones de agentes en el [repositorio de Docker Agent](https://github.com/docker/docker-agent/tree/main/examples)
- Utiliza `docker agent new` para generar equipos de agentes con IA <!-- TODO: link to some page
  where we explain this, probably a CLI reference? -->
- Conecta agentes a herramientas externas a través de la [Docker MCP
  Gateway](/ai/mcp-catalog-and-toolkit/mcp-gateway/)
- Lee la [referencia de configuración completa](https://github.com/docker/docker-agent?tab=readme-ov-file#-configuration-reference)
  <!-- TODO: move to this site/repo -->

