Как читать книгу
Что такое паттерн
Паттерн — это способ решить задачу, которая встречается снова и снова. Из паттерна вы берёте принцип и подстраиваете его под ограничения своего проекта.
Например, принцип петли обратной связи такой: дайте агенту проверку, которую он запустит сам. А что это будет — тест, сборка или сравнение вывода с эталоном, — решаете вы.
Структура главы
Основная часть книги — главы трёх видов: паттерны, антипаттерны и обзоры инструментов. Главы о паттернах построены по общему шаблону. Вот его главные разделы:
- Назначение — какую задачу решает паттерн.
- Проблема — в какой ситуации возникает задача и какие у неё ограничения.
- Решение — принцип, на котором держится паттерн.
- Структура — диаграмма: какие у паттерна участники и как они связаны.
- Когда применять и Последствия — в каких условиях паттерн подходит и какие у него компромиссы.
- Реализация и Пример — как применить принцип на деле.
- Антипаттерны, Известные применения и Связанные паттерны — частые ошибки, практика и соседние подходы.
Антипаттерн — это заманчивое, но ошибочное действие. В главе об антипаттерне вы узнаете, к чему оно приводит и что сделать вместо него.
Из обзоров OpenSpec, Superpowers и скиллов Мэтта Покока вы узнаете, как работать с каждым инструментом и когда его выбирать. Команды зависят от версии инструмента, поэтому в каждом обзоре указано, когда их проверяли.
Группы
В оглавлении паттерны разбиты на группы по областям работы с агентом. Антипаттерны вынесены в отдельный раздел. В репозитории все главы одного языка лежат в одном каталоге, поэтому книгу удобно читать и прямо на GitHub.
Как выбрать паттерн
Найдите в таблице ситуацию, похожую на вашу, и начните с паттерна из второй колонки.
| Ситуация | С чего начать | Что получится | Основная цена |
|---|---|---|---|
| Правка небольшая, но неочевидная | Четыре фазы | Вы утверждаете план, и только потом агент пишет код | Ещё один шаг перед кодом: вы читаете план |
| Замысел пока только у вас в голове | Интервью у агента | Спецификация в файле SPEC.md, которую новая сессия поймёт без интервью | Придётся ответить на вопросы агента |
| Готовый план кажется слишком гладким | Гриллинг | Агент находит пропуски в плане, а решения по ним принимаете вы | Может выясниться, что работы больше, чем казалось |
| Фича не уложится в одну сессию | Спеко-ориентированная разработка | Спецификация, план и задачи с проверяемым результатом | Документы нужно обновлять, когда меняются требования |
| Нужны доказательства, что код работает | Петля обратной связи | Агент правит код, пока проверка не пройдёт, и прикладывает её результат | Слабая проверка пропустит ошибку |
| Работа слишком большая или расползается | Одна фича за раз и трассирующие тикеты | Небольшие части, и каждую агент проверяет целиком | Больше мелких частей и связей между ними, за которыми нужно следить |
| Работу нужно продолжить в новой сессии | Журнал прогресса или передача сессии | Новая сессия начинает с того места, где остановилась прошлая | Устаревший документ собьёт новую сессию с толку |
| Неясно, сработает ли идея на деле | Одноразовый прототип | Ответ на конкретный вопрос проектирования | Прототип придётся выбросить |
Некоторые паттерны решают похожие задачи, но в разные моменты работы. Например, журнал прогресса агент обновляет по ходу работы. А перед сменой сессии вы просите агента подготовить передаточный документ. Новая сессия может прочитать оба документа и узнать, что уже сделано и с какого шага продолжить.
В списке фич вы видите состояние всей работы. А по правилу одной фичи за раз агент заканчивает и проверяет одну фичу, прежде чем взять следующую. Если вы ещё не знаете, как решать задачу, начните с карты исследования: она помогает закрыть вопросы до того, как вы составите очередь задач.