Когда вы даёте задачу агенту, он не выполняет её одним махом. Он работает циклами. Получает задачу, думает, что нужно сделать первым шагом, делает этот шаг, смотрит на результат и решает, что делать дальше. Потом снова делает шаг, снова смотрит на результат — и так до тех пор, пока задача не будет решена или пока он не поймёт, что застрял и нужна ваша помощь.
Это похоже на то, как работает повар с незнакомым рецептом. Он не запоминает весь рецепт сразу и не готовит блюдо вслепую от начала до конца. Он читает первый шаг — «нарежьте лук» — делает его, смотрит, что получилось, читает следующий шаг и двигается дальше. Если на каком-то этапе что-то пошло не так, он возвращается и корректирует.
Разработчики называют этот цикл «Мысль — Действие — Наблюдение». Агент сначала формулирует мысль: «Мне нужно посмотреть, какие файлы есть в проекте». Потом выполняет действие — вызывает команду, которая показывает список файлов. Потом наблюдает за результатом — получает список и анализирует его. На основе этого наблюдения рождается следующая мысль: «Вижу файл bot.py, надо прочитать его, чтобы понять структуру». И цикл повторяется.
Вы могли видеть это своими глазами, если работали в Claude Code или Cursor в режиме агента. Агент не выдаёт готовый ответ мгновенно — он пишет «Thinking…», потом выполняет одно действие, показывает промежуточный результат и переходит к следующему. Каждый такой шаг — один оборот цикла.
Но чтобы этот цикл вообще мог работать, нужно перед каждым обращением к модели собрать для неё правильный контекст. Модель не помнит, что было на прошлом шаге — она каждый раз получает текст заново. Поэтому перед каждым оборотом цикла обвязка собирает «пакет» из нескольких частей: системная инструкция (кто ты, как себя вести), описания доступных инструментов (что ты умеешь делать), история предыдущих шагов (что ты уже сделал) и результат последнего действия (что получилось). Всё это склеивается в один текст и отправляется модели, а она на основании этого текста решает, что делать дальше.
Именно поэтому длинные сессии с агентом работают хуже коротких. С каждым шагом «пакет» растёт, в него добавляется всё больше истории, и в какой-то момент модель начинает терять из виду важные детали, утонувшие в потоке информации. Это не баг конкретного инструмента — это фундаментальное свойство того, как устроен цикл. Дальше мы разберём, как обвязка с этим борется.
Цикл заканчивается, когда выполняется одно из нескольких условий: агент дал финальный ответ без вызова инструментов, достиг установленного…