Serverless для AI-агентов: что ломается после прототипа
Прототип AI-агента собрать легко, но продакшен-нагрузка вскрывает проблемы с таймаутами, инструментами, секретами, повторами, наблюдаемостью и фоновым выполнением.
Первая версия AI-агента обычно проста. Вы пишете промпт, подключаете модель, добавляете один-два инструмента и запускаете всё локально. Агент умеет отвечать на вопросы, вызывать API или обрабатывать документ. Кажется, что самое сложное позади.
Потом приходят требования продакшена.
Агент должен запускаться по расписанию. Должен обрабатывать вебхуки. Должен безопасно работать с секретами. Должен справляться с повторами. Не должен блокировать запрос на несколько минут. Должен выставлять инструменты как защищённые эндпоинты. Должен вести логи, чтобы вы могли отлаживать сбои. Должен работать не только на вашем ноутбуке.
Именно тогда ломаются многие прототипы AI-агентов.
Архитектура прототипа обычно слишком линейна
Прототип часто выглядит так:
request → model call → tool call → another model call → response
Для демо это нормально. Но реальные нагрузки агентов редко бывают такими чистыми.
Продакшен-агенту может потребоваться:
- вызывать несколько API;
- ждать медленные внешние сервисы;
- обрабатывать большие файлы;
- повторять упавшие шаги;
- сохранять промежуточные результаты;
- выполняться асинхронно;
- уведомлять пользователя позже;
- держать чувствительные ключи вне клиента;
- выставлять стабильный эндпоинт для инструментов или вебхуков.
Как только появляются эти требования, одна функция «запрос-ответ» становится хрупкой.
Проблема 1: таймауты
AI-нагрузки непредсказуемы. Вызов модели может вернуться быстро, а может медленно. Инструмент может зависеть от стороннего API. Задача по обработке документа может занять секунды или минуты. Веб-скрейпер может задержаться из-за состояния сети.
Традиционные обработчики запросов не всегда хорошо подходят для такой работы. Если у платформы жёсткие лимиты на время выполнения, агент может упасть посреди рабочего процесса.
Лучший паттерн — отделить немедленный ответ API от долгой работы:
API request → validate → start background job → return job ID
background job → run agent workflow → store result → notify user
Это делает систему надёжнее и проще для наблюдения.
Проблема 2: безопасность инструментов
Инструменты агента мощны. Инструмент может создать счёт, отправить письмо, обновить базу данных или вызвать внутренний API.
У модели не должно быть неограниченного доступа к этим операциям. Каждый инструмент должен быть функцией бэкенда с чёткими границами.
Хорошая функция-инструмент проверяет:
- кто её вызывает;
- какая операция запрошена;
- есть ли обязательные поля;
- разрешено ли это действие;
- сколько данных нужно вернуть модели.
Без этой границы агент может превратиться из инструмента продуктивности в проблему безопасности.
Проблема 3: управление секретами
AI-агенты часто используют множество внешних сервисов: провайдеров моделей, CRM, биллинговые API, инструменты уведомлений, базы данных, поисковые индексы и внутренние системы.
Эти учётные данные не должны находиться во фронтенд-коде или в промптах. Им нужны переменные окружения или слой секретов. Их также нужно аккуратно ограничивать по области видимости. Инструмент суммирования не должен автоматически иметь доступ к биллинговым учётным данным.
В продакшене секреты — это не про удобство. Это часть модели безопасности агента.
Проблема 4: наблюдаемость
Когда агент даёт плохой ответ, нужно понимать почему.
Промпт был неправильным? Retrieval вернул плохой контекст? Инструмент упал? Внешний API вернул пустой ответ? Агент пропустил шаг? Повтор продублировал действие?
Логи полезны, но многошаговым AI-процессам часто нужно больше структуры:
step 1: validate input
step 2: retrieve context
step 3: call model
step 4: call tool
step 5: store result
step 6: notify user
Если у каждого шага есть логи, длительность, метаданные ввода и статус, отладка становится возможной.
Проблема 5: агенты по расписанию
Многие полезные агенты запускаются не из чата. Они работают автоматически.
Примеры:
- проверять страницы конкурентов каждое утро;
- суммировать GitHub issues каждый час;
- отслеживать неудавшиеся платежи;
- сканировать новые лиды и обогащать их;
- генерировать еженедельные SEO-отчёты;
- синхронизировать данные между двумя системами.
Значит, инфраструктуре агента нужно планирование по расписанию. Платформы, которая обрабатывает только входящие HTTP-запросы, недостаточно.
Проблема 6: вебхуки
Вебхуки — ещё один частый триггер для агентов. Новое событие Stripe, GitHub issue, команда Slack или обновление в CRM могут запустить AI-процесс.
Системы вебхуков обычно ждут быстрого подтверждения. Значит, обработчик должен проверить событие, сохранить его, быстро вернуть ответ и продолжить работу асинхронно.
Агент, управляемый вебхуками, не должен держать запрос провайдера открытым, пока выполняется долгий LLM-пайплайн.
Более удачный паттерн для продакшена
Более надёжная архитектура выглядит так:
API Gateway / webhook route
→ validate event
→ start job or pipeline
→ run AI/tool steps
→ store result
→ expose status endpoint or send notification
→ keep logs and traces
Это отделяет публичные точки входа от долгой обработки. А ещё даёт лучшую отладку и более безопасные повторы.
Где здесь Inquir Compute
Inquir Compute построен вокруг примитивов бэкенда, которые нужны нагрузкам агентов:
- API-маршруты для инструментов и вебхуков;
- задачи по расписанию для периодических агентов;
- фоновое выполнение для медленных процессов;
- изолированные контейнеры для функций;
- переменные окружения для учётных данных;
- логи и трейсы для отладки;
- деплой из браузера для быстрых итераций.
Цель не в том, чтобы заменить фреймворк для моделей. Вы по-прежнему можете использовать LangChain, собственные вызовы SDK или обычные HTTP-запросы. Цель — дать агенту надёжный runtime вокруг этих вызовов.
Когда достаточно простого serverless
Если ваш агент обрабатывает только быстрые запросы и ему не нужны расписания, вебхуки, долгая работа или приватные инструменты, простой платформы функций может быть достаточно.
Но если агент становится частью вашего бэкенда, одной функции мало. Нужны маршруты, задачи, логи, секреты, расписания и изоляция.
Заключение
Прототипы AI-агентов проваливаются в продакшене, когда к ним относятся как к промптам, а не как к системам.
Модель — лишь одна часть. Остальное — это инженерия бэкенда: защищённые инструменты, фоновые задачи, расписания, наблюдаемость, повторы и деплой.
Serverless может отлично подойти для AI-агентов, но только если платформа поддерживает реальную нагрузку вокруг модели.