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.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.| Agente | Metodo di rilevamento |
|---|---|
| GitHub Copilot | Variabili d’ambiente come COPILOT_MODEL |
| Claude Code | CLAUDECODE o CLAUDE_CODE |
| Cursor | CURSOR_AGENT |
| Gemini CLI | GEMINI_CLI |
| Devin | File /opt/.devin |
| Codex | Variabili d’ambiente come CODEX_SANDBOX |
Prima / Dopo
Output dei test (PHPUnit / Pest)
Una suite di 1.000 test viene convertita come segue. Prima (senza PAO)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 comephp artisan about vengono rimossi codici ANSI, caratteri di bordatura, separatori a puntini e spazi bianchi.
Prima (senza PAO) — 2.111 caratteri
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.