Фреймворк OpenClaw в начале 2026 года набрал сотни тысяч звёзд на GitHub и закрепил шаблон современного ИИ-агента: локальный Gateway, фоновый процесс, система скиллов, интеграция с мессенджерами. В основе — ReAct-цикл (Reason + Act): модель рассуждает, вызывает инструмент, получает ответ, делает следующий шаг. Схема работает для простых задач, но разработчик, описавший свой эксперимент на Habr, зафиксировал четыре системных слома при масштабировании.

Первый — линейность ReAct. Столкнувшись с высокой неопределённостью, агент не умеет остановиться и признать незнание: он либо галлюцинирует, либо уходит в бесконечный цикл одних и тех же ошибок. Второй — архитектурный дрейф при делегировании: агенты передают друг другу сырые абзацы текста, на третьем-четвёртом шаге исходная цель искажается, а контекстное окно забивается промежуточными логами. Третий — смешанная память: если складывать факты, историю диалогов и куски кода в одну базу, поиск быстро начинает выдавать шум. Четвёртый — безопасность: бесконтрольный доступ агента к файловой системе и терминалу легко обходит запреты в системном промпте.

АгентРольКогда активируется
TriageRouterДиспетчер, входная точкаКаждый входящий запрос
FastResponderБыстрый ответ без планированияПростой вопрос (EXECUTE)
ClarificationУточняющие вопросы пользователюАбстрактный запрос (REFINE)
MemoryNode + KnowledgeProbeПоиск в памяти и оценка знанийСложная задача (EXPLORE/REASON)
ResearcherПоиск фактов, заполнение пробеловЭпистемический цикл
CoderНаписание и запуск скриптов-зондовТестирование гипотез
CriticАрбитраж логики, обнаружение противоречийПроверка ветки рассуждений
Memory MaintainerАрхивирование и сжатие памятиФоновый процесс
Terminal / Technical WriterФормирование итогового ответаКонечный узел графа

В ответ на эти ограничения автор построил систему на микросервисной архитектуре с оркестратором-графом. Ядро состоит из трёх компонентов. Реестр ролей и инструментов хранит декларативные конфиги агентов: системные инструкции, разрешённые инструменты, лимиты по токенам, привязку к конкретной LLM. Фабрика агентов собирает экземпляр под конкретный шаг плана, внедряет зависимости и подключает метрики. Менеджер состояний следит за тем, чтобы контекст одного агента физически не мог «протечь» к другому — в состоянии каждого агента хранятся эпистемические поля: uncertainty_score, evidence_log, missing_knowledge.

Система разбита на изолированных агентов — TriageRouter, Researcher, Coder, Critic — каждый получает только нужный ему контекст и инструменты.

Роли в графе распределены жёстко. Входная точка — TriageRouter: он анализирует запрос и выбирает одну из трёх стратегий. Простой вопрос уходит в FastResponder без планирования. Абстрактный запрос — в агент Clarification, который задаёт уточняющие вопросы. Сложная задача запускает полноценный эпистемический цикл через MemoryNode и KnowledgeProbe, а затем Planner. Исполнительное ядро составляют Researcher (поиск в локальной памяти и через SearXNG), Coder (написание скриптов для проверки гипотез в изолированной песочнице) и Critic (арбитраж логики, работает в связке с Replanner). Фоновый Memory Maintainer сжимает доказанные гипотезы и отправляет их в долгосрочную память — Mem0 и Qdrant.

Главное архитектурное решение — пятиэтапный эпистемический цикл, заменяющий схему «запрос-ответ». На первом этапе система оценивает собственные знания: формируется карта известного и карта неизвестного. На втором — прогоняет симуляцию до любого физического действия: агент предсказывает, что должно быть в файле или каком будет результат поиска. На третьем — если симуляция упирается в нехватку данных, процесс останавливается и фиксируется «эпистемический пробел», который становится новой микроцелью. На четвёртом — система переходит к действиям: сбор фактов, при необходимости написание кода как инструмента-зонда. На пятом — инструмент запускается в песочнице, результат (успешный JSON, пустой массив или лог с ошибкой) возвращается в ядро и обновляет модель мира. Падение скрипта трактуется не как сбой, а как сигнал: исходная гипотеза неверна, система формирует новую.

Подход принципиально отличается от того, как работают большинство агентных фреймворков. Там генерация контента — цель; здесь — лишь один из инструментов для проверки гипотез. Автор называет это смещением акцента с генерации на познание. Проект остаётся экспериментальным, однако описанные архитектурные решения — изоляция контекста, типизированная передача состояния между агентами, разделение памяти на рабочий кэш и подтверждённые факты — отвечают на реальные ограничения, с которыми сталкиваются команды, пытающиеся применить существующие MAS-фреймворки в инженерных задачах с высокой ценой ошибки.