Loop Engineering — проектирование автономных циклов для AI-агентов

· 2 мин чтения
ai-agents automation claude-code loop-engineering skills
📂 Исходный код на 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 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-инструменты, а также честную документацию о том, что может пойти не так.

Источник: https://github.com/cobusgreyling/loop-engineering