Перейти к тексту

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, а не её краткий пересказ.

Большая задача идёт от grilling к spec, от spec к tickets и обратно к проверке по specСверху вниз: grilling даёт spec, spec делится на три ticket, каждый ticket выполняется в своей сессии, и все результаты проверяются по той же spec. Spec — цель, tickets — маршрут.GrillingSpec: куда идёмTicket 1Ticket 2Ticket 3Проверка по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 говорят, какими шагами.

Проверь себя

Источники

Текст подготовлен с помощью LLM и может содержать неточности.