Инженерия циклов: почему важнее не модель, а цикл вокруг неё
Совет, который заполонил ленту: перестаньте задавать промпты агентам и начните проектировать циклы. Борис Черный, создатель Claude Code, сказал прямо: «Я больше не пишу промпты для Claude. У меня крутятся циклы. Моя работа в том, чтобы писать циклы». Человек, построивший один из самых популярных кодинг-агентов, сам не промптит его. За этим стоит идея инженерии циклов, и она сложнее, чем кажется.
Сам цикл тривиален. Модель читает контекст, просит вызвать инструмент, вы выполняете вызов и возвращаете результат обратно. Модель читает снова, и так повторяется, пока она не перестанет запрашивать инструменты. Любой серьёзный агентский фреймворк сходится примерно к одним и тем же шести строкам кода, и они давно решены. Раз цикл тривиален, над чем тогда все работают?
Работа сместилась за пределы модели
Центр тяжести всё дальше уходит от самой модели. Сначала была инженерия промптов, то есть слова, которые вы отправляете. Потом инженерия контекста, то есть всё, что видит модель. Дальше инженерия обвязки, то есть код, который запускает инструменты, держит состояние и обрабатывает ошибки. И, наконец, инженерия циклов, то есть автономный цикл, ведущий систему к цели. В LangChain формулируют коротко: агент равен модель плюс обвязка. Если вы не модель, значит вы обвязка. И обвязка теперь важнее модели. Команды фиксировали модель, меняли только код вокруг неё и прыгали из середины бенчмарка в первую пятёрку.
Когда остановиться
Об этой проблеме никто не предупреждает. Когда агент перестаёт запрашивать инструменты, он закончил ход. Но это не то же самое, что закончить работу. Кодинг-агент пишет немного кода, видит, что прогресс есть, и объявляет, что готово, хотя тесты падают. Финальное сообщение завершает ход, а не задачу, и путаница между ними это самый частый способ сломать цикл. Хорошие циклы тормозят по правильным причинам: жёсткий лимит итераций, потолок по токенам, деньгам и времени, детектор буксования и настоящая автоматическая проверка завершения. «Готово» должно означать, что тесты прошли, а не что агенту приятно от своей работы.
Чистый контекст
Длинные циклы гниют изнутри. Чем больше ходов делает агент, тем больше мусора копится в контексте: старые выводы, тупики, устаревшие рассуждения. Качество модели падает, это называют гниением контекста. Относитесь к контексту как к бюджету, а не как к ведру: сжимайте разговор, когда он разрастается, выгружайте огромные выводы в файлы и отдавайте грязные подзадачи субагентам. Навык в том, чтобы знать, что выбросить.
Правильные инструменты
Цикл хорош настолько, насколько хороши инструменты внутри него. Сотня инструментов запутает агента, выигрывает компактный набор сфокусированных и непересекающихся. Правило Anthropic звучит остро: если живой инженер не может с уверенностью сказать, какой инструмент подходит, у агента шансов нет. Сделайте записи безопасными для повтора, иначе ретрай вызова «создать клиента» создаст второго клиента и двойные счета. А ошибки пишите для LLM, а не для человека: хорошая ошибка подсказывает, что делать дальше. В цикле ошибка это не тупик, а следующая инструкция.
Кто-то, кто скажет «нет»
Агент, оставленный наедине с собой, склонен соглашаться сам с собой. Спроектировать цикл это половина работы, а вторая половина в том, чтобы поставить в него нечто, способное сказать «нет», будь то тест, проверка типов или реальная ошибка. Разведите исполнителя и проверяющего: одна модель делает работу, другая проверка или жёсткий тест ставит оценку. Работник не проверяет собственное домашнее задание.
Что из этого следует
Промптинг это когда вы рулите агентом ход за ходом. Инженерия циклов это когда вы строите систему, которая рулит за вас, и отходите в сторону. Вы проектируете три вещи: цель как критерии успеха, по которым агент сам себя проверяет, цикл с разумными тормозами и верификатор, чтобы «готово» было доказано, а не заявлено. Андрей Карпаты гоняет исследовательские циклы ночью: они правят скрипт, тестируют, оставляют то, что работает, и выбрасывают остальное, а сам он в цикле не участвует. Модель превращается в товар, а настоящая инженерия живёт в цикле вокруг неё. Лучшие разработчики перестали спрашивать «что сказать агенту?» и начали спрашивать «какая система сделала бы это без меня?».
Источник: https://x.com/akshay_pachaar/status/2069118430582866051

