Стек агентной системы
Фреймворк не создаёт надёжность автоматически. Сначала определи нужный цикл, состояние, права и проверки, затем выбирай минимальный стек, который это поддерживает.
Слои стека
| Слой | Что решает | Примеры подходов |
|---|---|---|
| Model API / SDK | ответы модели, reasoning, structured output, tool calls | SDK провайдера, 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) |
| Retrieval | ingestion, поиск, reranking, цитирование | собственный pipeline, LlamaIndex, Haystack |
| Runtime | изолированное исполнение кода и действий | sandbox, контейнер, удалённый executor |
| Guardrails | права, схемы, approvals, policy checks | код приложения, allowlists, валидаторы |
| Observability | traces, метрики, стоимость, датасеты | OpenTelemetry-подобный tracing, eval-платформа |
| Интерфейс | постановка задачи и подтверждения | CLI, IDE, web UI, мессенджер |
Названия продуктов быстро меняются. Сравнивай не маркетинговые списки функций, а способность реализовать твои требования.
Лестница выбора
- Один вызов SDK: для простого ответа или преобразования.
- Детерминированный workflow: если шаги заранее известны.
- Небольшой собственный tool loop: когда нужен динамический выбор действия.
- Фреймворк оркестрации: если нужны durable state, handoffs, параллелизм и визуализация сложного графа.
- Multi-agent: только после измеренного ограничения одноагентного решения.
Вопросы перед добавлением зависимости
- Можно ли продолжить run после сбоя процесса?
- Видны ли точные tool calls и результаты?
- Можно ли ограничить инструменты и подтверждать side effects?
- Поддерживаются ли таймауты, retries, отмена и idempotency?
- Можно ли экспортировать состояние и traces?
- Насколько тесно приложение связано с одним провайдером?
- Как обновление библиотеки проверяется eval-набором?
- Что произойдёт при недоступности внешнего сервиса?
Provider-native стек как один из вариантов
В provider-native стеке агентные сценарии строятся вокруг API и SDK одного поставщика. Например, OpenAI документирует Responses API и Agents SDK, а другие провайдеры предлагают собственные аналоги. Это реализации общих архитектурных слоёв, а не универсальный стандарт.
Связанные заметки
- _Frameworks Index
- Анатомия Агента
- Паттерны Агентного Дизайна
- Tool Use Function Calling
- Протоколы Автономности
- Наблюдаемость и оценка агентов