← На главную

Борис Черны: внешние циклы — портирование быстрее, зависимость сильнее

23.06.2026 11:06 · hackernews

Больше не надо писать промпты вручную. Борис Черны, создатель Pi, сказал прямо: «Моя работа — писать циклы». Речь о новой парадигме. Внутри каждого кодинг-агента уже есть свой цикл: вызвал инструмент, прочитал файл, отредактировал, запустил тесты. Но сейчас набирает обороты другой — внешний, или «уровня обвязки» (harness loop).

Выглядит это так: задача попадает в очередь, машина её подхватывает, пытается решить, останавливается. Обвязка решает, что делать дальше: запустить тот же сеанс заново, отправить другому агенту или вставить новое сообщение. Задача живёт дольше, чем модель успела бы сказать «я закончил». В Claude Code такое практикуют с ранних версий, но сейчас эта тема заполонила Твиттер.

Автор честно признаёт: у него самого не очень получается применять такой подход к коду, который ему дорог. Ему важно понимать код, который он отправляет в прод, а гонять циклы означает отдать контроль. Проблема в том, что современные модели пишут слишком сложный и защитный код. Они панически боятся исключений (Карпати это называет «смертельным ужасом перед исключениями»). Вместо того чтобы сделать некорректное состояние невозможным, модели добавляют fallback на fallback, дублируют код и городит лишние абстракции. Если загнать такое поведение в цикл, оно только усиливается. Каждая итерация докручивает ещё одну локальную защиту, система становится непонятнее, а иллюзия надёжности растёт.

Но циклы работают блестяще в других местах. Портирование кода — идеальный кейс. Уже есть успешные примеры: части Bun переписывают с Zig на Rust. Тот же автор успешно портировал MiniJinja на Go. Отлично подходят исследование производительности, поиск уязвимостей и почти любая исследовательская работа. Общее у этих задач одно: либо они не создают новый код, а трансформируют существующий, либо код живёт недолго (прототипы, доказательства концепций).

Метафора, которую использует автор: мы движемся от «программного обеспечения как детерминированной машины» к «программному обеспечению как организму». Раньше можно было снять слой, докопаться до сути, понять все инварианты. Теперь с LLM мы диагностируем distributed systems почти как врачи: по симптомам, гипотезам, «дополнительным тестам». Пэтчи уже пишутся, ревьюются и мержатся машинами без участия человека.

Отказаться от такого будущего, похоже, нельзя. Безопасность — главный драйвер. Атакующие уже гоняют циклы на ваше ПО 24/7. Даже если вы не используете этот подход, вам придётся отвечать на AI-сгенерированные репорты (Дэниел Стенберг из curl красноречиво описал это в своём «лете блаженства»). Мейнтейнеры захлёбываются от такого шума.

Самое пугающее — новая зависимость. Не просто от денег на компилятор, а когнитивная. Что будет, если код написан циклами, проверен циклами и патчится циклами, а потом доступ к моделям перекрыли торговыми ограничениями? Или цена стала неподъёмной? Мы создаём кодовые базы, которые не просто тяжело поддерживать человеку — они предполагают участие машины как обязательное условие. Люди уже мержат код, который не могут объяснить, и общаются друг с другом через LLM.

Выход — не просто плодить ещё больше циклов. Нужны визуализации, которые делают изменения «внешнего цикла» читаемыми для человека, и новые способы композиции сложных систем. Нужно экспериментировать, чтобы сделать это будущее обозримым и контролируемым. Вопрос не в том, будем ли мы использовать циклы (это решено). Вопрос — как не отдать при этом инженерные принципы и человеческое суждение.

Читать оригинал →