Агентный цикл
Как Claude думает
Агентный цикл (agent loop) — это базовый механизм, по которому работает Claude Code. В отличие от обычного чата, где модель один раз отвечает на сообщение, агент повторяет цикл «рассуждение → действие → наблюдение» (на английском это называют reason–act–observe) до тех пор, пока задача не будет решена. На каждой итерации Claude анализирует (English: analyze) текущее состояние, выбирает один инструмент (English: tool) — например Read, Edit, Bash или Grep, — выполняет его, а затем оценивает результат и решает, какой шаг нужен следующим. Именно поэтому Claude может самостоятельно прочитать файл, найти ошибку, внести правку и запустить тесты, не спрашивая вас на каждом промежуточном шаге. Важно, что за один проход цикла делается ровно одно действие: модель не «придумывает» сразу весь план до конца, а строит его пошагово, опираясь на то, что реально вернул предыдущий инструмент. Такой подход с обратной связью (English: feedback loop) делает агента устойчивым к неожиданностям — если файл оказался не таким, как ожидалось, следующий шаг подстроится под факт, а не под предположение.
Ключевая деталь — каждое действие и его результат добавляются в контекстное окно (context window), общую память текущей сессии. В неё входят системный промпт (English: system prompt), история диалога и данные, полученные инструментами. Когда окно почти заполнено, Claude Code автоматически сжимает (English: compacts) старую часть истории в краткое резюме, чтобы продолжить работу. Этим же можно управлять вручную командой /compact — полезно перед длинной задачей, чтобы освободить место и сохранить только важное. Понимание этого объясняет, почему агент иногда «забывает» детали из начала очень долгой сессии: они попали под сжатие. По этой же причине стоит держать сессии тематически сфокусированными и при смене задачи начинать новую — так контекст не забивается лишним и агент работает точнее и дешевле по токенам.
Цикл не бесконечен. Claude останавливается, когда задача выполнена, когда ему нужен ваш ввод или подтверждение, когда достигнут лимит шагов либо размера контекста, или когда возникла критическая ошибка. Когда использовать это знание: формулируйте задачу так, чтобы у агента был проверяемый признак завершения (например, «тесты проходят») — тогда цикл сам дойдёт до конца. Типичные ошибки: слишком расплывчатая цель заставляет агент крутить лишние итерации; огромные файлы быстро забивают контекст; а отсутствие критерия «готово» приводит к ранней остановке с просьбой уточнить. Конкретный пример: на запрос «исправь баг в auth.ts» агент читает файл (Read), находит отсутствующую проверку на null, вносит правку (Edit), перезапускает тесты (Bash) и завершает цикл только после того, как тесты прошли.
Анализ
Claude анализирует запрос и текущий контекст
Понимание цели, определение необходимой информации, оценка текущего состояния
Анализ
Claude анализирует запрос и текущий контекст
Понимание цели, определение необходимой информации, оценка текущего состояния
Выбор инструмента
Выбирает подходящий инструмент для следующего шага
Read, Edit, Bash, Grep, Task или другой из 18+ инструментов
Выполнение
Выполняет действие с выбранным инструментом
Чтение файла, редактирование кода, запуск команды и т.д.
Оценка
Оценивает результат и решает что делать дальше
Задача выполнена? Нужны ещё действия? Возникла ошибка?
Каждое действие добавляет информацию в контекст. Когда контекст заполняется, Claude автоматически сжимает его:
💡 Используйте /compact для ручного сжатия контекста, сохраняя важную информацию
Задача выполнена
Claude определяет, что цель достигнута
Нужен ввод пользователя
Требуется подтверждение или дополнительная информация
Достигнут лимит
Превышено количество шагов или размер контекста
Ошибка
Критическая ошибка, требующая вмешательства
Ключевое понимание
Claude Code — это не просто генератор текста. Это агент, который автономно работает в цикле, пока задача не будет выполнена. Он может совершить десятки итераций, читая файлы, исправляя код, запуская тесты — всё это без вашего участия на каждом шаге.
Частые вопросы
Что такое агентный цикл в Claude Code?
Агентный цикл — это повторяющаяся последовательность «анализ → выбор инструмента → выполнение → оценка», по которой работает Claude Code. В отличие от обычного чата, агент сам решает следующий шаг на основе результата предыдущего и продолжает итерации, пока задача не будет выполнена или не сработает условие остановки.
Когда Claude Code останавливает работу и перестаёт делать шаги?
Цикл завершается в четырёх случаях: задача выполнена и цель достигнута; нужен ваш ввод или подтверждение действия; достигнут лимит числа шагов либо размера контекстного окна; возникла критическая ошибка, требующая вмешательства. Чтобы агент дошёл до конца сам, формулируйте проверяемый признак готовности — например «тесты проходят».
Что такое контекстное окно и зачем нужна команда /compact?
Контекстное окно — это память текущей сессии: системный промпт, история диалога и данные от инструментов. Каждое действие добавляется в него, и когда окно почти заполнено, Claude Code автоматически сжимает старую историю в краткое резюме. Команда /compact запускает это сжатие вручную — удобно перед длинной задачей, чтобы освободить место и сохранить только важное.
Почему Claude Code забывает детали из начала длинной сессии?
Потому что при заполнении контекстного окна старая часть истории автоматически сжимается (compact) в короткое резюме, и отдельные детали из начала сессии пропадают. Чтобы этого избежать, держите сессии тематически сфокусированными и начинайте новую при смене задачи — так контекст не забивается лишним.
Этот урок — часть структурированного курса по LLM.
Мой путь обучения