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