Claude Code: работа с coding-агентом6. Большие задачи: спека и тикеты
/goal или тикеты: кто ведёт большую задачу
Засчитывается, когда отвечены все вопросы квиза
У вас есть хорошая спека с ясными критериями приёмки. В Claude Code есть команда, которая как будто создана для неё: /goal заставляет агента работать, пока условие не выполнено. Зачем тогда резать спеку на тикеты, чистить контекст и запускать каждый вручную?
Зачем это нужно
/goal и тикеты решают одну задачу — довести большую работу до конца без вашего промпта на каждом шаге, — но по-разному обращаются с контекстом. От этого зависит качество кода в последней трети работы и её цена. Выбор стоит делать осознанно, а не по тому, что удобнее набрать.
Как это устроено
Что делает /goal. Вы пишете условие завершения:
/goal all tests in test/analytics pass and npm run typecheck exits 0
Установка цели сразу запускает turn — отдельный промпт не нужен. После каждого turn отдельная небольшая быстрая модель (evaluator) читает условие и разговор и выносит вердикт: «не выполнено» — Claude продолжает и получает причину как подсказку; «выполнено» или «невозможно» — цель снимается. Evaluator не запускает команды и не читает файлы сам: он судит только по тому, что Claude вывел в разговор. Поэтому условие пишут так, чтобы его доказывал вывод Claude: «npm test exits 0», а не «код хороший».
Важные границы:
- в сессии активна одна цель; новая заменяет старую;
- условие — до 4 000 символов; ограничить длительность можно прямо в нём:
or stop after 20 turns; /goalбез аргументов показывает статус: условие, время, число turn-ов, расход токенов;/goal clearснимает цель досрочно,/clear— тоже;/goalне меняет permission mode: чтобы turn-ы шли без подтверждений, включите auto mode. Auto mode убирает вопросы внутри turn-а,/goal— между turn-ами.
Где здесь контекст. Все turn-ы цели идут в одной сессии. Когда окно заполняется, работает auto-compaction. Если её не хватило, цель снимается с ошибкой. Автор оригинального курса описывает свой опыт так: в начале такой работы немного smart zone, а дальше — длинная dumb zone, где решения агента становятся хуже.
Что дают тикеты. Каждый тикет выполняется в свежем контексте, поэтому почти вся работа проходит в smart zone. Вы проверяете результат между тикетами и можете сменить курс. Нарезка спеки на тикеты обычно занимает пару минут.
| Спека + тикеты | Спека + /goal |
|
|---|---|---|
| Контекст | много свежих окон | одно окно с compaction |
| Контроль | проверка после каждого тикета | одно большое ревью в конце |
| Ваше участие | запуск каждого тикета | одна команда |
Практика курса — тикеты. Но оценка /goal зависит от того, насколько хорошо compaction справляется с вашей задачей. Если окно не переполняется или compaction вас устраивает, /goal с хорошей спекой — разумная схема: агент сам ведёт контекст и список задач, а вы проверяете соответствие спеке в конце.
Практика
Попробуйте /goal на маленьком, проверяемом куске, а не на всей спеке. В Cadence:
/goal npm run typecheck exits 0 and npm test exits 0, or stop after 10 turns
Через пару turn-ов выполните /goal без аргументов. Посмотрите на число turn-ов, расход токенов и последнюю причину evaluator-а. Затем откройте /context и оцените, сколько окна уже занято. Это и есть цена одного окна на длинной задаче.
Подводные камни
- Условие, которое нельзя показать в разговоре. «Дашборд выглядит хорошо» evaluator проверить не может. Нужен измеримый результат и способ его доказать.
- Manual mode. Без auto mode цель будет останавливаться на каждом запросе разрешения, и «работа без вас» не получится.
/clearпосреди цели. Он начинает новый разговор и снимает активную цель.
Вывод: /goal хорош для одного проверяемого результата, а большую спеку надёжнее вести тикетами — каждый в свежем контексте и с вашей проверкой.
Проверь себя
Вы ставите цель /goal the analytics page looks good. Что не так с этим условием?
/goal
принимает только имена тестовых файлов
npm test
exits 0».
Почему курс советует вести большую спеку тикетами, а не одной /goal?
/goal
работает в одном окне на compaction
/goal
нельзя проверить работу на соответствие спеке
Вы запустили /goal в Manual mode, и Claude постоянно останавливается. Что поможет?
or stop after 20 turns
/goal clear
и задать цель заново
/goal
не меняет permission mode. Он убирает промпты между turn-ами, а запросы разрешений внутри turn-а снимает auto mode. Они дополняют друг друга.
Источники
- Anthropic, Keep Claude working toward a goal
- Anthropic, Commands —
/goal,/clear,/context - По мотивам AI Coding Crash Course, AI Hero: «The Goal Command»
Текст подготовлен с помощью LLM и может содержать неточности.