Loop Engineering — проектирование автономных циклов для AI-агентов
📂 Исходный код на GitHubПрактические паттерны, стартеры и CLI-инструменты для loop engineering с AI-агентами. Проектируйте системы, которые промптят и оркестрируют агентов (вдохновлено Addy Osmani и Boris Cherny). Включает loop-audit, loop-init, loop-cost, loop-sync, loop-context, loop-mcp-server, loop-worktree.
Loop Engineering — это смена парадигмы взаимодействия с AI-агентами для разработки. Вместо того чтобы вручную писать промпты каждому агенту, вы проектируете цикл (loop) — самоподдерживающуюся систему, которая запускает агентов, управляет их состоянием, проверяет результаты и повторяет процесс по расписанию. Идею сформулировал Cobus Greyling, а популяризовали Addy Osmani и Boris Cherny (глава Claude Code в Anthropic). Репозиторий собрал 7.9k звёзд и содержит готовые паттерны, CLI-инструменты и стартеры для Grok, Claude Code, Codex, Cursor и OpenCode.
Почему это важно
Традиционный подход к AI-разработке — «я пишу промпт, агент выполняет, я проверяю, я пишу следующий промпт» — не масштабируется. Как говорит Boris Cherny: «Я больше не промптю Claude. У меня работают циклы, которые промптят Claude и решают, что делать. Моя работа — писать циклы». Peter Steinberger формулирует ещё жёстче: «Вы не должны больше промптить агентов. Вы должны проектировать циклы, которые промптят ваших агентов».
Точка приложения усилий сместилась с крафта отдельных промптов на проектирование управляющих систем, которые оркестрируют агентов во времени.
Пять строительных блоков + память
Автор выделяет пять примитивов loop engineering:
| Примитив | Роль в цикле |
|---|---|
| Automations / Scheduling | Обнаружение задач и триаж по расписанию |
| Worktrees | Безопасное параллельное выполнение в изолированных git-ветках |
| Skills | Персистентное проектное знание, доступное агенту |
| Plugins & Connectors | Подключение к реальным инструментам через MCP |
| Sub-agents | Разделение на «создателя» и «проверяющего» |
| + Memory / State | Долговременное состояние вне любого диалога |
Цикл работает так: автоматизация по расписанию запускает triage-skill, который читает состояние проекта. Далее создаётся изолированный worktree, implementer-агент вносит изменения, verifier-агент проверяет результат тестами и гейтами. Если изменение безопасно — коммит или PR. Если рискованно — эскалация человеку с полным контекстом.
Семь production-паттернов
Репозиторий содержит 7 проверенных паттернов с указанием каденса, уровня риска и примерной стоимости токенов:
| Паттерн | Каденс | Уровень | Стоимость |
|---|---|---|---|
| Daily Triage | 1 день — 2 часа | L1 (отчёты) | Низкая |
| PR Babysitter | 5–15 минут | L1 (наблюдение) | Высокая |
| CI Sweeper | 5–15 минут | L2 (осторожные правки) | Очень высокая |
| Dependency Sweeper | 6 часов — 1 день | L2 (только патчи) | Средняя |
| Changelog Drafter | 1 день или по тегу | L1 (черновик) | Низкая |
| Post-Merge Cleanup | 1 день — 6 часов | L1 (в непиковое время) | Низкая |
| Issue Triage | 2 часа — 1 день | L1 (только предложения) | Низкая |
Паттерны спроектированы по принципу фазового внедрения: L1 — только отчёты → L2 — ассистированные правки → L3 — автономная работа. В первую неделю рекомендуется запускать только режим отчётов без автоматических правок.
CLI-инструменты
Репозиторий включает восемь npm-пакетов, публикуемых из тегированных релизов (клонирование не требуется):
loop-init
Скаффолдит стартер, файлы состояния и бюджета, выводит Loop Ready Score и первую loop-команду:
npx @cobusgreyling/loop-init . --pattern daily-triage --tool grok
loop-audit (v1.6)
Калькулятор Loop Readiness Score с учётом constraints и governance. Поддерживает флаг --suggest для рекомендаций и --badge для вставки бейджа в README:
npx @cobusgreyling/loop-audit . --suggest
loop-cost
Оценка расхода токенов для выбранного паттерна и каденса:
npx @cobusgreyling/loop-cost --pattern daily-triage --level L1
loop-sync
Детектирование дрифта между STATE.md (фактическое состояние) и LOOP.md (описание цикла):
npx @cobusgreyling/loop-sync .
loop-context
Stateful-менеджер памяти с circuit breaker для длительных запусков:
npx @cobusgreyling/loop-context --check --ledger run.json
loop-mcp-server
MCP-сервер для runtime-доступа к паттернам, скиллам и состоянию:
npx @cobusgreyling/loop-mcp-server
loop-worktree
Управление изолированными git worktrees на каждую попытку исправления:
npx @cobusgreyling/loop-worktree create --run-id <id> --pattern <p>
Goal Engineering (компаньон)
Отдельный репозиторий-компаньон: циклы находят задачи, goals доводят их до завершения:
npx @cobusgreyling/goal doctor .
Безопасность и ограничения
Автор честно предупреждает: loop engineering усиливает суждение — как хорошее, так и плохое. Ключевые риски:
- Расход токенов может взрывно расти с sub-agents и длительными циклами
- Верификация остаётся на вас — автономные циклы совершают автономные ошибки
- Comprehension debt (долг понимания) растёт быстрее, если не читать, что именно цикл отправляет в коммит
- Два человека с одним и тем же циклом могут получить противоположные результаты — цикл не знает контекста
Addy Osmani формулирует это так: «Строй цикл. Но строй его как тот, кто намерен оставаться инженером, а не просто нажимать кнопку запуска».
В репозитории есть отдельные документы по failure modes, anti-patterns, multi-loop coordination, operating loops и safety (denylist, auto-merge, MCP scopes).
Интеграция с инструментами
Примеры и стартеры доступны для:
- Grok — нативные loop-команды
- Claude Code — skills + hooks + worktrees
- Codex — sub-agents + cron
- OpenCode — CLI-first (
opencode run), cron/systemd, skills, worktrees - Cursor — CI Sweeper, Post-Merge Cleanup, Issue Triage
- GitHub Actions — запуск циклов из CI/CD
Репозиторий использует собственные циклы для самопроверки: validate-patterns и audit workflows запускаются на каждом push и PR.
С чего начать
Быстрый старт (5 минут):
# 1. Скаффолдить и получить Loop Ready Score
npx @cobusgreyling/loop-init . --pattern daily-triage --tool grok
# 2. Оценить расход токенов
npx @cobusgreyling/loop-cost --pattern daily-triage --level L1
# 3. Переаудировать после улучшений
npx @cobusgreyling/loop-audit . --suggest
# 4. Вставить Loop Ready бейдж в README
npx @cobusgreyling/loop-audit . --badge
Автор рекомендует начинать с паттерна Daily Triage в режиме «только отчёты», постепенно повышая автономность по мере роста уверенности в качестве работы цикла.
Итог
Loop Engineering — это framework не столько кода, сколько мышления. Он отвечает на вопрос: как перестать быть узким горлыком в процессе AI-разработки, заменив себя системой, которая сама решает, что промптить и когда. Репозиторий даёт конкретные, готовые к запуску паттерны и CLI-инструменты, а также честную документацию о том, что может пойти не так.