Inquir Compute · agentic-воркфлоу

Бэкенд agentic-воркфлоу для многошаговых AI-агентов

Agentic-воркфлоу нужен надёжный бэкенд: каждый шаг работает как изолированная serverless-функция, вызовы инструментов идут через маршруты шлюза с авторизацией, а долгая или нестабильная работа — в очереди durable-задач: автоматические ретраи с экспоненциальным backoff, dead-letter при повторных сбоях и прогоны, переживающие рестарты. Трассы по шагам показывают вход, выход и число ретраев на каждый ход модели.

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

Суть ответа

Бэкенд agentic-воркфлоу для многошаговых AI-агентов. Каждый шаг воркфлоу — serverless-функция: plan, call-tool, validate, notify, approve. Очередь durable-задач связывает шаги с автоматическими ретраями, backoff и dead-letter — упавший шаг обогащения повторяется без перезапуска шага планирования модели.

Когда подходит

  • Многошаговые агенты, которые вызывают инструменты, проверяют результаты и уведомляют людей
  • Воркфлоу, которым нужны надёжное состояние, ретраи на шаг или шлюзы подтверждения

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

  • Конечные автоматы в памяти теряют прогресс при рестарте. Нет надёжного чекпоинта между вызовами инструментов, нет аудита для compliance и нет паузы на подтверждение человеком без самописной обвязки.
  • Прямые вызовы инструментов из оркестратора связывают трафик модели с учётками базы и ключами сторонних API в одном рантайме — сложнее ограничивать права и ротировать секреты.

Почему agentic-воркфлоу нужен отдельный бэкенд

Один цикл LLM с вызовами инструментов внутри работает в демо. В проде agentic-воркфлоу длятся минуты или часы: исследовать, действовать, проверить, эскалировать, уведомить. Когда падает четвёртый шаг, нужно повторить только его — а не переигрывать весь диалог с начала.

Без настоящего бэкенда логика оркестрации, выполнение инструментов и побочные эффекты делят один процесс. Один плохой деплой или утечка памяти кладёт все воркфлоу агента разом.

Где ломается лёгкая оркестрация агентов

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

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

Serverless-функции и пайплайны как agentic-слой

Каждый шаг воркфлоу — serverless-функция: plan, call-tool, validate, notify, approve. Очередь durable-задач связывает шаги с автоматическими ретраями, backoff и dead-letter — упавший шаг обогащения повторяется без перезапуска шага планирования модели.

Вызовы инструментов идут через маршруты шлюза с авторизацией и секретами на инструмент. Оркестратор видит структурированный JSON; платформа берёт на себя изоляцию, тёплые пулы для часто вызываемых инструментов и историю выполнения по шагам.

Паттерны бэкенда agentic-воркфлоу

Надёжные многошаговые прогоны

Долгие шаги выполняются в очереди durable-задач: автоматические ретраи с экспоненциальным backoff, dead-letter после повторных сбоев и подбор зависших задач по visibility timeout, так что прогоны переживают рестарт воркера. Упавший шаг повторяется без перезапуска завершённых.

Инструменты как функции за шлюзом

Каждый инструмент — HTTP-эндпоинт с авторизацией, в изолированном контейнере и с ограниченными секретами, а не код внутри оркестратора.

Шлюзы подтверждения человеком

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

Ветвление и fan-out

Направляйте прогон в разные шаги по выходу инструмента, уровню уверенности или проверкам политик — без вложенных if/else в одном монолите.

Как собрать бэкенд agentic-воркфлоу на Inquir

Разделите оркестрацию и выполнение: модель планирует, функции за шлюзом выполняют инструменты, а очередь durable-задач несёт долгую работу с ретраями.

1

Определить шаги воркфлоу

Сопоставьте каждое действие агента с функцией или шагом пайплайна: plan, tool-call, validate, notify, approve.

2

Подключить инструменты к маршрутам шлюза

Задеплойте по функции на инструмент с авторизацией по API-ключу и секретами воркспейса. Возвращайте структурированный JSON, который оркестратор передаёт модели.

3

Связать шаги в пайплайн

Используйте пайплайны для надёжных прогонов: ретраи на шаг, ветвление по выходу инструмента, ожидание подтверждения человеком и полная история выполнения.

Многошаговый воркфлоу агента как пайплайн

Многошаговый воркфлоу агента — это пайплайн: каждый шаг — изолированная функция, встроенная в граф, со своей политикой ретраев и своей сохранённой записью прогона. Узел humanGate ставит прогон на паузу до подтверждения и возобновляет его, когда кто-то примет решение; нестабильные шаги повторяются с backoff без перезапуска завершённых, а весь прогон — входы, выходы, число ретраев и текущее положение — доступен в истории выполнения.

pipelines/research-agent.json (граф пайплайна)
{
  "schemaVersion": 1,
  "nodes": [
    { "id": "in",      "kind": "httpTrigger", "name": "Start research", "config": { "method": "POST" } },
    { "id": "search",  "kind": "lambda", "name": "Search docs",
      "config": { "functionId": "search-docs",
                  "inputMapping": { "query": "{{trigger.body.query}}" },
                  "retryPolicy": { "maxAttempts": 3, "backoffMs": 1000, "strategy": "exponential" } } },
    { "id": "draft",   "kind": "lambda", "name": "Generate draft",
      "config": { "functionId": "generate-draft",
                  "inputMapping": { "results": "{{steps.search.output.results}}" } } },
    { "id": "approve", "kind": "humanGate", "name": "Approve publish",
      "config": { "mode": "approve", "promptTemplate": "Publish the draft for {{trigger.body.query}}?" } },
    { "id": "publish", "kind": "lambda", "name": "Publish result", "config": { "functionId": "publish-result" } },
    { "id": "reject",  "kind": "lambda", "name": "Notify rejected", "config": { "functionId": "notify-rejected" } }
  ],
  "edges": [
    { "id": "e1", "sourceNodeId": "in",      "targetNodeId": "search" },
    { "id": "e2", "sourceNodeId": "search",  "targetNodeId": "draft",   "sourceHandle": "success" },
    { "id": "e3", "sourceNodeId": "draft",   "targetNodeId": "approve", "sourceHandle": "success" },
    { "id": "e4", "sourceNodeId": "approve", "targetNodeId": "publish", "sourceHandle": "approve" },
    { "id": "e5", "sourceNodeId": "approve", "targetNodeId": "reject",  "sourceHandle": "reject" }
  ]
}
functions/search-docs.mjs (функция шага пайплайна)
export async function handler(event) {
  // API key auth enforced at the gateway route before this code runs
  const { query } = JSON.parse(event.body || '{}');
  const results = await searchInternalDocs(query); // DB_URL from workspace secrets
  return { statusCode: 200, body: JSON.stringify({ results, count: results.length }) };
}
запуск прогона (через маршрут httpTrigger пайплайна)
# The httpTrigger node exposes the pipeline on a gateway route.
# POST a query to start a run; it flows search -> draft -> approval.
curl -X POST https://<your-app>/api/research-agent \
  -H "X-Api-Key: $INQUIR_API_KEY" \
  -d '{"query":"Q3 pricing changes"}'
# -> { "runId": "...", "status": "RUNNING" }
# The run pauses at the humanGate until someone approves or rejects;
# each step's input, output, and retry count is in the execution history.

Кому подходит бэкенд agentic-воркфлоу

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

  • Многошаговые агенты, которые вызывают инструменты, проверяют результаты и уведомляют людей
  • Воркфлоу, которым нужны надёжное состояние, ретраи на шаг или шлюзы подтверждения

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

  • Одноходовый чат с одним вызовом инструмента и без побочных эффектов

Частые вопросы

Чем это отличается от бэкенда для вызова инструментов?

Вызов инструментов — это отдельные HTTP-эндпоинты на инструмент. Бэкенд agentic-воркфлоу добавляет многошаговый слой: цепочки шагов в очереди durable-задач, ветвление, ожидание подтверждения человеком, автоматические ретраи и историю выполнения по шагам через все ходы модели.

Можно ли использовать LangGraph или CrewAI с Inquir?

Да. Оставьте свой фреймворк оркестрации; направьте вызовы инструментов на маршруты шлюза Inquir, а долгие или повторяемые шаги вынесите в очередь durable-задач.

Что происходит, когда шаг пайплайна падает?

Шаг повторяется по политике пайплайна. Завершённые шаги не перезапускаются. История выполнения показывает, какой шаг упал, сколько было ретраев и текст ошибки.