Skip to main content

Introduzione

laravel/pao è un pacchetto che ottimizza l’output degli strumenti di sviluppo PHP per gli agenti AI. PAO (PHP Agent-Optimized output) converte automaticamente l’output verboso di PHPUnit, Pest, Paratest, PHPStan e Laravel Artisan in JSON compatto e strutturato. Man mano che molti agenti AI, incluso GitHub Copilot, sono passati a modelli di prezzo basati sul numero di token, la riduzione dell’output degli strumenti si è tradotta direttamente in una riduzione dei costi. PAO è progettato per risolvere questo problema ed è previsto come dipendenza predefinita degli starter kit di Laravel.

Perché è importante

Con gli agenti AI sempre più integrati nel flusso di sviluppo, il numero di token dell’output degli strumenti si traduce direttamente in costi e velocità di risposta. In un progetto con 1.000 test, l’output di PHPUnit può essere di migliaia di righe, ma all’agente AI servono solo “successo/fallimento, numero e punti di fallimento”. PAO comprime queste informazioni in un oggetto JSON di dimensioni ridotte.
  • Output dei test: riduzione dei token fino al 99,8%
  • Output PHPStan: fornisce solo le informazioni necessarie in JSON strutturato
  • Output Artisan: rimuove codici ANSI, caratteri di bordatura e spazi bianchi, riducendo fino al 75%

Installazione

Compatibile con PHP 8.3 o superiore, PHPUnit 12-13 / Pest 4-5 / Paratest / PHPStan / Laravel 12 o superiore.
Funziona semplicemente installandolo. PAO si aggancia automaticamente a PHPUnit, Pest, Paratest e PHPStan tramite l’autoloader di Composer. Nei progetti Laravel il service provider viene rilevato automaticamente e viene abilitata anche l’ottimizzazione dell’output di Artisan.
PAO si attiva solo quando rileva un ambiente di agente AI. Quando è un umano ad eseguire direttamente dal terminale, è completamente disabilitato e l’output normale rimane inalterato.

Agenti AI supportati

PAO rileva automaticamente i seguenti agenti AI.

Prima / Dopo

Output dei test (PHPUnit / Pest)

Una suite di 1.000 test viene convertita come segue. Prima (senza PAO)
Dopo (con PAO)
L’output ha sempre dimensioni costanti indipendentemente dal numero di test. In caso di fallimento sono inclusi percorso del file, numero di riga e messaggio di fallimento.

Output di plugin come coverage

L’output aggiuntivo dei plugin di Pest come --coverage o --profile viene incluso nell’array raw dopo aver rimosso codici ANSI e decorazioni.

Output PHPStan

Output di Laravel Artisan

Dall’output di comandi come php artisan about vengono rimossi codici ANSI, caratteri di bordatura, separatori a puntini e spazi bianchi. Prima (senza PAO) — 2.111 caratteri
Dopo (con PAO) — 535 caratteri
Con comandi come about, db:show e migrate:status si può ottenere una riduzione dei token fino al 75%.

Integrazione negli starter kit di Laravel

PAO è previsto come dipendenza predefinita degli starter kit di Laravel. Creando un nuovo progetto viene installato automaticamente e puoi iniziare subito lo sviluppo con agenti AI mantenendo bassi i costi in token.

Conclusioni

laravel/pao funziona semplicemente installandolo e si attiva solo negli ambienti degli agenti AI, senza alcun impatto sul workflow di sviluppo esistente. È un pacchetto che vale la pena valutare per qualsiasi progetto PHP/Laravel che voglia ridurre i costi di sviluppo con agenti AI.

Repository laravel/pao

Trovi qui il codice sorgente e l’elenco aggiornato di strumenti e agenti supportati.
Ultima modifica il 13 luglio 2026