Архитектурные паттерны
Общие положения
Каждый агент обязательно содержит четыре компонента:
1. Input Handler (входной фильтр)
Что делает:
- PII-маскирование
- Нормализация
- Отсечение лишних полей
- Защита от prompt/SQL/code-инъекций
2. Аудит и журналирование
Что делает:
- End-to-end trace всех шагов (prompt → tool_call → output)
- Хранение для инцидент-менеджмента и регулятора
3. Guardrails (политики/безопасность)
Что делает:
- Стоп-правила
- Проверка на jailbreak/prompt-injection
- Блок опасных действий/данных до вызова инструментов и на выходе
4. Output Handler (выходной фильтр)
Что делает:
- Проверка на соответствие JSON Schema/Pydantic
- Модерация контента (PII/токсичность)
- Пост-форматирование (Markdown/HTML)
- Адаптация под канал
- Лог финального ответа (с trace_id)
Паттерн 1: ReAct (Reason ↔ Act ↔ Observe)
Идея
Итеративный цикл «подумал → вызвал инструмент → посмотрел результат», пока не получен ответ.
Сильные стороны
- ✅ Гибкость
- ✅ Снижение галлюцинаций за счёт проверки фактами
- ✅ Хорошо работает в диалогах
Ограничения
- ⚠️ Больше LLM-вызовов → латентность/стоимость
- ⚠️ Риск зацикливания без лимитов шагов
Когда применять
- Чат-боты
- Поиск/обогащение знаний
- «Тонкие» сценарии с множеством уточнений
Мини-схема
User → Agent Orchestrator → (Reason ↔ Action(tool) ↔ Observation)* → Output Handler → User
Ссылка на источник
💡 Базовая ReAct-архитектура универсальна и подходит для большинства ИИ-агентов.
Паттерн 2: Plan-and-Execute
Идея
Сначала подробный план, затем по шагам исполнение (часто с более лёгкими моделями/функциями).
Сильные стороны
- ✅ Детерминированность
- ✅ Меньше обращений к LLM на шаг
- ✅ Прозрачный контроль плана
Ограничения
- ⚠️ План может устаревать по ходу
- ⚠️ Нужен механизм re-plan при новых фактах
Когда применять
- Отчёты/пайплайны
- Андеррайтинг
- Многошаговые бизнес-процессы с заранее понятными этапами
Мини-схема
User → Planner → Executor → Output Handler (+ optional Re-plan) → User
Ссылка на источник
LangGraph Plan-and-Execute Tutorial
Паттерн 3: Multi-Agent Supervisor
Идея
Несколько специализированных агентов координируются супервизором (распределяет подзадачи, собирает ответ).
Сильные стороны
- ✅ Масштабируемость по ролям (аналитик, юрист, поиск)
- ✅ Повторное использование агентов
Ограничения
- ⚠️ Сложность синхронизации/общей памяти
- ⚠️ Рост стоимости и требований к observability
Когда применять
- Комплексные консультации
- «Команда разработчиков» из агентов
- Сложный андеррайтинг
Мини-схема
User → Supervisor → [Agent₁...Agentₙ] → Supervisor → Output Handler → User
💡 Примечание: Агенты могут выступать tools друг для друга через MCP/Tools.
Ссылка на источник
LangGraph Multi-Agent Supervisor Tutorial
Встраиваемые требования (для всех паттернов)
🔒 Лимиты цикла
max_steps— максимальное количество шаговmax_cost— максимальная стоимость операций- Таймауты
- Idempotency/retry для tool-calls
📊 Observability
- Trace промптов/версий
- Tool IO
- Guardrail decisions
- P95 latency
- Error/tool_error rate
🛡️ Безопасность
- RBAC/ABAC для инструментов
- PII-маскинг на входе/выходе
- Политика данных (retention)
✅ Eval
- Golden-set + human-eval
- Метрики: task_success, grounding, consistency
- Регресс-чек в CI
📝 Промпты
- Версия и хранение в репозитории
- Паттерны (Role, Goal, IO-schema, Constraints, Self-check)
Быстрый выбор паттерна (decision hints)
🤖 Диалог с поиском фактов / уточнения
→ ReAct
📋 Чёткая многошаговая процедура
→ Plan-and-Execute
👥 Нужны разные экспертизы / параллельная работа
→ Multi-Agent Supervisor
Визуализация паттернов
ReAct Pattern Flow
Plan-and-Execute Pattern Flow
Multi-Agent Supervisor Pattern Flow
Рекомендации по проектированию
🎯 Начните с простого
- Используйте ReAct для первых версий
- Добавляйте сложность только при необходимости
- Измеряйте эффективность на каждом этапе
📊 Метрики важнее архитектуры
- Сначала определите метрики успеха
- Затем выбирайте паттерн, который их обеспечивает
- Не переусложняйте без веских причин
🔄 Итеративная разработка
- Прототип → Тестирование → Оценка → Доработка
- Golden-set для регресс-тестирования
- Human-in-the-loop для критичных решений
🛡️ Безопасность с первого дня
- Guardrails на входе и выходе
- Логирование всех действий
- Ограничение прав доступа инструментов
Следующие шаги
- Управление жизненным циклом — от идеи до продакшна
- Безопасность и риски — защита и контроль
- Руководство для разработчиков — технические детали реализации