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

Архитектурные паттерны

Общие положения

Каждый агент обязательно содержит четыре компонента:

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

Ссылка на источник

LangChain ReAct Agent

💡 Базовая 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 на входе и выходе
  • Логирование всех действий
  • Ограничение прав доступа инструментов

Следующие шаги