Гибридный стек и трезвый взгляд на агентные системы
Предыдущие два поста подводят к центральному архитектурному принципу: агентная система должна состоять из двух чётко разделённых слоёв.
Первый — детерминированный скелет. Это код, базы данных, REST/GraphQL API, очереди сообщений, workflow-движки. Всё, что можно протестировать, верифицировать и гарантировать. Второй — недетерминированный мозг. LLM и промпты. Вся вариативность, которую мы допускаем, должна быть ограничена этим слоем, а его выходы обязаны проходить через жёсткие валидационные ворота обратно в скелет.
MCP и A2A в этом стеке — адаптеры, а не замена существующей инфраструктуры. За каждым MCP-сервером стоит проверенный API с контрактом. Агент получает доступ к инструментам, но не подменяет их собой. Ровно так же A2A (Agent-to-Agent) стандартизирует взаимодействие между агентами, но не отменяет необходимости в классических протоколах передачи данных.
Отдельное требование — observability как first-class citizen. К классическому distributed tracing добавляются LLM-специфичные метрики: токсичность, галлюцинации, стоимость задачи, количество вызовов инструментов. Принципиально важно отвечать не только на вопрос «что произошло», но и «почему агент принял такое решение». Без этого инженерная команда остаётся слепа.
HITL в критических точках и Event Sourcing для аудита решений — не опциональные украшения, а страховочные механизмы. Агент может предлагать действие, но не выполнять его без подтверждения, а каждое его решение должно быть сохранено как событие для последующего анализа и, при необходимости, отката.
Итог не новый, но отрезвляющий. Мы знаем, что агентные системы нестабильны, что промпты плывут, MCP-серверы падают, а оркестрация может превратиться в хаос. Однако мы знаем, как это исправить — не магией, а инженерной дисциплиной. Разделение скелета и мозга, валидация выходов, observability, контроль человека, событийный аудит. Это не хайп, это эволюционное расширение проверенных архитектурных паттернов. И именно в этом — зрелость AI-инжиниринга.
Предыдущие два поста подводят к центральному архитектурному принципу: агентная система должна состоять из двух чётко разделённых слоёв.
Первый — детерминированный скелет. Это код, базы данных, REST/GraphQL API, очереди сообщений, workflow-движки. Всё, что можно протестировать, верифицировать и гарантировать. Второй — недетерминированный мозг. LLM и промпты. Вся вариативность, которую мы допускаем, должна быть ограничена этим слоем, а его выходы обязаны проходить через жёсткие валидационные ворота обратно в скелет.
MCP и A2A в этом стеке — адаптеры, а не замена существующей инфраструктуры. За каждым MCP-сервером стоит проверенный API с контрактом. Агент получает доступ к инструментам, но не подменяет их собой. Ровно так же A2A (Agent-to-Agent) стандартизирует взаимодействие между агентами, но не отменяет необходимости в классических протоколах передачи данных.
Отдельное требование — observability как first-class citizen. К классическому distributed tracing добавляются LLM-специфичные метрики: токсичность, галлюцинации, стоимость задачи, количество вызовов инструментов. Принципиально важно отвечать не только на вопрос «что произошло», но и «почему агент принял такое решение». Без этого инженерная команда остаётся слепа.
HITL в критических точках и Event Sourcing для аудита решений — не опциональные украшения, а страховочные механизмы. Агент может предлагать действие, но не выполнять его без подтверждения, а каждое его решение должно быть сохранено как событие для последующего анализа и, при необходимости, отката.
Итог не новый, но отрезвляющий. Мы знаем, что агентные системы нестабильны, что промпты плывут, MCP-серверы падают, а оркестрация может превратиться в хаос. Однако мы знаем, как это исправить — не магией, а инженерной дисциплиной. Разделение скелета и мозга, валидация выходов, observability, контроль человека, событийный аудит. Это не хайп, это эволюционное расширение проверенных архитектурных паттернов. И именно в этом — зрелость AI-инжиниринга.