Einleitung
laravel/pao ist ein Paket, das die Ausgaben von PHP-Entwicklungswerkzeugen für KI-Agenten optimiert. PAO (PHP Agent-Optimized output) wandelt die ausschweifenden Ausgaben von PHPUnit, Pest, Paratest, PHPStan und Laravel Artisan automatisch in strukturiertes, kompaktes JSON um. Nachdem viele KI-Agenten – GitHub Copilot inbegriffen – auf tokenbasierte Preismodelle umgestiegen sind, führt die Reduktion der Werkzeugausgaben direkt zu Kostenersparnissen. PAO ist genau dafür konzipiert und soll als Standard-Abhängigkeit in die Laravel-Starterkits aufgenommen werden.Warum das wichtig ist
Da KI-Agenten tief in den Entwicklungsworkflow integriert werden, wirkt sich die Anzahl der Tokens in Werkzeugausgaben direkt auf Kosten und Antwortzeiten aus. In einem Projekt mit 1.000 Tests umfasst die PHPUnit-Ausgabe mehrere tausend Zeilen; der KI-Agent benötigt jedoch nur die Informationen „Erfolg/Fehlschlag, Anzahl, Fehlerstellen”. PAO komprimiert diese Informationen auf ein einstelliges JSON-Objekt.- Testausgabe: bis zu 99,8 % Token-Reduktion
- PHPStan-Ausgabe: strukturiertes JSON, das nur die nötigen Informationen liefert
- Artisan-Ausgabe: ANSI-Codes, Rahmenzeichen und Leerraum werden entfernt – bis zu 75 % Reduktion
Installation
Erforderlich sind PHP 8.3 oder höher, PHPUnit 12–13 / Pest 4–5 / Paratest / PHPStan sowie Laravel 12 oder höher.PAO ist nur aktiv, wenn eine KI-Agenten-Umgebung erkannt wird. Bei manueller Ausführung in einem Terminal ist PAO komplett deaktiviert, und die reguläre Ausgabe bleibt erhalten.
Unterstützte KI-Agenten
PAO erkennt folgende KI-Agenten automatisch.| Agent | Erkennung |
|---|---|
| GitHub Copilot | Umgebungsvariablen wie COPILOT_MODEL |
| Claude Code | CLAUDECODE oder CLAUDE_CODE |
| Cursor | CURSOR_AGENT |
| Gemini CLI | GEMINI_CLI |
| Devin | Datei /opt/.devin |
| Codex | Umgebungsvariablen wie CODEX_SANDBOX |
Before / After
Testausgabe (PHPUnit / Pest)
Eine Test-Suite mit 1.000 Tests wird wie folgt transformiert. Before (ohne PAO)Ausgabe von Coverage- und anderen Plugins
Zusätzliche Ausgaben von Pest-Plugins wie--coverage oder --profile werden von ANSI-Codes und Dekoration befreit und in einem raw-Array beigefügt.
PHPStan-Ausgabe
Laravel Artisan-Ausgabe
Aus Ausgaben wiephp artisan about werden ANSI-Codes, Rahmenzeichen, Punkte-Trenner und Leerraum entfernt.
Before (ohne PAO) – 2.111 Zeichen
about, db:show und migrate:status ist mit bis zu 75 % Token-Reduktion zu rechnen.
Integration in die Laravel-Starterkits
PAO soll als Standard-Abhängigkeit in die Laravel-Starterkits einziehen. Wird ein neues Projekt erstellt, wird es automatisch installiert; die Entwicklung mit KI-Agenten kann direkt mit reduzierten Token-Kosten beginnen.Fazit
laravel/pao läuft direkt nach der Installation und ist nur in KI-Agent-Umgebungen aktiv, sodass es bestehende Entwicklungs-Workflows in keiner Weise beeinträchtigt. Es lohnt sich, den Einsatz in jedem PHP-/Laravel-Projekt zu erwägen, das die Kosten für die Entwicklung mit KI-Agenten senken möchte.
Repository laravel/pao
Quellcode sowie aktuelle Liste unterstützter Werkzeuge und Agenten finden Sie hier.