Claude Code на ночь: запустить агента в цикл (2026)

Опубликовано 18.06.202616 мин чтенияСредний
Ночная спальня с миниатюрным светящимся цифровым мозгом на тумбочке, генерирующим петлю света, пока человек спит.
Что узнаешь
  • Что такое loop engineering и почему промптинг устаревает в 2026
  • Как запустить Ralph Loop, /loop, /goal, /batch в Claude Code
  • 5 готовых сценариев цикла на ночь (тесты, рефакторинг, мониторинг, импорт, статьи)
  • Как не сжечь $6 500 за ночь как агент на Hacker News 12 июня
  • Как связать цикл с CLAUDE.md и Вторым мозгом, чтобы он не терял память
Применить за 60 мин
Сэкономит 10 ч
Средний

Каждый день в Telegram-канале - что нового в вайб-кодинге: инструменты, истории, ошибки. Подпишись, чтобы быть в курсе.

Что такое loop engineering и зачем это тебе

Addy Osmani, директор Google Cloud по направлению ИИ (14 лет до этого - в команде Chrome), сформулировал принцип в посте от 7 июня 2026:

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

- Addy Osmani, https://addyosmani.com/blog/loop-engineering/

В том же посте он цитирует виральный твит Peter Steinberger (8 июня 2026):

Промптить агентов кодинга больше не надо. Надо проектировать циклы, которые промптят агентов за тебя.

- Peter Steinberger, https://addyosmani.com/blog/loop-engineering/

Boris Cherny - человек, который собрал Claude Code в Anthropic с нуля, - на конференции Fortune Brainstorm Tech 8-11 июня 2026 в интервью сказал две фразы, которые ИИ-индустрия обсуждала неделю:

Я уже месяцев восемь не написал ни строчки кода руками.

- Boris Cherny, https://fortune.com/2026/06/11/anthropic-claude-boris-cherny-doesnt-write-code-by-hand-anymore/

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

И вторая фраза - которая объясняет масштаб:

Сегодня утром я управлял парой сотен агентов. В другие дни их тысячи или десятки тысяч.

- Boris Cherny, https://fortune.com/2026/06/08/anthropics-boris-cherny-creator-of-claude-code-says-there-are-days-he-manages-tens-of-thousands-of-ai-agents-at-once/

За этими фразами стоит новая инженерная позиция: ты архитектор петель, не оператор клавиатуры.

Я к этому пришёл сам со своей стороны - через метод, который называю «доведение до результата». Главная мысль звучит так:

Мы вайб-кодим не для того, чтобы вайб-кодить - это пустая трата времени. Мы вайб-кодим для того, чтобы это работало на тебя каждый день, и шла накопительная система.

- Артемий Миллер, https://smyslokod.ru/practicum

Сегодня сделал один раз - каждый день растут заявки, автоматически публикуются статьи, бот ведёт переписку, отчёт с метриками падает тебе на стол к 9 утра. Сделал - и оно работает каждый день без тебя.

Если ты до сих пор открываешь Claude Code, пишешь промпт, ждёшь, читаешь, опять пишешь промпт - ты пропускаешь главный сдвиг 2026 года. Модели стали достаточно сильные, чтобы работать в циклах без надзирателя.

Чем Ralph Loop отличается от обычного запроса в Claude Code

Технику назвали в честь Ральфа Виггама из «Симпсонов» - персонаж, известный весёлым упорством несмотря на ошибки. Придумал Geoffrey Huntley 14 июля 2025 года как простую bash-петлю вокруг агента:

Ralph - это всего лишь bash-петля.

- Geoffrey Huntley, https://ghuntley.com/ralph/

Оригинальный код, который запустил всю волну:

bash
while :; do cat PROMPT.md | claude-code ; done

Один промпт в файле, бесконечный цикл вокруг него. И самый честный комментарий автора:

В этом и красота Ralph - техника тупо детерминирована в недетерминированном мире.

- Geoffrey Huntley, https://ghuntley.com/ralph/

Anthropic упаковал ту же логику в плагин ralph-loop и в команды /loop, /goal, /batch в Claude Code - они доступны прямо из терминала без скриптов. Сам факт того, что Anthropic выпустила плагин для бесконечного re-prompting, вызвал спор в GitHub Issue #23084 - корректно ли это по отношению к модели. Спор открытый, плагин работает.

Три встроенные команды Claude Code: /loop, /goal, /batch

КомандаКогдаВерсияЛимит
/loop 30m <prompt>Повтор на интервал (мониторинг, polling)v2.1.72+7 дней, 50 задач/сессия
/goal <condition>Работать до достижения цели (verifier-pattern)v2.1.139+До 4000 символов условие
/batch <change>Параллельный механический рефакторингv2.1.63+Каждый юнит - свой git worktree

/goal - самая близкая к Ralph Loop команда. Под капотом - evaluator-модель (по умолчанию Haiku) на каждом ходу смотрит: цель достигнута или нет. Если нет - следующая итерация с подсказкой, что именно поправить. Если да - остановка. Подробный разбор /goal я делал в гайде про автономный режим Claude Code на ночь через /goal - там готовые сценарии для 14-часовой работы.

/batch - редкая, но мощная команда. Когда нужно сделать одно и то же изменение в 100+ файлах (миграция API, замена компонента, переименование), /batch рассылает каждый файл отдельному субагенту в своём git worktree. Изменения не конфликтуют - каждый агент в изолированной копии. Подробнее про субагенты - в гайде про вложенные субагенты.

В моей лексике это всё называется просто:

Автоматизация, рутина, крон - это всё названия, по сути, одной функции, которая в определённое время запускается.

- Артемий Миллер, https://smyslokod.ru/practicum

Жёсткие лимиты на /loop и /goal:

  • Задача живёт, пока Claude Code открыт. Закрыл терминал - петля умерла. Для серьёзного ночного цикла - удалённый сервер или собственная shell-обёртка.
  • Максимальное время жизни recurring-задачи - 7 дней (после авто-удаление как защита от забытых петель).
  • В одной сессии до 50 одновременных задач.

Хочешь собрать связку, которая делает Claude стабильным? Ralph Loop - всего одна нога. На практикуме за 3 эфира собираешь все три: ИИ-клон + Второй мозг + Контекст-инжиниринг - именно эта связка превращает Claude из «помощника с галлюцинациями» в инструмент, которому даёшь задачу - и идёшь по своим делам.

Практикум по вайб-кодингу
+Твой второй мозг
3 вечера - стек, метод, первый проект
Старт 23–25 июня  ·  2 000 ₽
Записаться →

Как запустить свой первый автономный цикл за 5 минут

5 шагов:

  1. Открыть проект в Claude Code

    Зайти в корень проекта в терминале, запустить claude. Дождаться, пока Claude прочитает CLAUDE.md и проиндексирует репозиторий.

  2. Сформулировать цель и stop-условие

    Цель - что должно быть сделано. Stop-условие - как Claude поймёт, что закончил. Лучше всего - команда, которая возвращает 0 или 1. Пример: «Цель - все 23 теста в tests/api/*.test.ts проходят. Stop - pnpm test возвращает exit 0.»

  3. Запустить /goal

    Команда:

    /goal Все тесты в tests/api/*.test.ts должны быть зелёные. Запускай pnpm test, читай ошибки, чини, прогоняй снова. Останавливайся, когда exit code = 0. Максимум 20 итераций.

    Claude начинает цикл: запустил тесты - увидел падение - открыл файл - починил - снова запустил.

  4. Поставить budget cap

    В фоновой вкладке - /usage для контроля. Поставить лимит токенов или денег на день, чтобы не сжечь весь баланс на одной петле. Подробнее - в гайде как не сжечь лимиты Claude Code.

  5. Идти по своим делам

    Через 30 минут вернуться. Если задача простая - уже «ГОТОВО, все тесты зелёные». Если сложнее - читать отчёт «остановился на 20-й итерации, причина X». Поправить руками то, что петля не смогла, перезапустить.

Boris Cherny рассказывал в том же интервью на Brainstorm Tech про утра после ночных циклов:

Часто я просыпаюсь утром, а Claude уже сделал пул-реквесты - сам придумал, сам проверил end-to-end, даже скриншоты приложил.

- Boris Cherny, https://fortune.com/2026/06/11/anthropic-claude-boris-cherny-doesnt-write-code-by-hand-anymore/

Под капотом - правильно собранная петля с verifier-pattern внутри.

Verifier-pattern: как Claude сам себя проверяет в цикле

Verifier бывают трёх типов:

1. Технические (exit code) - самый надёжный. pnpm test, npm run lint, tsc --noEmit, playwright test. Возвращают 0 или 1, никакой интерпретации. /goal тоже работает на этом - под капотом он использует evaluator-модель Haiku, которая на каждом ходу проверяет, выполнено ли condition (до 4000 символов).

2. Evaluator-модель - вторая модель смотрит на результат первой и оценивает по rubric'у. Хорошо для задач, где формальной проверки нет («стиль текста хороший?», «дизайн совпадает с брендом?»). В Anthropic это называется Claude Code Review - режим, в котором отдельный агент-ревьюер ищет логические ошибки, edge cases, security-проблемы в работе основного агента. По внутренним данным Anthropic, на больших PR находит 84% issues (раньше было 16% с baseline-подходом).

3. Custom-проверка - shell-скрипт, который ты пишешь сам. «Если в логах нет слова ERROR - готово.» «Если файл output.json существует и parseable - готово.» «Если страница /pricing возвращает 200 - готово.»

У меня в скиллах есть отдельный adversarial-проход, который я даю Claude после каждой фазы. Промпт-шаблон, который кладу в CLAUDE.md или в команду:

Найди 10 причин, по которым этот проект мог обосраться. 
Поставь себя в позицию, что что-то пошло не так. 
Я могу прогнать очень много раз эту историю - 
прежде, чем выкачу в паблик.

После каждой фазы - security review. Каждый раз, когда вы заканчиваете код, вы обязательно говорите security review.

- Артемий Миллер, https://smyslokod.ru/practicum

Самая частая ошибка новичков - запустить цикл без verifier. Агент работает в холостую: пишет код, не проверяет, считает что готово, переходит к следующей итерации, переписывает уже сделанное. Через 3 часа - месиво и счёт на $200.

Лучшее правило, которое я вынес: сначала пишешь verifier, потом запускаешь цикл. Если не можешь сформулировать stop-условие в одну строку - значит, задача не созрела для автономии.

Как не сжечь $6 500 за ночь: budget cap и stop-conditions

3 обязательных тормоза для любого ночного цикла:

1. Лимит итераций. --max-iterations 20. Цикл не может крутить больше N раз - даже если verifier не сработал. Если за 20 итераций не дошёл до stop - значит, задача застряла, нужно человеческое вмешательство.

2. Лимит токенов или денег. /usage limit 50 - не больше $50 в сутки. Когда подходит к лимиту, петля сама останавливается, шлёт алерт. Это страховка от runaway-сценария вроде истории DN42 на $6 531.

3. Stagnation detector. Простая проверка: если за 3 итерации подряд код не изменился (git diff пустой) или verifier даёт ту же ошибку - петля зависла, останавливаемся.

Готовый wrapper-скрипт с этими тремя предохранителями:

bash
#!/bin/bash
PROMPT="$1"
MAX_ITER=20
MAX_COST_USD=50
COMPLETION="ГОТОВО"
PREV_HASH=""
STAGNATION=0

for i in $(seq 1 $MAX_ITER); do
  # Лимит денег
  CURRENT_COST=$(claude usage --json | jq '.cost_usd')
  if (( $(echo "$CURRENT_COST > $MAX_COST_USD" | bc -l) )); then
    echo "STOP: budget cap $MAX_COST_USD достигнут"
    break
  fi

  # Прогон
  OUTPUT=$(claude code -p "$PROMPT" --auto-accept)

  # Проверка завершения
  if echo "$OUTPUT" | grep -q "$COMPLETION"; then
    echo "STOP: completion signal"
    break
  fi

  # Детектор застоя
  CURRENT_HASH=$(git rev-parse HEAD 2>/dev/null)
  if [ "$CURRENT_HASH" = "$PREV_HASH" ]; then
    STAGNATION=$((STAGNATION + 1))
    if [ "$STAGNATION" -ge 3 ]; then
      echo "STOP: stagnation 3 итерации"
      break
    fi
  else
    STAGNATION=0
  fi
  PREV_HASH="$CURRENT_HASH"
done

Этот скелет - стартовый. Дальше можно докрутить: Slack-алерт при остановке, автоматический Telegram-отчёт по утрам, push-уведомление если бюджет на 80%. Принцип один - у петли должны быть тормоза, не только акселератор.

5 готовых сценариев цикла на ночь

Сценарий 1: Тесты, которые красные - сделать зелёные

/goal В директории tests/ есть 47 падающих тестов. Цель - все зелёные.
Запускай pnpm test, читай stderr, открывай файл с ошибкой, чини, снова pnpm test.
Stop когда exit 0. Max 30 итераций.

Сценарий 2: Большой рефакторинг по 200 файлам

/batch Заменить старый API-клиент apiV1 на новый apiV2 во всех файлах src/**/*.ts.
Каждый файл - в своём worktree. После замены прогнать tsc --noEmit, если ошибки - починить.
Слить worktrees в финале.

Сценарий 3: Ночной мониторинг прода

/loop 30m Каждые 30 минут проверять https://your-app.example.com/api/health.
Если возвращает не 200 - читать логи, искать причину, чинить, развернуть заново.
Логировать каждую итерацию в /tmp/night-monitor.log.

Сценарий 4: Импорт большого датасета с дедупликацией

/goal Импортировать csv-файл /tmp/import.csv (12 000 строк) в таблицу clients.
Для каждой строки - проверить дубль по email, если нет - вставить, если есть - обновить.
Логировать конфликты в /tmp/conflicts.log. Stop когда обработана последняя строка.

Сценарий 5: Конвейер статей (типовая схема)

Для онлайн-сервиса или агентства, где регулярно нужны SEO-статьи, сценарий выглядит так:

/loop 8h Каждые 8 часов: открыть файл backlog тем со статусом 'queued'.
Если есть свободная тема - запустить skill для написания гайда.
Опубликовать в dev. Сменить статус на 'review'. Уведомить ответственного в Telegram.

Поставил цель - и он работает сутками для цели. Это супер другая производительность. Это вообще абсолютно другой уровень результата.

- Артемий Миллер, https://smyslokod.ru/practicum

Сценарий 5 - то, что Cherny делает в Anthropic, только для статей. У него ночью крутятся тысячи агентов, каждый - в своей петле. У меня - десятки. Принцип один:

У тебя есть Claude Code, но у него есть субагенты - другие Claude. Пользователь больше не промптит Claude. Промптит другой Claude.

- Boris Cherny, https://fortune.com/2026/06/08/anthropics-boris-cherny-creator-of-claude-code-says-there-are-days-he-manages-tens-of-thousands-of-ai-agents-at-once/

Что подавать в каждой итерации: CLAUDE.md и Второй мозг как state

Три слоя «памяти» проекта, которые превращают одиночный промпт в управляемый цикл:

1. CLAUDE.md - конституция проекта. Что за продукт, какой стек, какие правила, чего никогда не делать. Claude читает этот файл при старте каждой сессии и каждой итерации цикла. Без него ему приходится «переоткрывать» проект каждый раз - тратится контекст, увеличивается риск галлюцинаций. Готовый шаблон и 6 правил - в гайде про CLAUDE.md.

Boris Cherny делает это так:

Каждый раз, когда мы видим, что Claude делает что-то неправильно, мы добавляем это в CLAUDE.md - чтобы Claude в следующий раз так не делал.

- Boris Cherny, https://howborisusesclaudecode.com/

2. Второй мозг - папка с бизнес-знаниями: продукт, аудитория, цели, экономика, маркетинг. Не код - смыслы. Когда петля пишет статью или ищет ответ для саппорта, она читает Второй мозг и говорит из контекста проекта, не из вакуума.

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

- Артемий Миллер, https://smyslokod.ru/practicum

3. Контекст-инжиниринг - что именно ты подаёшь Claude в каждой итерации. Не всю папку Второго мозга, не весь репозиторий - а только релевантное. Plan Mode помогает: Claude сам определяет, какие файлы нужны для задачи, и читает только их. Подробнее - в гайде про Plan Mode.

Главный операционный принцип, который пришлось вколотить через ошибки:

Одна задача - один чат. Это ключевой принцип работы. Когда у вас ИИ начинает жрать немыслимое количество токенов - это говорит о том, что вы всё в одном чате пытаетесь делать.

- Артемий Миллер, https://smyslokod.ru/practicum

Три слоя складываются в 3 кита методологии: ИИ-клон (ты передал Claude свой стиль и правила через skills и CLAUDE.md), Второй мозг (бизнес-смыслы в файлах), Контекст-инжиниринг (что подаёшь в каждом запросе). Без всех трёх петля превращается в бесконечный цикл с растущим счётом.

Что Boris Cherny делает по ночам: 5 терминалов, 10-15 сессий, тысячи агентов

Что в каждой сессии? Разные задачи: одна петля чинит баги, другая - пишет новые features, третья - ревьюит PR'ы команды, четвёртая - оптимизирует производительность, пятая - готовит документацию. Не один большой агент-универсал. Десятки специализированных - в каждый засунут свой skill, своя цель, свой verifier.

Главный фрейм-разворот:

Мы начинаем подходить к моменту, когда у него есть свои идеи. Он смотрит в GitHub, смотрит в X, и решает: что мне построить дальше.

- Boris Cherny, https://fortune.com/2026/06/08/anthropics-boris-cherny-creator-of-claude-code-says-there-are-days-he-manages-tens-of-thousands-of-ai-agents-at-once/

Если читателю нужен полный разбор сетапа Cherny с готовыми командами, я сделал отдельный гайд: как Boris Cherny делегирует кодинг тысячам ИИ-агентов.

Для предпринимателя без программистов это значит конкретную вещь. У тебя один Claude-аккаунт за $200/месяц и обычный ноутбук. Ты можешь запустить 5 петель параллельно - саппорт, статьи, метрики, тестирование нового продукта, мониторинг конкурентов. Каждая в своей вкладке Claude Code. Утром - читаешь сводку. Это уже норма работы летом 2026.

Четыре типичных провала автономного цикла

Провал 1: «Бесконечный цикл по галлюцинации»

Агент решил, что закрыл задачу, хотя verifier не сработал. Или verifier нет вообще. Через 3 часа Claude пишет: «всё готово!» - а на самом деле тесты валятся, страница не открывается, ничего не работает. Уже потрачено $80 на бессмысленные итерации.

Фикс: жёсткий verifier (exit code от команды), не словесная проверка.

Провал 2: «Сжёг бюджет за ночь»

История с DN42 - агент пытался просканировать любительскую сеть, цикл шёл всю ночь, утром оператор увидел счёт $6 531 в AWS. Без budget cap петля становится гранатой без чеки.

Фикс: /usage limit или внешний скрипт с claude usage --json, останавливающий цикл при достижении порога. Пост на Hacker News попал в топ 12 июня и стал жанром-победителем недели - «как агент стоил больше, чем твой джун».

Провал 3: «Цикл потерял контекст между итерациями»

Claude в итерации 1 принял архитектурное решение. В итерации 7 - забыл, принял противоположное. Через 15 итераций - код-помойка.

Фикс: state-слой через CLAUDE.md + папку Второго мозга. Любое архитектурное решение цикла - записывает в файл, который читает в следующей итерации.

Провал 4: «Stop-условие неточное - петля крутится бесконечно»

/goal "Сделать страницу красивой" - что значит «красивой»? Нет однозначной метрики - петля никогда не остановится. Будет крутиться, пока не упрётся в лимит итераций или бюджет.

Фикс: stop-условие - всегда измеримое. Не «красиво», а «Lighthouse Performance ≥ 90, Accessibility ≥ 95». Не «работает», а «тесты в tests/pricing.test.ts зелёные».

Когда loop engineering не нужен

Не подходят для автономного цикла:

  • Разовая креативная задача. Один сайт для нового продукта, один логотип, одна стратегическая записка. Тут петля - перебор, проще написать один промпт и доработать руками.
  • Задача без verifier. Если не можешь сформулировать stop-условие как exit code или однозначный сигнал - не запускай цикл, иначе это бесконечный костёр.
  • Задача с субъективной оценкой. «Сделай чтобы лучше звучало», «доработай UX чтобы было приятнее» - тут нужен ты, а не петля.
  • Новый незнакомый домен. Если ты сам не понимаешь, как должно выглядеть «готово», - не запускай Claude в цикл. Сначала разберись, потом автоматизируй.

И главное правило, которое я выработал через ошибки:

Если ты не управляешь контекстом, если ты не формируешь умные, понятные скиллы, которые дают итоговый результат - то рутину запускай, не запускай, всё будет ерунда.

- Артемий Миллер, https://smyslokod.ru/practicum

Главный вопрос перед запуском цикла: могу ли я в одну строку описать, как пойму, что Claude закончил? Если да - петля поможет. Если нет - сначала формулируй проверяемое условие, потом запускай.

Источники

Loop engineering - это слой над всем, что ты уже знаешь про Claude Code. Сначала нужны три кита: ИИ-клон + Второй мозг + Контекст-инжиниринг. Без них петля деградирует к 5-й итерации. Полную связку показываю на практикуме за 3 вечера.

Практикум по вайб-кодингу
+Твой второй мозг
3 вечера - стек, метод, первый проект
Старт 23–25 июня  ·  2 000 ₽
Записаться →

Новые материалы - дайджестом, без спама

Гайды выходят регулярно. Подпишись, чтобы не пропускать: пришлю подборку в Telegram или на email. Раз в неделю или каждый день - выбираешь сам.

Была инструкция полезна?
Артемий Миллер
Автор
Артемий Миллер
Предприниматель и вайб-кодер

Артемий Миллер - предприниматель и вайб-кодер. Бывший программист, собирает продукты исключительно вместе с ИИ-агентами, без найма разработчиков.