Claude Code: работа с coding-агентом6. Большие задачи: спека и тикеты
Большие задачи: спека и тикеты вместо одной длинной сессии
Засчитывается, когда отвечены все вопросы квиза
Зачем это нужно
Баг-фикс или небольшая фича укладываются в одну session: вы ставите задачу, агент читает нужные файлы, правит код, гоняет тесты, и всё это время context window заполнен едва ли наполовину. Но однажды приходит задача другого масштаба: рефакторинг, который проходит через все слои приложения, или фича, про которую с первого взгляда ясно, что одной сессии не хватит.
Если отдать такую задачу агенту целиком, работа пойдёт в самой неудачной части окна. Документация Claude Code прямо называет главное ограничение: context window заполняется быстро, а качество работы модели падает по мере заполнения. Агент начинает «забывать» ранние инструкции и чаще ошибается. Длинная сессия с большой задачей проводит в этом состоянии большую часть времени.
Как это устроено
Оригинал курса называет начало окна smart zone, а заполненный хвост — dumb zone. Это не термин Claude Code и не точная граница в токенах, а рабочая модель: пока в контексте мало лишнего, агент держит в голове задачу и инструкции; чем больше в окне старых файлов, логов и неудачных попыток, тем хуже он соображает. Практика из этого простая: каждая единица работы должна начинаться и заканчиваться в smart zone.
Для маленькой задачи это получается само. Для большой есть два плохих варианта:
- одна длинная сессия — работа уходит в dumb zone, а затем срабатывает автоматическая компакция: Claude Code сжимает историю в краткое изложение, и часть деталей теряется;
- один подробный документ — агент знает, куда идти, но не знает, как разрезать путь, и снова пытается пройти его за один заход.
Разработчики решают это десятилетиями: большую задачу режут на куски. С агентом нужен кусок, который целиком помещается в smart zone одной сессии. Чтобы куски сложились в результат, нужны два документа.
Spec описывает пункт назначения: какую проблему решаем, что получит пользователь, какие решения уже приняты, что вне рамок. Spec передаётся в каждую сессию, чтобы агент понимал, как его кусок работы складывается в общую цель. В конце по той же spec проверяют, пришли ли туда, куда собирались.
Tickets описывают маршрут. Один ticket — один кусок работы на одну сессию: что сделать сейчас, что должно быть готово к концу, от каких других tickets он зависит. Ticket — это план реализации части spec, а не её краткий пересказ.
Каждый ticket выполняется в свежей сессии со spec в контексте. Документация Claude Code советует то же: когда spec готова, начинайте новую session для реализации — у неё чистый контекст, а под рукой есть письменная spec. Автор оригинала доводил так задачи с тридцатью tickets под одной spec.
Дальше раздел идёт по этому пути: где хранить spec и tickets (6.2), как получить spec из разговора с агентом (6.3) и как разрезать её на tickets (6.4).
Практика
Возьмите задачу из своей работы, которая кажется вам большой, и проверьте её на размер в Claude Code. Откройте сессию в репозитории и попросите агента оценить объём, ничего не меняя:
Don't change any files. Read the code relevant to this task and estimate:
which modules it touches, and whether it fits into one session.
Task: <ваша задача>
Когда агент ответит, выполните /context и посмотрите, сколько окна ушло на одну только разведку. Если заметная часть окна уже занята, а работа ещё не начата, задача просит spec и tickets.
Подводные камни
- Автоматическая компакция — не план. Claude Code сжимает историю, когда окно подходит к пределу, и сессия продолжается. Но сжимает он по своему выбору, и решения из начала разговора могут не дожить до конца задачи. Spec хранит их вне контекста.
- Spec без tickets. Описание цели без маршрута возвращает вас к одной длинной сессии.
- Tickets без spec. Каждая сессия делает свой кусок правильно, но не знает, зачем; на развилке агенту не на что опереться.
Вывод: задачу, которая не помещается в одну сессию, вы описываете дважды — spec говорит, куда идём, tickets говорят, какими шагами.
Проверь себя
Рефакторинг затрагивает все слои приложения, и сразу ясно, что одного context window не хватит. Как вы организуете работу?
Чем spec отличается от ticket?
Документация Claude Code советует после готовой spec начинать реализацию в новой сессии. Почему?
Вы ведёте большую задачу в одной сессии и замечаете, что агент перестал следовать договорённостям из начала разговора. Что это скорее всего значит?
Источники
- Anthropic, Best practices for Claude Code
- Anthropic, Explore the context window
- По мотивам AI Coding Crash Course, AI Hero
Текст подготовлен с помощью LLM и может содержать неточности.