Перейти к основному содержимому
Стек агентов

Стек агентов — Как я создаю агентов

Мой субъективный ответ на вопрос, который разработчики задают мне чаще всего. Это живой документ — я обновляю его по мере развития области. У каждого выбора есть мнение в одну строку, и эти мнения — суть.

01

Orchestration

framework

LangGraph

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

мнениеЯвные графы лучше неявных цепочек; когда у вашего агента есть реальный поток управления, моделируйте его как граф, а не как промпт.

надёжные рабочие процессы

Temporal

Надёжное, возобновляемое выполнение рабочих процессов для длительных задач агентов.

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

вычисления и обслуживание

Ray

Распределённые вычисления и обслуживание для параллельного выполнения агентов.

мнениеПараллельное выполнение в масштабе роя — это в первую очередь задача о вычислениях; обратитесь к Ray прежде, чем к большей изобретательности.

runtime

K8s / Fly.io

Запуск агентов там, где они могут масштабироваться и чисто завершаться.

мнениеЗапускайте агентов там, где они могут масштабироваться и чисто завершаться; оркестрация, которая не может перезапустить воркер, — это не продакшен.

02

Использование инструментов и вызов функций

contract

Вызов функций/инструментов + структурированные выходные данные (JSON-схема)

Типизированные сигнатуры инструментов с выводами, принудительно проверяемыми по JSON-схеме.

мнениеДайте модели контракт, а не прозу; надёжность всего агента ограничена надёжностью сигнатур его инструментов.

environment

First-class action API

API макросов и действий для среды, в которой действует агент (паттерн из работы агентов на основе зрения).

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

protocol

MCP — Model Context Protocol

Стандартизированная шина, соединяющая модели с инструментами и источниками данных.

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

03

Память и контекст

context

Краткосрочный контекст + векторный поиск (RAG)

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

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

memory

Scratchpad и рабочая память

Структурированное промежуточное состояние для многошагового планирования и результатов вызова инструментов.

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

04

Оценка и observability

verifier

Верификаторы, привязанные к среде

Песочницы, симуляторы и игры, которые оценивают агента в том мире, где он действует.

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

judge

LLM-as-judge (умеренно, с аудитом)

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

мнениеСудьи — это базовые ориентиры, а не истина; перепроверяйте их детерминированными проверками.

debuggability

Таксономии отказов + собственный бенчмарк

Классифицированный каталог сбоев (неверная команда, пропущенный шаг, логическая ошибка) и поддерживаемый вами бенчмарк.

мнениеОпишите свои режимы отказа в виде таксономии — именно так сложные баги становятся отлаживаемыми, и так вы учитесь на каждом из них. Воспроизводимый отказ — это результат исследования.

cost

Cost/latency budgets as first-class metrics

Отслеживайте затраты и задержку на каждый запуск, как любую другую метрику.

мнениеРабочий прогон при разумной стоимости лучше более красивого в десять раз дороже.

observability

Трассировки (OpenTelemetry / в стиле LangSmith)

Трассировки на уровне шагов и воспроизведение полных прогонов агента.

мнениеНельзя настроить то, что нельзя воспроизвести; трассировки — это бортовой самописец агента.

operate

Дашборды по success-rate, стоимости, latency, распределению сбоев

Дашборды в стиле SLO для здоровья агентов.

мнениеЗапускайте это как SLO, иначе вы запускаете это как демо. Уверенность живёт в транскриптах, а не в сводке.

05

Deployment

packaging

Контейнеры + неизменяемые деплои

Поставляйте агентов как контейнеры с версионированными, воспроизводимыми артефактами.

мнениеЕсли вы не можете дважды воспроизвести результат из одного и того же артефакта, у вас не деплой — вы гадаете.

release

CI/CD с eval-гейтами

Запускает набор оценок агента перед продвижением новой версии в продакшен.

мнениеОбновление модели — это риск регрессии, а не фича; пропускайте каждый релиз через набор eval, а не через интуицию.

scaling

Управляемая 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.

Когда стоит использовать агентов, а когда — один вызов модели?+

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

Давайте поговорим!