Claude Code: работа с coding-агентом2. Как устроен coding-агент
Smart zone и dumb zone
Засчитывается, когда отвечены все вопросы квиза
Зачем это нужно
Утром агент спланировал фичу, разложил её по файлам и аккуратно написал первую половину. К вечеру в той же session он не может поправить один импорт, повторяет уже отвергнутое решение и забывает правило, которое вы дали ему в начале. Модель та же, задача проще — а результат хуже. Причина не в усталости и не в «плохом дне» модели, а в том, сколько текста накопилось в context.
Как это устроено
Модель понимает текст через attention: каждый токен соотносится с каждым другим. Оригинал курса показывает, как быстро это растёт: у двух токенов одна связь, у пяти — десять, у тысячи — порядка миллиона, у ста тысяч — порядка десяти миллиардов. Число связей растёт квадратично, и чем их больше, тем хуже модель замечает то, что действительно важно. Это attention degradation: как в шумной комнате, где все говорят одновременно.
Документация Claude Code говорит о том же практическим языком: большинство лучших практик держится на одном ограничении — context window заполняется быстро, и качество работы падает по мере заполнения. Когда context почти полон, Claude может начать «забывать» ранние инструкции и чаще ошибаться. Одна отладка или исследование кодовой базы легко съедает десятки тысяч токенов.
Оригинал курса называет две зоны:
- Smart zone — начало context window. Здесь агент хорошо планирует, пишет сложный код, принимает архитектурные решения.
- Dumb zone — заполненный context. Агент ещё что-то делает, но спотыкается даже на простом: записать файл, закрыть задачу, набросать короткую спеку.
Где проходит граница — вопрос спорный и зависит от модели. Автор оригинала на момент записи ориентировался на примерно 150 000 токенов и отмечал, что раньше эта граница была ниже и с новыми моделями сдвигается дальше. Это его рабочая практика, а не цифра из документации: используйте её как сигнал, а не как закон. Окно в миллион токенов, которое поддерживают многие модели Claude, не отменяет эффекта: длинный context нужен, например, для поиска по большому тексту, а не для того, чтобы вести в нём всю разработку.
Важно, что это склон, а не обрыв. Качество не падает в одной точке — оно снижается постепенно. Поэтому, когда session разрослась, пора думать, как из неё выйти, а не ждать явной поломки. Есть и денежная сторона: каждый запрос в dumb zone отправляет модели весь огромный context целиком, и вы платите за него каждый раз.
Что делать, по документации Claude Code:
/clear— начать разговор с пустым context. Подходит, когда вы переходите к несвязанной задаче./compact [instructions]— освободить место, заменив историю пересказом; можно указать фокус:/compact focus on the auth bug fix. Если ничего не делать, Claude Code сожмёт историю сам, когда context подойдёт к пределу.- Отдать объёмное чтение файлов subagent-у, чтобы оно шло в его context, а не в ваш.
Практика
В рабочей session, где вы уже что-то сделали, выполните /context. Вы увидите цветную сетку использования context window по категориям и подсказки, что занимает место. Посмотрите, какая доля приходится на сообщения разговора, а какая — на то, что загрузилось ещё до вашего первого запроса.
Затем выполните /compact с фокусом на текущей задаче и снова /context: сравните, сколько места освободилось. Если следующая задача не связана с текущей, вместо этого попробуйте /clear.
Подводные камни
- Две неудачные правки подряд — сигнал. Документация советует: если вы поправили Claude больше двух раз по одному вопросу, context забит неудачными попытками. Сделайте
/clearи начните с более точного промпта, в который вложите то, что узнали. - Session «на всё подряд». Начали с одной задачи, спросили о другой, вернулись к первой — context полон нерелевантного. Лечится
/clearмежду несвязанными задачами. - Compaction — не чистый лист. Пересказ сохраняет главное, но детали ранних инструкций могут потеряться. Правила, которые нужны всегда, держите в
CLAUDE.md.
Вывод: стройте работу так, чтобы агент как можно больше времени проводил в smart zone, и выходите из длинной session заранее, а не когда она уже сломалась.
Проверь себя
Почему агент работает хуже, когда context заполнен?
Вы третий раз поправляете агента по одной и той же ошибке, а он снова делает её по-старому. Что разумнее всего?
/clear
и начать заново с более точным промптом, учтя то, что выяснили
Вы закончили фичу и переходите к несвязанному багу в другом модуле. Какая команда подходит лучше?
/clear
/compact
без инструкций
claude --continue
/compact
нужен, когда вы продолжаете ту же работу и хотите освободить место.
Как правильно относиться к цифре «dumb zone начинается около 150 000 токенов»?
Источники
- Anthropic, Best practices for Claude Code
- Anthropic, Explore the context window
- Anthropic, Commands
- По мотивам AI Coding Crash Course, AI Hero
Текст подготовлен с помощью LLM и может содержать неточности.