Как не дать AI-агентам уйти в бесконечный цикл на длинных задачах
Любой, кто пробовал поручить AI-агенту задачу дальше локального рефакторинга одной функции, знает эту проблему. Первые 15 минут всё идет отлично. На второй час агент начинает переписывать собственный код по третьему кругу, теряет контекст, жрёт токены и в итоге застревает. Обычные диалоговые сессии и простые таймеры тут не помогают.
Разработчик huangruiteng выложил на GitHub проект LoopX — локальный слой управления (control plane) для долгоживущих AI-агентов. Проект не пытается заменить сам движок вроде Claude Code, Codex CLI или Cursor. Вместо этого он берёт на себя управление состоянием, лимитами и точками принятия решений.

Зачем нужен отдельный слой управления
Когда задача растягивается на дни или недели, требования меняются, результаты проверок устаревают, а агенты должны передавать работу друг другу. В такой ситуации стандартная память чата быстро превращается в хаос.
LoopX предлагает относиться к работе агентов как к Канбан-доске. Карточки хранят контекст, права доступа, собранные доказательства (evidence) и инструкции по продолжению.
objective / issue / project
│
▼
LoopX state: objective + gates + todos + scope + evidence + quota
│
├─ нужен человек? ─────────▶ задать точечный вопрос и ждать
│
├─ есть безопасный фолбэк? ▶ запустить один ограниченный шаг
│
▼
Codex / Claude Code / Cursor / shell исполняют один шаг
│
▼
запись артефактов + передача + следующий todo ─▶ квота решает, когда следующий запуск
Среди агентов в системе нет главного. Зарегистрированные исполнители считаются равными участниками (peers). Кто именно сделает следующий шаг, решают заявки на задачи, тайм-ауты аренды (leases) и правила передачи роли.
Что внутри и как это работает
Ядро LoopX написано на Python 3.11+ и не имеет внешних зависимостей в рантайме — используются только модули стандартной библиотеки.
Вся механика строится вокруг ответов на простые вопросы:
- Какова текущая цель и границы полномочий?
- Что именно нужно сделать дальше и кто за это отвечает?
- Где требуется прямое решение человека (user gate)?
- Какие факты и результаты работы изменились за последний запуск?
- Можно ли продолжать цикл с точки зрения бюджета и квот?
Проект не дает агенту полной автономии при выполнении опасных действий. Публикация кода, запись в продакшен и финальное подтверждение результатов всегда остаются за человеком.

Проверка на реальных задачах
В репозитории приведено несколько примеров работы, растянутых на сотни часов реального времени (elapsed lifetime). Это не непрерывное кручение нейросети, а суммарный срок жизни проекта с множеством коротких ичередующихся запусков и проверок.
Первый кейс — исправление багов в открытом проекте OpenViking. LoopX сохранял контекст репозитория, историю правок и требования к ревью на протяжении 200 часов работы над PR.

Второй кейс — автоматизация ML-экспериментов. В одном графе решений сохранялись гипотезы, результаты запусков, отброшенные гипотезы и точки остановки.

Быстрый запуск
Для работы понадобятся Python 3.11, bash, curl и tar. Скопировать репозиторий через git не требуется, если вы не планируете дорабатывать сам LoopX.
Установка выполняется одной командой:
curl -fsSL https://raw.githubusercontent.com/huangruiteng/loopx/main/scripts/install-from-github.sh | bash
export PATH="$HOME/.local/bin:$PATH"
loopx doctor
После этого переходим в папку нужного проекта и подключаем окружение:
cd /path/to/your-project
loopx connect
loopx status
Если проект новый, стартовать цель можно через интерактивный помощник:
loopx start-goal --guided --project . --goal-text "Опишите вашу долгосрочную задачу"
Инструмент создаст директорию .loopx/ в каталоге проекта. Ее, а также .local/ и .codex/goals/, сразу стоит внести в .gitignore.
Для связки с популярными агентами предусмотрены готовые интеграции:
- Claude Code: устанавливается специальный адаптер, после чего доступна команда
/loopx <task>и стандартный/loop. - Codex CLI: агент опрашивает состояния через
loopx doctorи выполняет конкретный/goal <task_body>. - Кастомные скрипты: достаточно вызывать последовательность CLI-команд для проверки квот (
loopx quota should-run), взятия задачи (loopx todo claim) и обновления состояния (loopx todo update).
Кому стоит попробовать
LoopX находится в ранней стадии (версия 0.4.x), но уже предлагает рабочий подход к проблеме удержания контекста.
Инструмент пригодится, если вы:
- Гоняете агентов на многодневных исследовательских задачах или бенчмарках.
- Хотите организовать связку из нескольких агентов (например, один пишет код, второй делает ревью).
- Устали от того, что авто-автономные скрипты сливают баланс API на бесконечные попытки починить один и тот же тест.
Если же ваши задачи ограничиваются генерацией небольших функций по запросу в чате, LoopX будет избыточен.
