Увійти Реєстрація
Блог Серії
Кар'єра
Вакансії Компанії
Навчання
Документація Співбесіди Тестування Відео
Екосистема
Пакети Ресурси Проєкти Інструменти Події
Інше
Про нас Реклама
Новини 01 липня 2026

Тестування AI-систем у Laravel без жодного виклику API

Після побудови повноцінної AI-платформи з агентами, інструментами, базою знань, потоковим чатом та middleware постає питання: як тестувати код, що викликає штучний інтелект? Звертатися до OpenAI у тестовому наборі неможливо - це повільно, коштує грошей на кожному запуску, а відповіді змінюються щоразу, тому assertions ніколи не спрацьовують стабільно.

Фейкування AI-викликів

У цьому епізоді вся система тестується за допомогою Pest без жодного API-виклику, використовуючи систему фейків SDK. Це працює точно так само, як фейкування пошти, нотифікацій або черг у Laravel. Ви визначаєте відповіді заздалегідь і перевіряєте, що були надіслані правильні промпти.

Спочатку проводиться швидке очищення коду: middleware переноситься в окремий namespace AI/middleware. Потім пишуться тести, які перевіряють, що агент отримує коректні промпти, обробляє контекст розмови та повертає детерміновані відповіді.

Запобігання випадковим викликам

Використовується метод preventStrayPrompts, щоб виявляти випадкові AI-виклики у потоках, які не повинні активувати агента взагалі, наприклад при створенні тікета. Це гарантує, що AI спрацьовує лише там, де це передбачено архітектурою.

Тестування черг та інструментів

Черговані промпти теж потрапляють під тестування. Перевіряється, що TicketClassifier додається до черги при валідному поданні та не потрапляє туди при невалідному. Кастомні інструменти тестуються безпосередньо на реальних записах бази даних.

Під час запису один із тестів виявляє помилку у фабриці, яку автор виправляє в реальному часі. Саме такі баги тести і повинні ловити.

Feature-тестування та векторні сховища

Чат-ендпоінт проходить feature-тестування на автентифікацію, валідацію та коректну взаємодію з агентом. Потім тестується налаштування векторного сховища та заповнення бази знань шляхом фейкування створення store, завантаження документів та генерації embeddings.

Результати

Наприкінці всі 12 AI-тестів проходять успішно, виконуються швидко і ніколи не торкаються зовнішнього API. Їх можна запускати на кожному коміті без турбот про вартість чи нестабільність результатів.

Що далі

Наступний епізод присвячений безпеці. Агент захищається від prompt injection та інших атак, включаючи перевірку кожного повідомлення локальною LLM ще до того, як воно потрапить до OpenAI. Заблоковані повідомлення не коштують жодного центу на API-викликах.

Відеотуторіал епізоду доступний на YouTube та триває 15 хвилин. Код проєкту опублікований на GitHub.

5

Читати в документації

Коментарі

Увійдіть, щоб залишити коментар

Будьте першим, хто залишить коментар!

Читайте також

Filament v5.10.0
Новини 12 жовтня 2026

Filament v5.10.0: сітка в rich editor, скелетони таблиць і десятки виправлень

Вийшов Filament v5.10.0: елементи керування сіткою в rich editor, допоміжний контент для віджетів-графіків, скелетони завантаження таблиць, submitOnCompletion() для OneTimeCodeInput та багато виправлень авторизації, доступності й стану.

15
Laravel AI SDK на практиці
Новини 09 жовтня 2026

Laravel AI SDK на практиці: агент, що стоїть за There There

Фрік Ван дер Гертен розповідає, як у Spatie побудували AI-шар хелпдеска There There на Laravel AI SDK: клас агента, інструменти з типізованою JSON-схемою та делегування роботи звичайним domain-діям.

11

Вакансії за темою

Backend Developer Middle

Розробник backend для web і мобільних застосунків. Основний стек: PHP, Laravel, WordPress. Очікується досвід роботи з REST API, базами даних (MySQL, PostgreSQL, MS SQL), інтеграціями зовнішніх сервісів, написанням тестів. Вимагається практичний досвід Laravel та впевнене знання PHP, ООП, SOLID, Git, Linux. Робота з командою над різноплановими проєктами.

GGLUXOUTLET
9 днів тому

Senior+/Tech Lead Full-Stack WordPress Developer / Code Architect

Досвідчений Senior+/Tech Lead Full-Stack WordPress розробник для проєктування та розробки високонавантажених e-commerce рішень. Потрібні глибокі знання WordPress Core, WooCommerce, PHP 8.1+ з SOLID/ООП, React/Next.js для фронтенду, Python для автоматизації, DevOps (VPS, Docker, CI/CD) та AI-інтеграцій. Роль включає архітектуру, код-рев'ю, менторство і комунікацію з бізнесом. Мінімум 7 років досвіду, з них 3+ на WordPress/WooCommerce у високонавантажених проєктах.

Rank Explore
18 днів тому

Full-Stack Engineer (PHP)

Full-Stack розробник на PHP для роботи з Laravel та WordPress у повному циклі (архітектура, розробка, продакшен). Основні завдання: розробка та підтримка додатків на Laravel, теми й плагіни WordPress, фонова обробка даних (черги, воркери, кешування), інтеграція зовнішніх сервісів, дебаґінг продакшену. Вимоги: 5+ років комерційної розробки, PHP 8+, Laravel, WordPress, MySQL, системний дизайн, Redis, REST API, тестування.

Пакети за темою

Pest

pestphp/pest

Тестовий фреймворк з лаконічним синтаксисом поверх PHPUnit: тести описуються функціями замість класів. Має паралельний запуск, тести архітектури, покриття і мутаційне тестування.

11,667 v5.1.1 3

Docudoodle

genericmilk/docudoodle

Генерування документації для вашого Laravel-додатку за допомогою OpenAI.

162 2.3.0 13 8