Архитектура одного агента

Референсная архитектура
внутреннее устройство · ReAct loop · tools · memory · guardrails
I/O · ядро
рассуждение
память · контекст
инструменты
guardrails
observability
🤖 Агент
вход
📥
Задача + контекст
Запрос от оркестратора · событие из шины · триггер от HiL
Формат: task_id, goal, constraints, caller, trace_id
контекст
🧠
Память
Short-term: Redis checkpointer, история шагов
Long-term: pgvector, прошлый опыт, RAG
📋
Контекст
System prompt · роль · цели
few-shot примеры · доступные tools · схемы
ядро
⚙️ Reasoning loop (ReAct)
🗺️
Plan
Декомпозиция
задачи (LLM)
💭
Think
Следующий шаг
(LLM reasoning)
Act
Вызов tool
(function call)
👁️
Observe
Анализ
результата tool
цикл повторяется пока агент не решит что готов ответить
tools
🔍
RAG retrieval
🔌
API систем
🧮
Solver
💻
Code / SQL
👥
Другой агент
🌐
Web / search
контроль
🛡️
Guardrails
OPA авторизация · NeMo content safety
Pydantic schema validation · rate limits
выход
📤
Ответ
Структурированный JSON по Pydantic-схеме
+ confidence · reasoning trace
📊
Observability
Langfuse traces · RAGAS eval
latency · cost · quality
Stateful
Помнит предыдущие шаги через state-граф (LangGraph) и Redis checkpointer
Tool-use
Не пишет логику сам — вызывает tools через function calling / MCP
Bounded
Tool binding ограничивает набор действий — агент физически не может выйти
Observable
Каждый шаг логируется в Langfuse для аудита, дебага и eval
Interruptible
Можно остановить на любом шаге для HiL-апрува через interrupt()