> ## 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

> Leer hoe je met Fleet Mode meerdere subagents parallel laat draaien vanuit één parent session.

## Fleet Mode

Fleet Mode is een experimentele orchestratiefunctie waarmee je vanuit één parent session meerdere subagents parallel laat draaien. Wanneer werk in onafhankelijke eenheden kan worden opgedeeld, wijst de parent session de werkgebieden toe en aggregeert deze de resultaten van elke subagent.

In de Laravel-versie kun je `session.fleet.start` aanroepen vanuit de typed RPC layer.

## Geschikte toepassingen

* Refactorings die per bestand, package of taal-SDK kunnen worden opgesplitst
* Onderzoekstaken waarbij meerdere modules afzonderlijk worden bekeken
* Reviews per diff, alert of documentatiepagina
* Taken zoals migraties, waarbij elk werkgebied onafhankelijk kan worden gevalideerd

Fleet Mode is daarentegen niet geschikt voor processen waarbij het concrete resultaat van de vorige stap noodzakelijk is voor de volgende stap, processen waarbij meerdere workers hetzelfde bestand bewerken, of kleine eenmalige taken.

## Fleet Mode starten

```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: 'Controleer elke pagina in docs/jp onafhankelijk en rapporteer alleen de benodigde updates',
        ),
    );

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

Je kunt dit ook als array opgeven.

```php theme={null}
$result = $session->rpc()->fleet()->start([
    'prompt' => 'Review elk package onafhankelijk en vat aan het einde de risico\'s samen',
]);
```

`prompt` is optioneel. Als je die weglaat, start Fleet Mode alleen met de Fleet Mode-instructies van de runtime.

## Starten vanuit Plan Mode

Als je de Plan Mode-UI zelf afhandelt, kun je via `onExitPlanModeRequest` de optie `autopilot_fleet` kiezen om vanuit een goedgekeurd plan door te gaan naar 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',
        );
    },
);
```

Gebruik `autopilot` voor één autonome worker, `interactive` voor een werkwijze waarbij de gebruiker continu betrokken blijft, en `autopilot_fleet` om onafhankelijke werkeenheden parallel uit te voeren.

## Samenwerking tussen subagents

Fleet Mode werkt niet met impliciet gedeeld geheugen, maar via expliciete werkeenheden. De parent session verdeelt de taken, elke subagent verwerkt alleen zijn eigen werkgebied en retourneert een voltooide of geblokkeerde status.

Maak bij het ontwerpen van werkeenheden het volgende duidelijk.

* Het gebied waarvoor één worker verantwoordelijk is
* De bestanden of directories die die worker mag bewerken
* De op te leveren resultaten of validatie-uitkomsten bij voltooiing
* Afhankelijkheden met andere taken

## Aandachtspunten

* Fleet RPC is een experimentele functie van de gegenereerde RPC-laag. Zorg dat de versies van de Copilot CLI en de SDK op elkaar aansluiten als je deze gebruikt
* Vermijd bestandsbewerkingen die snel conflicteren en verdeel de werkgebieden duidelijk
* Omdat de parent session de resultaten aggregeert, is het handig om het rapportageformaat van elke worker in de prompt op te nemen

## Zie ook

* [Custom agents](/nl/packages/laravel-copilot-sdk/custom-agents)
* [RPC](/nl/packages/laravel-copilot-sdk/rpc)
* [Streaming events](/nl/packages/laravel-copilot-sdk/streaming-events)

<Info>
  Raadpleeg de [GitHub-repository](https://github.com/invokable/laravel-copilot-sdk) voor de meest actuele informatie.
</Info>


## Related topics

- [Custom agents](/nl/packages/laravel-copilot-sdk/custom-agents.md)
- [Modellen](/nl/packages/laravel-copilot-sdk/models.md)
- [Eloquent-observers en modelevents](/nl/advanced/eloquent-observers.md)
- [Eloquent-collecties](/nl/eloquent-collections.md)
- [Laravel Fetch Metadata](/nl/packages/laravel-fetch-metadata.md)
