D-промпт: задание-контракт, а не пожелание

«Сделай журнал событий, чтобы ничего не терялось». Агент сделал. Терялось.

Потому что «чтобы ничего не терялось» — пожелание. Его нельзя проверить. Задание в WitnessDone (мы называем его D-промпт) устроено как контракт из четырёх частей.

Что читать

Конкретный список документов и контрактов, а не «изучи репозиторий». Агент видит ровно то, что нужно, и не додумывает остальное.

Как делать и что произвести

Список файлов, которые должны появиться. Всё, что появится сверх него, будет видно в акте как расширение объёма.

Что нельзя нарушать

Инварианты задачи, сформулированные жёстко. Не «постарайся не ломать», а «запись в журнал происходит до рассылки события; при сбое событие не теряется».

Как доказать

Пронумерованные утверждения приёмки: A03.1, A03.2… Каждое — наблюдаемое: его можно проверить командой и увидеть результат. Одно утверждение — один тест.

Ограничение объёма

Слишком большая задача режется на части заранее. «Как-нибудь осилим» — главный источник незаконченных хвостов.

Почему задание нельзя поправить по ходу

Если условие меняется во время реализации, акт перестаёт соответствовать заданию. Поэтому правка — это новая версия задания, а не реплика в чате. Само задание тоже проходит гейт качества до реализации: плохое задание дешевле переписать до кода.

Цена бездействия

Без контракта агент сам решает, что такое «готово». И решает в свою пользу.

Следующий пост — инварианты и запрет ярлыков неполноты.

Читайте серию на arhellist.ru.

https://arhellist.ru/blog/d-prompt-zadanie-dlya-agenta-kak-kontrakt-a-ne-pozhelanie/

#WitnessDone #SDD #промпты

D-промпт: задание-контракт, а не пожелание | Сетка — социальная сеть от hh.ru