PAO від Nuno Maduro — це інструмент розробки, який розпізнає запуск тестів у середовищі AI-агентів (Claude Code, Cursor, Devin або Gemini CLI) і замінює стандартний вивід на компактний JSON. Це дозволяє значно скоротити витрати токенів, не змінюючи звичний процес тестування.
# Як це працює
PAO інтегрується в автозавантажувач PHP. Після встановлення він автоматично виявляє оточення AI-агента та замінює стандартні звіти на мінімалістичний JSON-формат:
{
"result": "passed",
"tests": 1002,
"passed": 1002,
"duration_ms": 321
}
Обсяг такого виводу залишається незмінним — близько 20 токенів, незалежно від масштабу вашого проекту.
# Скорочення кількості токенів
Бенчмарки на наборі з 1000 тестів демонструють вражаючу різницю:
| Runner | Без PAO | З PAO | Економія |
|---|---|---|---|
| PHPUnit | 336 токенів | 20 токенів | 94% |
| Pest | 10,123 токенів | 20 токенів | 99.8% |
| Pest (паралельно) | 11,125 токенів | 20 токенів | 99.8% |
Окрім прямої економії, головною перевагою є збереження контекстного вікна під час тривалих сесій. Результати тестів більше не витісняють код та історію діалогу з пам'яті AI-агента.
# Підтримка фреймворків та інструментів
PAO працює з PHPUnit 12–13, Pest 4–5 та Paratest. Він не обмежений лише Laravel — інструмент однаково ефективний для будь-яких PHP-проєктів на Symfony, Laminas або vanilla PHP.
# Встановлення
PAO потребує PHP 8.3 або вище. Не потрібно створювати файли конфігурації чи реєструвати сервіс-провайдери — активація відбувається автоматично через автозавантажувач Composer.
composer require nunomaduro/pao:0.x-dev --dev
Варто врахувати, що пакет перебуває у статусі work in progress і активно розробляється.
Вихідний код доступний на GitHub.