Як перевірити специфікацію, написану ШІ:чек-лист до початку роботи агента.
ШІ-агент за хвилину пише впевнену, охайну специфікацію. У цьому й небезпека: вона добре читається, навіть коли помилкова. Цей чек-лист показує, на що дивитися, перш ніж сказати агентові починати.
macOS 14 або новіша. Читати можна безкоштовно; редагування й рев'ю оплачуються один раз.
Коротко
Перевіряйте специфікацію, написану ШІ, так само, як pull request: переконайтеся, що вона розв'язує ту проблему, потім шукайте, чого бракує. Пройдіть по обсягу й не-цілях, крайніх випадках, даних і міграціях, тестах і відкату та залиште коментар до кожного місця, яке хочете змінити, до того як агент напише код.
- [ ] Scope matches what I asked for
- [ ] Non-goals are listed
- [ ] Edge cases and errors are covered
- [ ] Data and migrations are explicit
- [ ] Tests prove each requirement
- [ ] There is a rollback
·
Чому специфікаціям від ШІ потрібна інша перевірка
Людина, що пише специфікацію, зазвичай лишає прогалини там, де не впевнена. Модель пише гладкий текст про все, зокрема про те, що вона вгадала. Тому звичних ознак слабкої специфікації, розпливчастих формулювань і очевидних дір, немає, а проблеми сховані в упевнених реченнях. Перевіряйте те, про що спитав би хороший автор.
Чек-лист
-
Обсяг: чи розв'язує вона те, про що ви просили?
Порівняйте перший абзац зі своїм запитом. Шукайте розв'язання іншої задачі та функції, про які ніхто не просив.
-
Не-цілі: чого вона не робитиме?
У специфікації без не-цілей немає меж. Додайте зайве, чого ви не хочете.
-
Припущення: що вона вгадала?
Шукайте «імовірно», «напевно» і все, що подано як факт про код чи дані, яких вона могла не читати. Попросіть указати файли.
-
Крайні випадки: що буде, якщо щось піде не так?
Порожній ввід, дуже великий ввід, немає прав, немає мережі, двоє користувачів одночасно, та сама дія двічі.
-
Дані: що зберігається, змінюється чи видаляється?
Поля, формати, хто може їх читати і що буде з наявними записами.
-
Міграції: як переносяться старі дані?
Зміні схеми потрібні порядок кроків, план на випадок збою на півдорозі та можливість безпечно запустити її двічі.
-
Інтерфейси: що ще зачіпається?
API, екрани, завдання, чужий код. Усе, що специфікація змінює, але не перелічує, потім стане сюрпризом.
-
Безпека й приватність: хто що може робити?
Нові права, нові дані, що йдуть із системи, секрети в логах.
-
Тести: як ви дізнаєтеся, що це працює?
Кожній вимозі має відповідати перевірка. Якщо вимогу не можна протестувати, перепишіть її.
-
Випуск і відкат: як це скасувати?
Прапорець, поетапний випуск, шлях назад. «Виправимо вперед» — не план.
-
Відкриті питання: хто їх вирішує?
Чесна специфікація перелічує, чого не знає. Якщо питань немає, будьте підозріливі.
Коментар, який працює
Розпливчастий відгук дає розпливчасте переписування. Хороший коментар рев'ю вказує на одне місце, каже, що не так і що ви хочете натомість:
> The export runs when the user taps Export.
Missing: what happens with a 2 GB file? Add a limit (R4) and an
error message, and say whether the export can be cancelled.
Тримайте коментарі окремо від тексту специфікації, щоб файл лишався чистим, і збирайте їх пакетом: спершу прочитайте всю специфікацію, потім коментуйте, щоб агент переписав її один раз, а не десять.
Цикл рев'ю
-
Спершу прочитайте від початку до кінця
Перш ніж коментувати, переконайтеся, що розумієте весь план.
-
Коментуйте точні місця
Одна проблема — один коментар.
-
Нехай агент виправить
Він виправляє кожен коментар і видає нову версію.
-
Дивіться, що змінилося, а не весь документ
Читайте відмінності. Виправлення може зламати те, що було гаразд.
-
Схвалюйте, лише коли чек-лист чистий
Тоді нехай будує, спираючись на пронумеровані вимоги.
Той самий чек-лист працює, коли один агент перевіряє специфікацію іншого. Попросіть рев'юера відповідати на кожен пункт цитатою зі специфікації.
Як це зробити в DotMD
Усе це можна зробити просто на сторінці. У DotMD ви виділяєте місце й пишете до нього коментар; коментарі зберігаються в DotMD, а не у файлі. Агент їх виправляє та надсилає документ знову, а перегляд змін показує старий текст червоним і новий зеленим, щоб ви приймали їх по одному. Налаштування описано в статті рев'ю ШІ-специфікацій. Читання безкоштовне; про рев'ю див. ціни.
Часті помилки
- Перевірка стилю, а не суті. Охайна специфікація все одно може бути хибною.
- Схвалення за обсяг. Довжина — не охоплення.
- Пропуск не-цілей і відкату, двох розділів, які моделі найчастіше пишуть скупо.
- Правка коду замість специфікації. Якщо план хибний, спершу виправте його.
- Немає другого погляду. Після правок агента перевірте diff.
Питання про перевірку специфікацій, написаних ШІ
Як перевірити специфікацію, написану ШІ?
Переконайтеся, що вона розв'язує ту проблему, потім шукайте, чого бракує: не-цілей, крайніх випадків, даних і міграцій, тестів і відкату. Прокоментуйте кожне місце й нехай агент виправить текст до того, як напише код.
Що має містити чек-лист рев'ю специфікації?
Обсяг, не-цілі, припущення, крайні випадки, дані, міграції, інтерфейси, безпеку, тести, випуск і відкат, відкриті питання.
Чи може один ШІ-агент перевіряти специфікацію іншого?
Так. Дайте рев'юерові чек-лист і попросіть відповідати на кожен пункт цитатою зі специфікації. Що приймати, вирішуєте все одно ви.
Чому б просто не читати код?
На той час рішення вже ухвалені, і змінювати їх дорого. Хибне припущення найдешевше виправити у специфікації.