Справочник · learn-se

Чек-лист: постановка задачи агенту

Пять блоков хорошей спеки. Не каждой задаче нужны все пять — но пропуск должен быть осознанным.

#БлокВопрос, на который отвечает
1КонтекстГде в продукте это живёт и зачем пользователю? Одно-два предложения.
2Поведение (Given/When/Then)Что наблюдаемо меняется? Сначала happy path, затем edge cases.
3Границы (scope)Что явно НЕ входит? Что не трогать?
4Acceptance criteriaПо какому списку наблюдаемых фактов агент проверит себя сам?
5Свобода реализацииЧто агент решает сам? (По умолчанию — всё, что не в пунктах 2–4.)

Шаблон

Контекст: [где и зачем]

Поведение:
- Given [состояние], when [действие], then [наблюдаемый результат]
- Given [edge case], when [действие], then [что должно произойти]

Не входит: [out of scope, что не трогать]

Критерии приёмки:
- [ ] [проверяемый факт 1]
- [ ] [проверяемый факт 2]

Реализацию (файлы, подход) выбери сам. Если видишь
противоречие или пробел в сценариях — спроси до начала.

Быстрая самопроверка спеки

СимптомДиагноз
В спеке есть имена файлов, хуков, библиотекТы пишешь implementation, а не spec. Убери — или осознай, зачем ограничиваешь.
Результат нельзя проверить, не читая кодКритерий не наблюдаемый. Переформулируй через поведение.
Один сценарий, нет edge casesСпека описывает только happy path — жди итераций. Спроси себя: пусто? ноль? повторное нажатие? нет сети?
Нет «не входит»Агент может унести задачу в попутный рефакторинг.
Спека длиннее будущего диффаOverkill: для микро-правок хватит одного предложения с наблюдаемым результатом.