# Что делает автономный луп безопасным Дата: 2026-07-14 Теги: agents, automation Источник: https://ponomar.art/notes/bezopasnyy-avtonomnyy-lup/ > Агент, который сам пишет в репозиторий по расписанию, ценен не тем, что делает, а тем, что его можно оставить одного. Это свойство ограничителей, а не модели. --- Автономный агент, который раз в неделю сам заходит в репозиторий и что-то там делает, звучит как вопрос про модель: достаточно ли она умная, чтобы ей доверять. На практике это вопрос про другое — можно ли оставить её одну. И ответ почти не зависит от модели. Он зависит от ограничителей, которые стоят вокруг неё. У меня уже какое-то время крутились такие агенты: ночной, который берёт задачу из трекера и открывает pull request; разметчик недоделанных дел. Но все они были **невидимыми процессами**. Нигде не записано, что это за агент, с каким бюджетом он бегает, насколько он автономен и куда пишет результат. Пока один — держишь в голове. На третьем перестаёшь. Разбирая чужую методологию про такие «лупы», я забрал из неё не инструменты, а одну дисциплину: **каждый повторяющийся агент должен быть объявлен, а репозиторий — иметь численную оценку готовности к автономии.** Не «есть автоматизация», а «вот этот луп, паттерн такой-то, уровень такой-то, потолок трат три доллара за прогон, отчитывается туда-то». Невидимый луп — самый дорогой: он жжёт токены и пишет в код, а никто не следит за его ритмом и радиусом поражения. ## Три уровня, и где стоит человек Автономность лупа — это не «включён или выключен». Это лестница, и на каждой ступени человек стоит в другом месте.
L1 АГЕНТ ОТЧЁТ читает потом — в код не пишет L2 АГЕНТ PR ВОРОТА MERGE L3 АГЕНТ В ПРОД человека в пути нет
L1 отчитывается, человек читает потом. L2 действует, но перед слиянием стоят ворота. L3 приземляет сам. Первый луп начинают с L1.
Уровень нельзя просто заявить. Оценка готовности репозитория — потолок: пока она низкая, репозиторию нельзя давать луп, который сам мёржит. Число становится воротами не только для человека, но и для того, насколько глубоко пускают агента. ## Первый луп: читает, но не трогает Пилотом я взял самый скучный и безопасный паттерн — еженедельный обход зависимостей. Раз в неделю он снимает бесплатный отчёт о просроченных и уязвимых пакетах, разбирает его и заводит **одну живую задачу** с триажем. И ничего не пишет в сам репозиторий — уровень L1, только чтение. Скучный снаружи, он держится на трёх ограничителях, и они важнее, чем сам агент. Первый — **бесплатный ранний выход**. Прежде чем звать модель, скрипт делает даровой машинный скан. Если обновлять нечего и уязвимостей нет — прогон завершается, не потратив ни цента. Луп, который платит за то, чтобы подумать о пустоте, разоряет незаметно. Второй — **жёсткий потолок трат**. У каждого прогона стоит предел в долларах. Даже если что-то пойдёт вкривь, счёт за неделю ограничен сверху числом, которое я назначил заранее, а не аппетитом агента. Третий — и он мне дороже всех — **проверяй, не доверяй**. «Только чтение» это не инструкция агенту в промпте. Это то, что я вынуждаю после него. Когда агент отработал, скрипт смотрит на рабочее дерево: если там появилась хоть одна правка — оно жёстко откатывается к чистому состоянию, а факт нарушения пишется в телеметрию. Обещание агента ничего не трогать — не гарантия. Гарантия — это ворота, которые стоят после него и не верят ему на слово.
ЛУП только чтение дерево чистое? да ПРИНЯТЬ нет ОТКАТ + ЗАПИСЬ НАРУШЕНИЯ
Обещание в промпте — не гарантия. Гарантия — проверка, которая стоит после агента и откатывает всё, что он тронул сверх дозволенного.
## Что он поймал в первый же раз За первый прогон, ценой чуть больше доллара, обход сделал ровно то, ради чего он есть — не свалку из `npm outdated`, а разбор. Он нашёл критическую дыру в библиотеке генерации PDF, сходил в код и увидел, что уязвимые вызовы там не используются — но патч всё равно советует взять. Он предложил обновление фреймворка, закрывающее два десятка уязвимостей, и проверил, что оно не мажорное и не рвёт зафиксированную пару версий. А ещё он поймал ловушку, на которой я бы сам споткнулся при беглом взгляде: у одной библиотеки аутентификации тег «latest» в реестре указывает на старую стабильную ветку, тогда как проект намеренно сидит на новой бете. Совет «просто обнови до latest» здесь означал бы откат назад. Агент это увидел и написал явно. Вот в этом и смысл. Ценность не в том, что автономный агент делает работу за меня. Ценность в том, что я могу уйти и не смотреть — потому что вокруг него стоят бесплатный выход при пустоте, потолок трат и проверка, которая не верит ему на слово. Умную модель дают. Право оставить её одну — зарабатывают ограничителями.