▶️ Дивитися відеоурок (10 хвилин)
На етапі розробки платформа підтримки працює ідеально. Але в реальних умовах усе інакше: о другій ночі в OpenAI стається збій, і кожен клієнт бачить помилку. Сотні людей одночасно пишуть у чат, запити накопичуються, а через три тижні ви вже не можете з'ясувати, чому AI відповів некоректно. Цей епізод присвячений інфраструктурі, яка допомагає впоратися з такими викликами.
Ми почнемо з найвідповідальнішого — provider failover. Зараз агент прив’язаний до одного провайдера, але я покажу, як передати масив даних, щоб у разі збою OpenAI SDK автоматично перемикався на Anthropic або Gemini. Той самий агент, ті ж інструменти та інструкції — змінюється лише провайдер «під капотом», непомітно для користувача. Спершу ми налаштуємо це безпосередньо у call site, а потім винесемо в config, щоб змінювати ланцюжок failover без правки коду. Також додамо обробник для події AgentFailedOver, щоб ви миттєво отримували сповіщення про збої провайдерів.
Далі розберемо черги (queues). Не кожен AI-виклик має затримувати відповідь користувачу. Я візьму TicketClassifier з другого епізоду та заміню prompt на queue — так класифікація звернень працюватиме у фоновому режимі через Laravel queue system. Клієнт миттєво отримує підтвердження, а AI виконує свою роботу в бекграунді, зберігаючи механізм failover.
Потім перейдемо до middleware. SDK дозволяє перехоплювати кожен prompt і відповідь за аналогією з HTTP middleware. Ми створимо три таких інструменти: перший для логування кожного prompt разом із метаданими (провайдер, тривалість, token counts); другий для обмеження частоти запитів (rate limiting) до 10 на хвилину для кожного користувача; третій для відстеження витрат на основі кількості токенів. Ми підключимо їх у чіткій послідовності, адже rate limiting має спрацьовувати до того, як система витратить ресурси на логування запиту, який все одно буде відхилено.
У результаті ваш агент зможе пережити збої провайдерів, ефективно працювати у фоні та надавати всі дані для дебагу та бюджетування.
У наступному епізоді ми протестуємо всю систему за допомогою Pest: навчимося імітувати агентів, перевіряти prompts та тестувати інструменти. Тепер ніщо не зламається, навіть якщо ви випустите реліз у п'ятницю ввечері.