Claude Code: работа с coding-агентом6. Большие задачи: спека и тикеты
Смена курса: тикеты выбрасываем, спеку правим
Засчитывается, когда отвечены все вопросы квиза
Два тикета из пяти сделаны. Вы смотрите на результат и понимаете: подход неверный. Таблица, которую вы заказали, на реальных данных бесполезна, нужен график по неделям. Оставшиеся три тикета написаны под старую идею. Что дальше?
Зачем это нужно
Без готового рецепта в такой момент делают одно из двух. Либо «доделаем, а потом поправим» — и получают ещё три тикета кода, который придётся переписать. Либо «начнём с нуля» — и выбрасывают работу, которая вполне годится. Оба варианта дороже, чем нужно. Хорошая новость: разделение на спеку и тикеты заранее спроектировано под смену курса.
Как это устроено
У двух документов разное время жизни:
- спека — пункт назначения. Её можно и нужно править, пока работа идёт;
- тикеты — маршрут до него. Они одноразовые: если пункт назначения сменился, старый маршрут не нужен.
Поэтому смена курса — это не катастрофа, а пять шагов:
- Признать, что направление надо менять. Чем раньше, тем меньше лишнего кода.
- Закрыть невыполненные тикеты. Сделанное не трогаем, спеку не трогаем.
- Поправить спеку. Новая сессия, новый grilling: «вот где мы сейчас, вот что не так, вот чего я хочу теперь». Агент задаёт вопросы, вы отвечаете, спека обновляется.
- Нарезать тикеты заново через
/to-tickets— от того места, где вы стоите, к новому пункту назначения. Объём может немного вырасти: маршрут теперь начинается не с нуля. - Продолжить выполнение через
/implement.
Сделанные тикеты обычно остаются в коде. Откатывать их стоит, только если результат совсем плох: чаще новые тикеты просто учитывают то, что уже есть.
Если бы спека и тикеты жили в одном документе, пришлось бы выбрасывать половину файла и следить, чтобы не задеть вторую. Два документа делают эту операцию механической: один правим, другой пересоздаём.
Практика
Поставьте эксперимент на своих тикетах в Cadence. Откройте новую сессию и опишите смену направления:
/grill-me
We implemented tickets #5 and #6 of spec #4. The revenue table is not useful.
I want a weekly revenue chart instead. Help me update spec #4.
Обратите внимание, с чего агент начнёт: он должен сначала выяснить, что уже сделано и что меняется, и только потом предлагать правки. Если он сразу переписывает спеку целиком, остановите его и попросите вопросы. Когда спека обновлена, закройте старые невыполненные тикеты и запустите /to-tickets в той же сессии — все решения ещё в контексте.
Подводные камни
- Новая спека рядом со старыми тикетами. Если написать свежую спеку, а тикеты не закрыть, в трекере останется маршрут к пункту назначения, от которого вы отказались. Агент, взявший такой тикет, сделает ненужную работу.
- Правка спеки в старой сессии. Сессия, в которой выполнялись тикеты, полна деталей реализации. Для пересмотра цели лучше чистый контекст:
/clearили новая сессия.
Вывод: когда меняется цель, правьте спеку и пересоздавайте тикеты — пункт назначения редактируется, маршрут одноразовый.
Проверь себя
Два тикета сделаны, и вы понимаете, что весь подход неверный. Что сделать первым?
Зачем пункт назначения и маршрут живут в двух документах, а не в одном?
Вы обновили спеку в grilling-сессии. Откуда /to-tickets должен строить новые тикеты?
Источники
- Anthropic, Commands —
/clear - По мотивам AI Coding Crash Course, AI Hero: «Rerouting: When The Destination Changes»
Текст подготовлен с помощью LLM и может содержать неточности.