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

Claude Code: работа с coding-агентом6. Большие задачи: спека и тикеты

Смена курса: тикеты выбрасываем, спеку правим

Засчитывается, когда отвечены все вопросы квиза

Два тикета из пяти сделаны. Вы смотрите на результат и понимаете: подход неверный. Таблица, которую вы заказали, на реальных данных бесполезна, нужен график по неделям. Оставшиеся три тикета написаны под старую идею. Что дальше?

Зачем это нужно

Без готового рецепта в такой момент делают одно из двух. Либо «доделаем, а потом поправим» — и получают ещё три тикета кода, который придётся переписать. Либо «начнём с нуля» — и выбрасывают работу, которая вполне годится. Оба варианта дороже, чем нужно. Хорошая новость: разделение на спеку и тикеты заранее спроектировано под смену курса.

Как это устроено

У двух документов разное время жизни:

  • спека — пункт назначения. Её можно и нужно править, пока работа идёт;
  • тикеты — маршрут до него. Они одноразовые: если пункт назначения сменился, старый маршрут не нужен.

Поэтому смена курса — это не катастрофа, а пять шагов:

  1. Признать, что направление надо менять. Чем раньше, тем меньше лишнего кода.
  2. Закрыть невыполненные тикеты. Сделанное не трогаем, спеку не трогаем.
  3. Поправить спеку. Новая сессия, новый grilling: «вот где мы сейчас, вот что не так, вот чего я хочу теперь». Агент задаёт вопросы, вы отвечаете, спека обновляется.
  4. Нарезать тикеты заново через /to-tickets — от того места, где вы стоите, к новому пункту назначения. Объём может немного вырасти: маршрут теперь начинается не с нуля.
  5. Продолжить выполнение через /implement.
Смена курса посреди работыНевыполненные тикеты закрываются, спека правится через grilling, тикеты нарезаются заново от текущего состояния, и выполнение продолжается.ПодходневерныйЗакрытьневыполненныетикеты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 или новая сессия.

Вывод: когда меняется цель, правьте спеку и пересоздавайте тикеты — пункт назначения редактируется, маршрут одноразовый.

Проверь себя

Источники

  • Anthropic, Commands — /clear
  • По мотивам AI Coding Crash Course, AI Hero: «Rerouting: When The Destination Changes»

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