# AI-компания из 6 агентов: две недели — и она работает сама

> Шесть агентов на OpenClaw автономно ведут сайт — предлагают идеи, исполняют, реагируют на события. Три ловушки замкнутого цикла и чек-лист архитектуры.

Источник: https://blog.uspeshnyy.ru/blog/ai-kompaniya-na-openclaw/
Автор: Александр Успешный · blog.uspeshnyy.ru
Опубликовано: 2026-03-04
Теги: AI-агенты, self-hosted, система

---

## Отправная точка: агенты есть, компании нет

Стартовый стек автора прост: **OpenClaw** на VPS — «мозг» агентов (обсуждения, крон-задачи, исследования), **Next.js + Vercel** — фронт и API, **Supabase** — единый источник правды для всех состояний.

Шесть ролей, у каждой своя работа: один принимает решения, второй анализирует стратегию, третий собирает данные, четвёртый пишет контент, пятый ведёт соцсети, шестой проверяет качество. Крон-задачи заставляют их «выходить на работу», круглый стол — обсуждать и голосовать.

Но это лишь «умеют разговаривать», а не «умеют работать». Всё, что агенты производили — черновики постов, отчёты, тексты — оседало в выводах и ничем не становилось. Между «агент выдал результат» и «система работает сама» не хватало [целого цикла](/blog/20-loop-patternov-ai-sistem/): **предложение → одобрение → исполнение → событие → новая реакция**.

![Замкнутый цикл: предложение → автоодобрение → миссия → исполнение → событие → триггер](/images/posts/vx-closed-loop-ru.webp)

## Три ловушки замкнутого цикла

Каждая делала систему «выглядит рабочей, но крутится на месте».

**Ловушка 1: за работу дерутся двое.** Задачи одновременно разбирали воркер на VPS и крон на Vercel — чистая гонка, шаги получали конфликтующие статусы. Решение: **исполнитель один** (VPS), Vercel остаётся лёгкой «диспетчерской» — проверяет триггеры, чистит зависшее. Бонус — отпала подписка Vercel Pro: heartbeat дешевле дёргать одной строкой crontab.

**Ловушка 2: триггер сработал — никто не подошёл.** Триггеры создавали предложения напрямую в базе, минуя цепочку «одобрение → миссия → шаги», и те вечно висели в pending. Решение: **одна общая функция создания предложений** — все пути (API, триггеры, реакции) обязаны идти через неё. Любая будущая проверка добавляется в одном файле.

**Ловушка 3: квота исчерпана, а очередь растёт.** Лимит постов достигнут, но предложения продолжали одобряться и порождать шаги; воркер их молча пропускал — очередь пухла без единой ошибки в логах. Решение: **шлагбаумы на входе** (cap gates) — у каждого типа шага своя проверка лимитов, и переполненное отклоняется сразу, с внятной причиной и записью в аудит. Принцип: **отклоняй на входе, а не копи в очереди.**

## Что делает систему живой

**Триггеры**: пост завирусился → агент-аналитик разбирает почему; миссия упала → диагностика причины; вышел контент → проверка качества. Обязателен кулдаун — иначе один вирусный пост запускал бы анализ каждые 5 минут.

**Матрица реакций** — самое интересное. Вероятностные правила «кто на что реагирует»: агент запостил твит → с вероятностью 30% другой проанализирует его результаты; любая миссия упала → со 100% вероятностью придёт диагност.

> Вероятность — не баг, а фича. 100% детерминизм = робот. Щепотка случайности — и это уже похоже на [живую команду](/blog/agent-teams-claude-code/), где «иногда кто-то откликается, а иногда нет».

**Самовосстановление**: VPS перезагрузился, API затаймаутил — шаги зависают в «running». Heartbeat находит всё, что без прогресса больше 30 минут, помечает проваленным и корректно закрывает миссию. И важно: миссия успешна только когда успешны **все** шаги.

![Архитектура: OpenClaw исполняет, Vercel диспетчеризует, Supabase хранит правду](/images/posts/vx-architecture-ru.webp)

## Чек-лист, который можно забрать себе

1. **Восемь таблиц состояния**: предложения, миссии, шаги, события, политики, правила триггеров, очередь реакций, логи исполнения.
2. **Один сервис предложений** — вся логика создания, лимитов и одобрения в одной функции.
3. **Политики вместо хардкода** — лимиты и тумблеры поведения лежат в таблице и меняются без деплоя.
4. **Heartbeat** — один API-роут + одна строка crontab раз в 5 минут.
5. **Контракт воркера** — исполнил шаг → проверь, не пора ли закрывать миссию целиком.

Таймлайн честный: на готовой инфраструктуре сам замкнутый цикл собирается **примерно за неделю** (предложения и одобрение — 3 дня, движок исполнения — 2, триггеры и реакции — 2, склейка и ловушки — 1).

## Почему я перевёл именно это

От себя. Это лучшее из виденного мной описание разницы между «у меня есть AI-агенты» и «у меня работает AI-система». Ровно те же три ловушки я разгребал в собственных проектах — от ботов-квалификаторов до автопостинга: гонки исполнителей, оборванные цепочки одобрения, тихо растущие очереди. Паттерны «один вход для всех предложений», «отклоняй на входе» и «политики вместо хардкода» — универсальны: они работают и в [маркетинговой системе](/blog/arhitektura-ai-marketinga-4-sloya/), где агенты пишут контент, отбирают заявки и считают аналитику.

> Хотите такой замкнутый цикл в своём маркетинге — где контент, заявки и аналитика крутятся без вас? Напишите «система» в [Telegram](https://t.me/uspeshnyy), разберём за 15 минут.