Стек агентной системы

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

Слои стека

СлойЧто решаетПримеры подходов
Model API / SDKответы модели, reasoning, structured output, tool callsSDK провайдера, Responses-подобный API
Оркестрацияциклы, routing, handoffs, retriesсобственный код, Agents SDK, LangGraph, CrewAI Flows
Сессии и stateсостояние run, checkpoints, возобновлениеБД приложения, state store фреймворка
Toolsпоиск, API, код, файлы, бизнес-действияhosted tools, function calling, MCP (Model Context Protocol)
Retrievalingestion, поиск, reranking, цитированиесобственный pipeline, LlamaIndex, Haystack
Runtimeизолированное исполнение кода и действийsandbox, контейнер, удалённый executor
Guardrailsправа, схемы, approvals, policy checksкод приложения, allowlists, валидаторы
Observabilitytraces, метрики, стоимость, датасетыOpenTelemetry-подобный tracing, eval-платформа
Интерфейспостановка задачи и подтвержденияCLI, IDE, web UI, мессенджер

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

Лестница выбора

  1. Один вызов SDK: для простого ответа или преобразования.
  2. Детерминированный workflow: если шаги заранее известны.
  3. Небольшой собственный tool loop: когда нужен динамический выбор действия.
  4. Фреймворк оркестрации: если нужны durable state, handoffs, параллелизм и визуализация сложного графа.
  5. Multi-agent: только после измеренного ограничения одноагентного решения.

Вопросы перед добавлением зависимости

  • Можно ли продолжить run после сбоя процесса?
  • Видны ли точные tool calls и результаты?
  • Можно ли ограничить инструменты и подтверждать side effects?
  • Поддерживаются ли таймауты, retries, отмена и idempotency?
  • Можно ли экспортировать состояние и traces?
  • Насколько тесно приложение связано с одним провайдером?
  • Как обновление библиотеки проверяется eval-набором?
  • Что произойдёт при недоступности внешнего сервиса?

Provider-native стек как один из вариантов

В provider-native стеке агентные сценарии строятся вокруг API и SDK одного поставщика. Например, OpenAI документирует Responses API и Agents SDK, а другие провайдеры предлагают собственные аналоги. Это реализации общих архитектурных слоёв, а не универсальный стандарт.

Связанные заметки

Источник