Перестал спрашивать — начал автоматизировать
Забей на промпты — построй цикл
Месяц назад твит Питера Штейнбергера набрал восемь миллионов просмотров: «Не надо больше промптить AI-агентов. Пора проектировать циклы, которые промптят их самих».
Примерно тогда же на подкасте Acquired Unplugged Борис Черный — создатель Claude Code — сказал примерно то же самое: «Я больше не промптлю Claude. У меня крутятся циклы. Они промптят Claude».
Интернет, как обычно, сделал своё дело: все начали спорить, никто не увидел ни одного цикла, и дискуссия утонула в абстракциях.
Я же несколько месяцев запускаю реальные циклы. Не потому что я впереди планеты всей — просто меня достала рутина, и я её автоматизировал. Оказалось, мышление через циклы это не продвинутая техника для гиков. Это естественная эволюция, которая происходит, когда перестаёшь использовать AI-агентов как продвинутые копипастеры и начинаешь видеть в них системы, способные мониторить, решать и действовать вместо тебя.
Три типа «цикла», о которых никто не может договориться
Вот почему весь разговор такой запутанный: под словом «цикл» люди могут понимать три разные вещи, и различия между ними критичны.
Первый тип — автономный цикл задач. По сути «продолжай, пока не готово». Классика: скрипт Джеффри Хантли (while :; do cat PROMPT.md | claude-code; done) или команда /goal в Codex и Claude Code. Режим «настроил и забыл».
Второй тип — запланированный или событийный цикл. Работа, которая выполняется, пока тебя нет на месте. Собственный пример Штейнбергера — HEARTEBEAT.md в OpenClaw: чеклист, который агент пересматривает каждые 30 минут. Потомки этого паттерна — Codex automations и scheduled routines в Claude Code.
Третий тип — оркестрация с распределением. Динамические воркфлоу с несколькими агентами, работающими параллельно. Claude Code использует map/reduce-подобные операции. Это ближе к акторной модели, чем к простому циклу.
Моё мнение: Штейнбергер и Черный описывают второй тип, обёрнутый в первый. Мои циклы — это scheduled и event-driven снаружи, а внутри многие из них выполняют экспериментальные подциклы при срабатывании. Именно эта комбинация даёт реальный рычаг.
PR-няня: мой пропуск в мир циклов
У меня уже был AI-кодревью на каждый пул-реквест. Сначала Claude, потом встроенный ревью Codex, потом кастомный GitHub Action с полным контекстом и патчем.
Мой рабочий процесс был абсурдным: отправляешь PR, ждёшь ревью, потом копируешь комментарии в агент. Иногда со скриншотами. Ручная, повторяющаяся, высасывающая душу работа.
Однажды я спросил агента: «А ты не можешь сам через gh-клиент проверять статус ревью?». Мог. «А можешь проверять постоянно и говорить мне, когда готово?».
Этот один вопрос трансформировал мой воркфлоу. Теперь агент мониторит изменения статуса ревью, подтягивает свежий контекст, анализирует фидбек и делает реальную работу по его обработке. Цикл заканчивается, когда агент принимает триажное решение: принять фидбек, отклонить или эскалировать ко мне.
Паттерн прекрасно обобщается: слушай изменения состояния внешних систем, просыпайся при их наступлении, тяни свежий контекст, анализируй, действуй, делай триаж. Как только видишь эту форму — начинаешь замечать её везде. Команда Codex сама шлет свой babysit-pr skill, а в документации Claude Code PR-няня теперь указана как основной кейс для команды /loop.
Внутренние циклы: заставь агента ставить эксперименты
Есть ещё один паттерн, который я понял не сразу: экспериментальный цикл. Мысль пришла от концепции autoresearch Андрея Карпатого — запускай много итераций, измеряй результаты, оставляй то, что работает. Я применил это к медленному Python-патчу и за час прогнал 49 экспериментов, опустив p95 latency с 339ms до 34ms примерно за $24.
Тот же паттерн применим к более сложным задачам: отладке поведения агента в продакшене. Когда что-то идёт не так — странный трейс в Braintrust, фидбек в Slack или что-то поймал сам — я поднимаю worktree, вставляю трейс и запускаю тестовый цикл.
Вот что делает этот цикл особенным: он вынуждает к дисциплине, которой нативная интуиция модели сопротивляется. Сама по себе модель будет хардкодить «никогда не делай X, Y, Z» в системный промпт и переобучаться на один показанный трейс.
Цикл требует гипотезу и матрицу тестов. Нужны три кейса: оригинальный падающий, соседний позитивный, который должен идти тем же путём, и контрпример с другим путём. Три-четыре пробы запускаются параллельно против локального дева, восстанавливая точный пользовательский контекст из трейса. Каждый прогон оценивается по tool calls, latency, дельте input-токенов и корректности. Модель не может сжульничать запоминанием — она должна реально понимать.
Что реально меняется, когда строишь циклы
Главный сдвиг не технический — концептуальный. Когда промптишь агента, ты всё ещё за рулём. Ты — газ, навигатор, контроль качества. Циклы инвертируют это. Ты становишься архитектором систем, которые едут сами.
Это не значит, что полная автономия — цель. Я всё ещё на триажном шлюзе для всего важного. Циклы обрабатывают рутину, мониторинг, повторы. Я разбираюсь с решениями, которые реально важны.
Второй сдвиг: циклы заставляют быть эксплицитным в критериях успеха. Хороший цикл имеет чёткие условия выхода, чёткие точки принятия решений, чёткие пути эскалации. Невозможно построить цикл, не определив, как выглядит «готово». Эта дисциплина просачивается во всё остальное.
Третье: циклы компонуются. PR-няня работает рядом с экспериментальным циклом. Scheduled checks триггерят on-call responses. Ты начинаешь собирать библиотеку взаимодействующего поведения вместо кучи разовых промптов.
Практическая точка входа
Если хочешь экспериментировать с циклами, начни с чего-то, что ты уже автоматизировал криво. Скорее всего, у тебя есть GitHub Action, который что-то делает по расписанию, или Claude Code сессия, которую ты перезапускаешь вручную, или ревью-процесс с копированием выводов между инструментами.
Возьми самый раздражающий. Спроси себя: какое изменение состояния я жду? Какой контекст нужен агенту, когда это изменение происходит? Какое решение ему нужно принять?
Потом построй цикл. Ему не нужно быть элегантным. Ему нужно работать и возвращать тебе контроль над своим временем.
Конфиги, скиллы и CI-воркфлоу за моими циклами лежат в публичном репозитории: camwest/agent-skills. Это не готовый продукт — это работающая система, которая эволюционирует по мере моего обучения. В этом суть. Циклы — это не пункт назначения. Это практика.
Дискуссия про AI-агентов тонет в абстракциях. Вот конкретная версия: забудь про промпты, начни строить циклы и посмотри, что будет, когда машина займётся мониторингом, а ты — смыслом.