Skip to main content

Inleiding

laravel/pao is een package die de output van PHP-ontwikkeltools optimaliseert voor AI-agents. PAO (PHP Agent-Optimized output) zet de uitgebreide output van PHPUnit, Pest, Paratest, PHPStan en Laravel Artisan automatisch om naar gestructureerde, compacte JSON. Nu veel AI-agents, waaronder GitHub Copilot, zijn overgestapt op prijsmodellen op basis van tokenaantallen, leidt het verminderen van tooloutput direct tot kostenbesparing. PAO is ontworpen om dit probleem op te lossen en zal worden opgenomen als standaarddependency in de Laravel starter kits.

Waarom dit belangrijk is

Naarmate AI-agents dieper in de ontwikkelworkflow verankerd raken, heeft het aantal outputtokens van tools directe invloed op kosten en responssnelheid. In een project met 1.000 tests beslaat de PHPUnit-output duizenden regels, terwijl een AI-agent alleen “geslaagd/mislukt, aantallen en de plek van de fouten” nodig heeft. PAO comprimeert deze informatie tot één compact JSON-object.
  • Testoutput: tot 99,8% minder tokens
  • PHPStan-output: alleen de noodzakelijke informatie als gestructureerde JSON
  • Artisan-output: verwijdert ANSI-codes, lijntekens en witruimte voor tot 75% reductie

Installatie

Vereist zijn PHP 8.3 of hoger, en PHPUnit 12-13 / Pest 4-5 / Paratest / PHPStan / Laravel 12 of hoger.
Alleen installeren is genoeg. PAO haakt via de autoloader van Composer automatisch in op PHPUnit, Pest, Paratest en PHPStan. In Laravel-projecten wordt de serviceprovider automatisch gedetecteerd en wordt ook de Artisan-outputoptimalisatie ingeschakeld.
PAO wordt alleen actief wanneer het een AI-agentomgeving detecteert. Voer je een tool zelf direct in de terminal uit, dan is PAO volledig uitgeschakeld en blijft de normale output behouden.

Ondersteunde AI-agents

PAO detecteert de volgende AI-agents automatisch.

Voor / na

Testoutput (PHPUnit / Pest)

Een testsuite met 1.000 tests wordt als volgt omgezet. Voor (zonder PAO)
Na (met PAO)
De output heeft altijd dezelfde omvang, ongeacht het aantal tests. Als een test faalt, bevat de output het bestandspad, regelnummer en de foutmelding.

Pluginoutput zoals coverage

Extra output van Pest-plugins zoals --coverage of --profile wordt, ontdaan van ANSI-codes en opmaak, opgenomen in de array raw.

PHPStan-output

Laravel Artisan-output

Uit de output van commando’s zoals php artisan about worden ANSI-codes, lijntekens, puntscheiders en witruimte verwijderd. Voor (zonder PAO) — 2.111 tekens
Na (met PAO) — 535 tekens
Bij commando’s zoals about, db:show en migrate:status is tot 75% tokenreductie haalbaar.

Integratie in de Laravel starter kits

PAO zal worden opgenomen als standaarddependency in de Laravel starter kits. Maak je een nieuw project aan, dan wordt PAO automatisch geïnstalleerd en kun je direct met AI-agents ontwikkelen tegen lagere tokenkosten.

Samenvatting

laravel/pao werkt direct na installatie en is alleen actief in AI-agentomgevingen, waardoor het je bestaande ontwikkelworkflow op geen enkele manier beïnvloedt. Voor elk PHP- of Laravel-project dat de kosten van ontwikkelen met AI-agents wil verlagen, is deze package het overwegen waard.

laravel/pao repository

Hier vind je de broncode en de meest recente lijst van ondersteunde tools en agents.
Laatst gewijzigd op 6 september 2026