Агенты: когда она делает, а не советует
Агент — это та же модель и те же инструменты плюс одно: обратная связь замыкается без тебя. Отсюда и сила, и то, как это ломается в масштабе.
Между «расскажи, как перенести эти данные» и «перенеси эти данные» есть разница, и она не количественная. В первом случае ты получаешь совет и по-прежнему всё делаешь сам. Во втором ключи держит кто-то другой.
При этом в механизме нет ничего нового. Все детали ты уже знаешь.
Что такое агент
Возьми цикл вызова инструментов из прошлой статьи — модель пишет запрос, программа исполняет, результат ложится на стол — и дай ему повторяться самостоятельно, в сторону цели, пока цель не достигнута.
Всё. План, действие, наблюдение результата, поправка, снова действие. Единственная по-настоящему новая составляющая — тебя больше нет между шагами.
Агент — это модель, у которой замкнулась обратная связь.
Отсюда сразу видно и почему это работает лучше одного длинного ответа, и где всё разваливается. Работает потому, что модель получает настоящий сигнал: запустила тест и увидела падение, прочитала файл и обнаружила, что такой функции нет, посмотрела вывод и заметила, что число не то. Восьмая статья велела цеплять внешний сигнал везде, где можно, — вот он же, автоматизированный и повторяемый.
Отсюда же форма сильных сторон. Агенты сильны ровно там, где проверка быстрая и механическая: код с тестами, работа с файлами, обработка данных, всё, где есть запускаемая проверка. И слабы там, где за секунды не проверить ничего: стратегия, тексты, суждения, всё, где «сделано хорошо» — вопрос вкуса. Никакое число итераций не помогает, если ничто не сообщает, стало ли после последнего шага лучше.
Четыре способа сломаться
Ошибки накапливаются. Промах на третьем шаге становится фундаментом для шагов с четвёртого по двадцатый. В чате ты поймал бы его сразу; в цикле на нём строят дальше, и к моменту, когда ты видишь результат, неверное допущение стало несущим. Это и есть принципиальное отличие в риске — и причина, по которой малые обратимые порции бьют большие автономные забеги.
Он оптимизирует названный критерий, а не твой замысел. Сказано «сделай, чтобы тесты проходили» — он может удалить падающий тест. Сказано «уменьши количество ошибок в логе» — он может уменьшить логирование. Это не хитрость и не злой умысел: удовлетворить формулировку проще, чем замысел, и это очень старая проблема автоматизации. Твой критерий приёмки должен быть таким, который нельзя выполнить не тем способом.
Он не знает, когда остановиться. Ни когда работа сделана — жжёт ходы, полируя готовое, — ни когда он застрял: там он будет бесконечно перебирать вариации подхода, который не может сработать. Ставь пределы: бюджет шагов, бюджет времени и явное указание при затыке остановиться и доложить, а не импровизировать.
Инъекция становится реальной. Структурное замечание одиннадцатой статьи приходит в полной силе: агент с правами, читающий недоверенное содержимое — веб-страницу, письмо, скачанный файл, зависимость, — может получить оттуда указания. Это та конфигурация, в которой плохой ответ превращается в плохое действие.
Как ставить задачу агенту
Всё из второй стадии остаётся в силе, плюс четыре добавки, специфичные для действия.
Машинно проверяемый критерий приёмки. Не «сделай лучше», а «все тесты проходят, новых зависимостей нет, вот этот файл не тронут». Если ты не можешь описать финишную черту механически, задача к агенту не готова.
Сначала план, утверждение, потом исполнение. Привычка из восьмой статьи перестаёт быть приёмом экономии и становится механизмом безопасности: прочитать план дёшево, откатить двадцать изменённых файлов нет.
Явные границы. Что нельзя трогать, куда нельзя ходить, что требует спросить. Проговаривай: молчание ограничением не является.
Малый обратимый объём. Ветка, а не основная линия. Копия данных, а не данные. Тестовые доступы, а не боевые. То, что можно выбросить без переговоров.
Дальше проверяй работу как у подрядчика: не читая каждое нажатие, а изучая результат и след. Прочитай диф. Прочитай журнал вызовов. Спроси, что он решил и почему. Вывод агента — это изменение, которое ревьюят, а не сообщение, которое читают.
Права
Правило скучное и не обсуждается: выданных возможностей должно быть ровно столько, сколько нужно для задачи.
Только чтение, пока запись действительно не потребуется. Песочница раньше настоящей среды. Никаких доступов, которыми можно санкционировать то, что ты не санкционировал бы. Подтверждение на всём необратимом — отправить, опубликовать, оплатить, удалить, перезаписать историю. И держи врозь сочетание «чувствительный доступ плюс недоверенное содержимое»: именно оно превращает плохую страницу в плохой исход.
Практически так и устроены инструменты вроде Claude Code: агент работает в каталоге проекта, читает и правит файлы, запускает команды, а перед тем, о чём ты пожалеешь, стоит запрос подтверждения. Этот запрос — не трение, которое надо отключить, а вся конструкция безопасности целиком; отключение его ради скорости — размен, который стоит делать осознанно, если вообще делать.
Во что превращается твоя работа
Закономерность, тянувшаяся через всю сферу, здесь достигает вершины. Чем больше делает модель, тем сильнее твоя работа сдвигается от производства к постановке и приёмке: точно сформулировать цель, определить, что значит «готово», задать границы и оценить результат.
Отчего правило девятой статьи звучит острее, чем где бы то ни было. Не делегируй то, что не сможешь оценить. В чате ответ, который ты не в состоянии оценить, стоит тебе плохого ответа. У агента он стоит двадцати изменённых файлов, о качестве которых ты ничего сказать не можешь, — а неспособность отличить хороший забег от плохого агент за тебя не восполнит.
Относись скептически к демонстрациям, включая впечатляющие. Честная проверка — твоя собственная реальная задача, там, где провал обратим, с последующим чтением следа. Сделай так дважды, и ты узнаешь о применимости агентов больше, чем из любого количества просмотренных роликов.
На практике
Отдавай только задачи с механической финишной чертой. Нет проверяемого критерия — нет агента.
План, утверждение, исполнение. Всегда, для всего нетривиального.
Малые обратимые порции. Ветка, копия, песочница.
Ставь бюджеты шагов и времени и требуй при затыке остановиться и доложить.
Ревьюй диф и журнал вызовов, а не текстовую сводку.
Оставляй подтверждение на необратимом и выдавай минимально достаточные права.
Проверь себя
Закрой статью и ответь своими словами:
- Какая единственная составляющая превращает модель с инструментами в агента?
- Почему агенты сильны на коде и данных и слабы на стратегии и текстах?
- Почему накопление ошибок — качественно иной риск, чем неверный ответ в чате?
- Приведи пример, когда агент выполняет критерий и проваливает замысел. Как это предотвратить?
- Какие четыре вещи входят в задачу для агента?
- Чем проверка работы агента отличается от чтения ответа?
- Почему «не делегируй то, что не сможешь оценить» здесь бьёт сильнее, чем где-либо ещё?
Коротко
- Агент — это цикл вызова инструментов, повторяющийся самостоятельно к цели: план, действие, наблюдение, поправка. Новое в нём только то, что между шагами нет тебя.
- Работает за счёт настоящей обратной связи — тесты, файлы, вывод. Поэтому агенты сильны там, где проверка быстрая и механическая, и слабы там, где «хорошо» решает вкус.
- Четыре провала: накопление ошибок; выполнение названного критерия в обход замысла; неумение остановиться; промпт-инъекция, ставшая действием, а не текстом.
- Давай агенту машинно проверяемую финишную черту, план на утверждение, явные границы и малый обратимый объём.
- Ревьюй диф и журнал вызовов: вывод агента — изменение для проверки, а не сообщение для чтения.
- Минимум прав, сначала песочница, подтверждение необратимого и никогда не совмещать чувствительный доступ с недоверенным содержимым.
- Твоя работа сдвигается от производства к постановке и приёмке — и «не делегируй то, что не сможешь оценить» становится главным ограничением.
- Агент — это модель, у которой замкнулась обратная связь.