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