> ## Documentation Index
> Fetch the complete documentation index at: https://kawax.biz/llms.txt
> Use this file to discover all available pages before exploring further.

# Fleet Mode

> Explica cómo usar Fleet Mode para ejecutar varios subagentes en paralelo desde una única sesión padre.

## Fleet Mode

Fleet Mode es una función experimental de orquestación para ejecutar varios subagentes en paralelo desde una sola sesión padre. Cuando el trabajo se puede dividir en unidades independientes, la sesión padre asigna el ámbito y agrega los resultados de cada subagente.

En la versión Laravel puedes invocar `session.fleet.start` desde la typed RPC layer.

## Casos adecuados

* Refactorizaciones que se pueden dividir por fichero, paquete o SDK de un lenguaje
* Tareas de investigación que analizan varios módulos por separado
* Revisiones por diff, alerta o página de documentación
* Trabajos de migración en los que cada ámbito se puede validar por separado

Al contrario, no es adecuado para procesos en los que el paso siguiente necesita el resultado concreto del anterior, ni cuando varios workers editan el mismo fichero o para pequeñas tareas puntuales.

## Iniciar Fleet Mode

```php theme={null}
use Revolution\Copilot\Contracts\CopilotSession;
use Revolution\Copilot\Facades\Copilot;
use Revolution\Copilot\Types\Rpc\FleetStartRequest;

Copilot::start(function (CopilotSession $session): void {
    $result = $session->rpc()->fleet()->start(
        new FleetStartRequest(
            prompt: 'docs/jpの各ページを独立して確認し、必要な更新だけ報告して',
        ),
    );

    if ($result->started) {
        info('Fleet mode started');
    }
});
```

También puedes indicarlo como array:

```php theme={null}
$result = $session->rpc()->fleet()->start([
    'prompt' => '各パッケージを独立してレビューし、最後にリスクをまとめて',
]);
```

`prompt` es opcional. Si lo omites, se inicia únicamente con las instrucciones de Fleet Mode del runtime.

## Iniciar desde Plan Mode

Si gestionas por tu cuenta la UI de Plan Mode, puedes elegir `autopilot_fleet` en `onExitPlanModeRequest` para pasar de un plan aprobado a Fleet Mode.

```php theme={null}
use Revolution\Copilot\Types\ExitPlanModeRequest;
use Revolution\Copilot\Types\ExitPlanModeResult;
use Revolution\Copilot\Types\SessionConfig;

$config = new SessionConfig(
    onExitPlanModeRequest: function (ExitPlanModeRequest $request): ExitPlanModeResult {
        return new ExitPlanModeResult(
            approved: true,
            selectedAction: 'autopilot_fleet',
        );
    },
);
```

Se usa `autopilot` para un único worker autónomo, `interactive` para un uso con implicación continua del usuario y `autopilot_fleet` para avanzar unidades de trabajo independientes en paralelo.

## Coordinación entre subagentes

Fleet Mode no coordina con memoria compartida implícita, sino con unidades de trabajo explícitas. La sesión padre divide la tarea, cada subagente procesa únicamente su ámbito y devuelve el estado de finalización o de bloqueo.

Al diseñar las unidades de trabajo, deja claros estos puntos:

* Ámbito del que se encarga un worker
* Ficheros o directorios que ese worker puede editar
* Entregables o resultados de validación que debe devolver al terminar
* Dependencias con otras tareas

## Consideraciones

* Fleet RPC es una funcionalidad experimental de la capa de RPC generada. Si la usas, alinea las versiones de Copilot CLI y del SDK
* Evita editar ficheros propensos a conflictos y divide los ámbitos con claridad
* Como es la sesión padre la que agrega los resultados, es más fácil trabajar si incluyes en el prompt el formato de reporte de cada worker

## Referencias

* [Agentes personalizados](/es/packages/laravel-copilot-sdk/custom-agents)
* [RPC](/es/packages/laravel-copilot-sdk/rpc)
* [Eventos de streaming](/es/packages/laravel-copilot-sdk/streaming-events)

<Info>
  Consulta la información más reciente en el [repositorio de GitHub](https://github.com/invokable/laravel-copilot-sdk).
</Info>


## Related topics

- [Agentes personalizados](/es/packages/laravel-copilot-sdk/custom-agents.md)
- [Modelos](/es/packages/laravel-copilot-sdk/models.md)
- [Observers de Eloquent y eventos del modelo](/es/advanced/eloquent-observers.md)
- [Colecciones Eloquent](/es/eloquent-collections.md)
- [Laravel Fetch Metadata](/es/packages/laravel-fetch-metadata.md)
