Inquir Compute · агенты

Serverless для AI-агентов

AI-агентам в проде нужно больше, чем цикл модели: вызовы инструментов ходят в приватные системы, вебхуки и фоновые шаги не укладываются в один HTTP-ответ, а секреты не должны ездить в промпте. Inquir даёт serverless-бэкенд для AI-агентов: каждый инструмент — своя функция за единым шлюзом, auth на уровне маршрута (API-ключ или bearer), секреты в переменных окружения вне контекста модели, пайплайны для async-шагов и изолированные контейнеры Node.js 22, Python 3.12 или Go 1.22.

Обновлено: 2026-06-28

Суть ответа

Serverless для AI-агентов. Каждый инструмент — функция с настоящим HTTP-контрактом на шлюзе в своём контейнере: тяжёлые или чужие зависимости не делят память с другими фичами. У каждой функции свои переменные окружения и бюджет памяти (256MB по умолчанию, можно поднять).

Когда подходит и когда нет

  • Инструменты ходят в приватные системы — базы данных или внутренние API.
  • Инструменты с побочными эффектами, которые нужно закрывать auth и трассировать.
  • Инструментам нужны ретраи, логи и запись каждого вызова.

На что обратить внимание

  • Ноутбуки и разовые скрипты редко дают стабильный способ публиковать версии, структурированные логи и ту же модель секретов, что у остального API.
  • Универсальный cron на виртуалке может дернуть скрипт, но упаковка, откат и изоляция между «безобидной уборкой» и «деньгами клиента» остаются на вас.

Почему AI-агентам нужен serverless-бэкенд

В демо весь агент часто сидит в одном процессе. В проде нужен serverless-слой с аутентифицированными вызовами инструментов, лимитами, секретами вне контекста модели и ясной историей: какой шаг упал и что нельзя запускать дальше.

Сваливать все побочные эффекты в один синхронный раунд с моделью долго не получается. Небольшие функции с явными входами и выходами проще тестировать, повторять при сбое и объяснять службе безопасности.

Где ломаются «быстрые» стеки для AI-агентов

Ноутбуки и разовые скрипты редко дают стабильный способ публиковать версии, структурированные логи и ту же модель секретов, что у остального API.

Универсальный cron на виртуалке может дернуть скрипт, но упаковка, откат и изоляция между «безобидной уборкой» и «деньгами клиента» остаются на вас.

Что даёт Inquir для serverless AI-агентов

Каждый инструмент — функция с настоящим HTTP-контрактом на шлюзе в своём контейнере: тяжёлые или чужие зависимости не делят память с другими фичами. У каждой функции свои переменные окружения и бюджет памяти (256MB по умолчанию, можно поднять).

Тёплые пулы (от 1 до 8 контейнеров на функцию) держат низкую задержку, когда модель часто вызывает инструменты подряд; пайплайны принимают работу, которая не укладывается в таймаут функции (5с по умолчанию, максимум 15 минут).

Типовые паттерны бэкенда AI-агента

Инструментальный бэкенд

Модель вызывает небольшие аутентифицированные HTTP-функции: /search-customer, /create-invoice, /check-inventory. Одна функция на инструмент — зависимости изолированы, деплой безопасен.

Асинхронная задача агента

Модель сразу получает 200; пайплайн продолжает обогащение, валидацию или нотификации в фоне. Используйте, когда работа не укладывается в таймаут шлюза.

Агент по расписанию

Cron-триггер запускает агента каждый час или день для мониторинга изменений, суммаризации данных или синхронизации — без долгоживущего процесса.

Защита чувствительных действий

Изолируйте побочные эффекты — отправку писем, списание средств, изменение продакшн-данных — в отдельной функции с idempotency-ключами, чтобы повторный или переигранный job не списал и не отправил дважды.

Эталонная архитектура

Это эталонный паттерн для AI-агентов на serverless-бэкенде: инструменты остаются компактными и синхронными там, где можно, а пайплайны и задачи берут на себя ретраи, ветвления и долгую работу без блокировки модели.

1

Модель предлагает действие

Оркестратор сопоставляет действие с функцией и входными данными.

2

Функция с секретами

Среда подставляет переменные окружения и возвращает структурированный JSON вызывающему.

3

Продолжить или откатить

При сбое — повтор, ветка или очистка в фоне на тех же примитивах.

От архитектуры к шагам сборки

Начните с этой истории про serverless для агентов, затем откройте гайды по контрактам хендлеров, доступу к инструментам и эксплуатационным правилам.

Событие шлюза для инструмента агента

Шлюз отдаёт поля в духе AWS API Gateway: параметры запроса, путь, тело POST строкой. Возвращайте { statusCode, body } или голый JSON.

tools/search-customer.mjs
export async function handler(event) {
  const { q } = event.queryStringParameters ?? {};
  if (!q) return { statusCode: 400, body: JSON.stringify({ error: 'q required' }) };
  // API key auth is enforced at the gateway route — handler assumes authenticated caller
  const rows = await db.searchCustomers(q);
  return { statusCode: 200, body: JSON.stringify({ rows }) };
}

Когда этот паттерн уместен

Когда это уместно

  • Инструменты ходят в приватные системы — базы данных или внутренние API.
  • Инструменты с побочными эффектами, которые нужно закрывать auth и трассировать.
  • Инструментам нужны ретраи, логи и запись каждого вызова.

Когда лучше выбрать другое

  • Один вызов внешнего API без изоляции и расписаний.

Вопросы и ответы

Инструменты обязаны ходить по HTTP?

HTTP — простой контракт; в разработке оркестратор может вызывать их локально, в проде — удалённо.

Как обрабатываются секреты?

Привяжите секреты к рабочему пространству или функции в интерфейсе продукта — в рантайме они доступны как переменные окружения, поэтому API-ключам не место в промптах, клиентских бандлах и закоммиченных файлах.

Можно ли смешивать языки между инструментами?

Да. Разные функции могут работать на Node.js, Python или Go — в зависимости от поддержки нужных библиотек.

Что с долгими задачами?

Отвечайте из HTTP-хендлера инструмента быстро, а работу продолжайте пайплайном или фоновой задачей — путь пользователя остаётся отзывчивым, а ретраи предсказуемыми.

Нужен ли Kubernetes, чтобы гонять AI-агентов в проде?

Нет. Inquir запускает инструменты и воркфлоу как управляемые serverless-функции с маршрутизацией на шлюзе, контейнерами и наблюдаемостью — вы публикуете хендлеры и маршруты без кластера именно для этого паттерна.

Можно ли вызывать инструменты агента вообще без холодного старта?

Тёплые контейнеры снижают задержку при стабильном трафике к инструментам, но первый деплой или простой всё ещё могут дать «холодный» путь — закладывайте таймауты и пулы для самых критичных вызовов.