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

> Descrive come usare Fleet Mode per eseguire in parallelo più sotto-agenti da una singola sessione parent.

## Fleet Mode

Fleet Mode è una funzionalità sperimentale di orchestrazione che consente di eseguire in parallelo più sotto-agenti a partire da una singola sessione parent. Se il lavoro può essere diviso in unità indipendenti, la sessione parent assegna le porzioni di competenza e aggrega i risultati di ciascun sotto-agente.

Nella versione Laravel puoi chiamare `session.fleet.start` tramite il typed RPC layer.

## Casi d'uso indicati

* Refactoring divisibile per file, package o SDK di linguaggio
* Task di analisi che ispezionano separatamente più moduli
* Review a livello di diff, alert o pagina di documentazione
* Task di migrazione, dove ciascuna porzione può essere verificata indipendentemente

Al contrario, non è indicato per elaborazioni in cui il risultato concreto di uno step è necessario allo step successivo, dove più worker modificano lo stesso file, o per piccoli task one-off.

## Avviare 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: 'Ispeziona indipendentemente ciascuna pagina in docs/it e segnala solo gli aggiornamenti necessari',
        ),
    );

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

Puoi specificarlo anche come array.

```php theme={null}
$result = $session->rpc()->fleet()->start([
    'prompt' => 'Rivedi indipendentemente ciascun package e alla fine riassumi i rischi',
]);
```

`prompt` è opzionale. Se omesso, si avvia solo con le istruzioni Fleet Mode lato runtime.

## Avviare da Plan Mode

Se stai gestendo autonomamente l'UI di Plan Mode, selezionando `autopilot_fleet` in `onExitPlanModeRequest` puoi passare da un piano approvato 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',
        );
    },
);
```

Usa `autopilot` per un singolo worker autonomo, `interactive` quando l'utente è coinvolto continuativamente, e `autopilot_fleet` per portare avanti in parallelo unità di lavoro indipendenti.

## Coordinamento dei sotto-agenti

Fleet Mode coordina tramite unità di lavoro esplicite anziché memoria condivisa implicita. La sessione parent suddivide i task, ogni sotto-agente elabora solo la propria porzione e restituisce completamento o stato bloccato.

Quando progetti le unità di lavoro, chiarisci quanto segue.

* Il perimetro di competenza di ciascun worker
* I file o le directory che quel worker può modificare
* I deliverable o i risultati di verifica da restituire al completamento
* Le dipendenze rispetto agli altri task

## Considerazioni

* Il Fleet RPC è una funzionalità sperimentale del layer RPC generato. Se lo usi, allinea le versioni di Copilot CLI e SDK
* Evita modifiche a file soggette a conflitti e distingui chiaramente i perimetri di competenza
* Poiché la sessione parent aggregherà i risultati, è più semplice se includi nel prompt il formato con cui ciascun worker deve riportare

## Riferimenti

* [Agenti personalizzati](/it/packages/laravel-copilot-sdk/custom-agents)
* [RPC](/it/packages/laravel-copilot-sdk/rpc)
* [Eventi di streaming](/it/packages/laravel-copilot-sdk/streaming-events)

<Info>
  Per le informazioni più recenti fai riferimento al [repository GitHub](https://github.com/invokable/laravel-copilot-sdk).
</Info>


## Related topics

- [Agenti personalizzati](/it/packages/laravel-copilot-sdk/custom-agents.md)
- [Modelli](/it/packages/laravel-copilot-sdk/models.md)
- [Eloquent Observers ed eventi del modello](/it/advanced/eloquent-observers.md)
- [Collezioni Eloquent](/it/eloquent-collections.md)
- [Laravel Fetch Metadata](/it/packages/laravel-fetch-metadata.md)
