Стек агентов — Как я создаю агентов
Мой субъективный ответ на вопрос, который разработчики задают мне чаще всего. Это живой документ — я обновляю его по мере развития области. У каждого выбора есть мнение в одну строку, и эти мнения — суть.
Orchestration
LangGraph
Явный графовый поток управления для агентов с реальным ветвлением, циклами и состояниями.
мнениеЯвные графы лучше неявных цепочек; когда у вашего агента есть реальный поток управления, моделируйте его как граф, а не как промпт.
Temporal
Надёжное, возобновляемое выполнение рабочих процессов для длительных задач агентов.
мнениеРабота агентов — это работа распределённых систем; если шаг может упасть, сделайте workflow отказоустойчивым и возобновляемым.
Ray
Распределённые вычисления и обслуживание для параллельного выполнения агентов.
мнениеПараллельное выполнение в масштабе роя — это в первую очередь задача о вычислениях; обратитесь к Ray прежде, чем к большей изобретательности.
K8s / Fly.io
Запуск агентов там, где они могут масштабироваться и чисто завершаться.
мнениеЗапускайте агентов там, где они могут масштабироваться и чисто завершаться; оркестрация, которая не может перезапустить воркер, — это не продакшен.
Использование инструментов и вызов функций
Вызов функций/инструментов + структурированные выходные данные (JSON-схема)
Типизированные сигнатуры инструментов с выводами, принудительно проверяемыми по JSON-схеме.
мнениеДайте модели контракт, а не прозу; надёжность всего агента ограничена надёжностью сигнатур его инструментов.
First-class action API
API макросов и действий для среды, в которой действует агент (паттерн из работы агентов на основе зрения).
мнениеЧтобы действовать в мире, нужен первоклассный API действий — дайте агенту реальные ручки и верификатор в каждой предметной области.
MCP — Model Context Protocol
Стандартизированная шина, соединяющая модели с инструментами и источниками данных.
мнениеСтандартизируйте то, как модель взаимодействует с миром; общая шина инструментов лучше двадцати специализированных коннекторов.
Память и контекст
Краткосрочный контекст + векторный поиск (RAG)
Сохранение того, что агенту нужно знать между ходами, с извлечением из базы знаний.
мнениеСохраняйте то, что агенту нужно знать; агент без состояния — это цикл воспроизведения, а не работник.
Scratchpad и рабочая память
Структурированное промежуточное состояние для многошагового планирования и результатов вызова инструментов.
мнениеНе втискивайте всё в окно; держите рабочую память, которую агент осознанно читает и записывает.
Оценка и observability
Верификаторы, привязанные к среде
Песочницы, симуляторы и игры, которые оценивают агента в том мире, где он действует.
мнениеОценивайте агента в мире, в котором он действует, а не по ощущениям. Оценка — это задача среды, а не задача рубрики.
LLM-as-judge (умеренно, с аудитом)
Оценка на основе моделей, перепроверенная детерминированными проверками.
мнениеСудьи — это базовые ориентиры, а не истина; перепроверяйте их детерминированными проверками.
Таксономии отказов + собственный бенчмарк
Классифицированный каталог сбоев (неверная команда, пропущенный шаг, логическая ошибка) и поддерживаемый вами бенчмарк.
мнениеОпишите свои режимы отказа в виде таксономии — именно так сложные баги становятся отлаживаемыми, и так вы учитесь на каждом из них. Воспроизводимый отказ — это результат исследования.
Cost/latency budgets as first-class metrics
Отслеживайте затраты и задержку на каждый запуск, как любую другую метрику.
мнениеРабочий прогон при разумной стоимости лучше более красивого в десять раз дороже.
Трассировки (OpenTelemetry / в стиле LangSmith)
Трассировки на уровне шагов и воспроизведение полных прогонов агента.
мнениеНельзя настроить то, что нельзя воспроизвести; трассировки — это бортовой самописец агента.
Дашборды по success-rate, стоимости, latency, распределению сбоев
Дашборды в стиле SLO для здоровья агентов.
мнениеЗапускайте это как SLO, иначе вы запускаете это как демо. Уверенность живёт в транскриптах, а не в сводке.
Deployment
Контейнеры + неизменяемые деплои
Поставляйте агентов как контейнеры с версионированными, воспроизводимыми артефактами.
мнениеЕсли вы не можете дважды воспроизвести результат из одного и того же артефакта, у вас не деплой — вы гадаете.
CI/CD с eval-гейтами
Запускает набор оценок агента перед продвижением новой версии в продакшен.
мнениеОбновление модели — это риск регрессии, а не фича; пропускайте каждый релиз через набор eval, а не через интуицию.
Управляемая serverless / контейнерная среда выполнения
Масштабирование агентов до нуля и обратно без ручного сопровождения инфраструктуры.
мнениеАгенты по своей природе работают всплесками — разворачивайте их там, где они могут масштабироваться до нуля и быстро возвращаться.
Прямые ответы.
Что такое рой ИИ-агентов?+
An AI swarm is a coordinated system of multiple independent agents that share goals, decompose tasks, and negotiate solutions together. Unlike a single agent — one loop with one bottleneck and one point of failure — a swarm gets resilience and scale from redundancy and division of labor: parallel exploration, no single point of failure, and answers that emerge from collective reasoning rather than one model's guess. My thesis: intelligence emerges from structured interaction among many agents, not from a single bigger brain.
Как вы оцениваете мультиагентные системы?+
Evaluation is the bottleneck, not the model. I grade agents in the environment they act in — sandboxes, simulators, games — not against intuition. I use LLM-as-judge sparingly and audited, backed by deterministic checks; I ship failure taxonomies plus a benchmark I own; and I treat cost and latency as first-class metrics. A feedback loop is only as smart as its verifier.
Когда стоит использовать агентов, а когда — один вызов модели?+
Используйте один вызов модели для одноразовых преобразований без состояния, без инструментов и без чего-либо, что нужно проверять. Обращайтесь к агенту, когда задача требует многошагового планирования, вызовов инструментов во внешнем мире, памяти между ходами или верификации того, что работа действительно выполнена. И если у вас нет верификатора, пока не строьте агента.