Вы уже знаете главную боль долгой сессии: контекстное окно конечно, а исследование кодовой базы засоряет его быстрее всего. Вы просите Claude разобраться, где в проекте лежит логика авторизации, — он читает два десятка файлов, прогоняет несколько grep, выдаёт три абзаца вывода. Полезны из всего этого именно три абзаца. Но в контексте остались и двадцать файлов, и все промежуточные результаты поиска. Через час такой работы вы упираетесь в автокомпакт и теряете детали задачи, ради которой всё затевалось.
Подагенты решают ровно эту проблему. Подагент — отдельный работник с собственным контекстным окном: он делает шумную часть работы у себя, а в вашу беседу возвращает только итоговую сводку. После этого урока вы будете понимать, что именно попадает в контекст подагента, чем встроенные Explore и Plan отличаются от обычного делегирования и когда подагент экономит вам время, а когда только мешает.
Что уже умеем / что добавим
Вы умеете управлять контекстом вручную: следите за заполнением окна, чистите сессию, выносите постоянные правила в CLAUDE.md, а повторяющиеся процедуры — в скиллы. Вы даже видели скилл с context: fork, который выполняется в отдельном контексте.
Теперь мы разберём механизм, на котором это построено. Добавим понимание изоляции контекста, познакомимся со встроенными подагентами Explore, Plan и general-purpose и научимся осознанно решать, что делегировать, а что оставить в главной беседе.
Что вы узнаете в рамках статьи
- Что такое подагент и почему у него собственное контекстное окно
- Что попадает в стартовый контекст подагента, а что не попадает никогда
- Чем встроенные Explore и Plan отличаются от general-purpose
- Почему Explore и Plan не читают CLAUDE.md и git status
- В каких случаях делегирование экономит контекст, а в каких вредит
Ключевые термины
- Подагент (subagent) — вспомогательный агент внутри вашей сессии, работающий в собственном контекстном окне и возвращающий в главную беседу только итоговый результат.
- Изоляция контекста — свойство подагента: его чтения файлов, поиски и вызовы инструментов не попадают в контекст родительской беседы.
- Делегирующее сообщение — задача, которую Claude формулирует для подагента при передаче работы; это единственное, что подагент знает о вашем разговоре.
- Explore — встроенный подагент только для чтения, предназначенный для поиска файлов и исследования кодовой базы.
- Plan — встроенный подагент только для чтения, который собирает материал для плана в отдельном контексте.
- general-purpose — встроенный подагент с полным набором доступных подагентам инструментов: и исследование, и правки.
Что видит подагент, когда стартует
Главное свойство подагента — он начинает с чистого листа. Он не видит вашу переписку, не знает, какие скиллы вы вызывали, и не имеет доступа к файлам, которые Claude уже прочитал в главной беседе.
Стартовый контекст обычного подагента состоит из вполне конкретного набора:
- собственный системный промпт агента (тело его markdown-файла или предопределённый промпт встроенного агента) плюс сведения об окружении;
- делегирующее сообщение — задача, которую сформулировал Claude;
- файлы CLAUDE.md всей иерархии, которую загружает главная беседа;
- снимок git status, сделанный в начале родительской сессии;
- полное содержимое скиллов, перечисленных в поле
skillsагента.
Отсюда следует практический вывод: подагент знает ровно столько, сколько написано в делегирующем сообщении. Если задача звучит как «проверь это», подагент не поймёт, что такое «это». Формулируйте запрос так, чтобы он был самодостаточным.
Плохо: используй подагента и проверь, всё ли там в порядке
Хорошо: используй подагента Explore, чтобы найти все места,
где проект читает переменную окружения DATABASE_URL,
и вернуть список файлов со строками
Обратно в беседу возвращается только финальный отчёт подагента. Все его вызовы инструментов, прочитанные файлы и промежуточные рассуждения остаются в его контексте.
Три встроенных подагента
Вам не нужно ничего настраивать, чтобы начать: три подагента доступны сразу.
Explore — агент для поиска и исследования. Инструменты у него только на чтение, Write и Edit заблокированы. Он не сломает код, потому что физически не может писать в файлы. Claude указывает ему степень тщательности при вызове: quick, medium или very thorough. Explore одноразовый — он не возвращает идентификатор агента, и продолжить его нельзя.
Plan — тоже только чтение, но с другой целью: собрать материал для плана, не забивая ваш контекст исследованием. Тоже одноразовый.
general-purpose — полный набор инструментов, доступных подагентам. Это выбор для задач, где нужно и найти, и поправить.
Обращение к подагенту — обычный текст:
Используй подагента Explore, чтобы найти все обработчики
маршрутов в проекте, и верни список путей с номерами строк
Почему Explore и Plan не читают CLAUDE.md
Это единственные два подагента, которые пропускают CLAUDE.md и снимок git status. Все остальные — и встроенные, и ваши собственные — загружают их. Отключить или включить это поведение нельзя: поля во frontmatter для этого не существует.
Логика простая. Explore и Plan существуют ради скорости и дешевизны: их работа — быстро просмотреть проект. CLAUDE.md проекта может весить тысячи токенов, и грузить его в каждый поисковый запуск накладно.
Практическое следствие важное. Если в вашем CLAUDE.md написано «не трогай каталог vendor/», Explore этого правила не увидит. Но результат Explore читает главная беседа — а она CLAUDE.md загрузила. В большинстве случаев этого достаточно. Если же правило критично именно на этапе поиска, повторите его в запросе:
Используй Explore, чтобы найти все вызовы устаревшего API.
Игнорируй каталог vendor/ — там сторонний код
Когда делегировать, а когда нет
Подагент — не бесплатная операция. Он стартует с нуля и тратит время на сбор контекста, а его итоговый отчёт всё равно занимает место в вашей беседе.
Делегируйте, когда задача даёт много вывода, который вам не нужен целиком: прогон тестов, обход большой кодовой базы, разбор логов, чтение документации.
Используй подагента, чтобы прогнать тесты и вернуть
только упавшие с текстом ошибки
В главной беседе вывод занял бы сотни строк. От подагента приходит короткий список.
Оставляйте в главной беседе, когда нужны частые уточнения, когда несколько этапов работы опираются на общий контекст или когда правка мелкая и точечная. И помните про обратную сторону: если запустить десяток подагентов, каждый из которых вернёт подробный отчёт, суммарно они съедят контекста не меньше, чем сэкономили.
Частые ошибки
- Расплывчатая формулировка задачи. Подагент не видит вашей переписки, поэтому «проверь то, о чём мы говорили» для него пустой звук. Формулируйте задачу так, чтобы её понял человек, зашедший в проект с нуля.
- Ожидание, что Explore применит правила из CLAUDE.md. Explore и Plan этот файл не читают. Если правило важно для самого поиска — повторите его в запросе.
- Делегирование мелких правок. Изменить одну строку в известном файле быстрее самому: подагент потратит время на то, чтобы заново найти этот файл.
- Запуск множества подагентов ради экономии. Каждый вернувшийся отчёт занимает контекст. Десять подробных отчётов экономии не дадут.
Наиболее частые вопросы
- Видит ли подагент мою переписку? — Нет. Обычный подагент стартует с чистым контекстом; исключение только форк, о нём в уроке 7.4.
- Может ли Explore случайно изменить файл? — Нет. У Explore инструменты только на чтение, Write и Edit ему недоступны.
- Что именно возвращается в мою беседу? — Только финальный отчёт. Все прочитанные подагентом файлы и вызовы инструментов остаются в его контексте.
- Нужно ли что-то настраивать, чтобы пользоваться подагентами? — Нет. Explore, Plan и general-purpose доступны сразу, достаточно попросить Claude их использовать.
- Можно ли продолжить работу завершившегося Explore? — Нет, Explore и Plan одноразовые: они не возвращают идентификатор агента.
Итоги
Отличная работа — вы разобрались с одним из самых недооценённых механизмов Claude Code. Теперь вы понимаете, почему подагент экономит контекст: шумная часть работы остаётся у него, а к вам приходит только выжимка. Вы знаете, из чего складывается его стартовый контекст, чем Explore и Plan отличаются от general-purpose и почему эти двое сознательно не читают CLAUDE.md.
Самое ценное здесь — умение решать, что делегировать. Это навык, который приходит с практикой, и теперь у вас есть критерии: много шумного вывода — делегируйте, нужен диалог — оставляйте себе. В следующем уроке мы перейдём от встроенных агентов к собственным: научимся создавать файл подагента в .claude/agents/, ограничивать ему набор инструментов и выбирать модель под задачу.