Розетку левее

Есть довольно плохой способ делать ремонт.

Каждые полчаса писать мастеру в Telegram.

«Розетку всё-таки левее». Через час: «Хотя нет, там будет шкаф. Верни обратно».

Потом выясняется, что холодильник другой ширины. Потом жена напоминает про посудомойку. Для неё нужна ещё одна розетка. А плитку мы, кстати, решили поменять.

Мастер вроде работает быстро. Даже очень.

Но к концу недели половину сделанного приходится переделывать.

И проблема, кажется, не в мастере. Примерно так сейчас иногда выглядит разработка с AI.

Ставим задачу: «Добавь повтор перевода». AI бодро пошёл писать код. Через десять минут вспоминаем, что зависший перевод повторять нельзя.

Потом — что при таймауте можно не всегда.

Потом нужно связать новую операцию со старой. Потом выясняется, что партнёр вообще может прислать SUCCESS через минуту.

И каждую новую мысль мы просто докидываем в чат.

Розетку левее.

Вот примерно для этой проблемы и придумали подходы вроде OpenSpec.

Не давать мастеру указания по одному сообщению. Сначала хотя бы нарисовать, что хотим получить.

В OpenSpec для изменения появляется отдельное место, где можно спокойно разложить тот же retry: когда разрешаем, когда запрещаем, что происходит со старой операцией, что видит клиент, что делать, если мы вообще не знаем, прошёл платёж или нет.

И тут обычно выясняется самое интересное.

«Если статус неизвестен — повтор запрещаем». Хорошо. А сколько ждём статус? А если партнёр ответит после этого? А если клиент уже успел повторить?

И задача «добавить retry» почему-то перестаёт быть задачей на одну кнопку.

Хотя она никогда ей и не была. Просто раньше половину проекта мы дорисовывали уже тогда, когда мастер штробил стену.

Мне ещё нравится, что для этого не нужен новый дом.

Если проекту пять лет и там миллион строк кода, никто не предлагает сначала описать вообще всё. Берём следующую доработку и нормально описываем только тот кусок, который собираемся трогать.

Следующая задача добавит следующий кусок. OpenSpec именно так можно подключать и к уже живому проекту.

И да, OpenSpec тут вообще не обязателен.

Можно делать то же самое в Markdown. В Jira. В репозитории. Хоть на салфетке, если команда потом сможет её найти.

Мне нравится не название инструмента, а сама привычка: сначала договориться, куда ставим розетку. Потом сверлить стену. Потому что AI сегодня сверлит очень быстро.

И если ошибиться стеной — тоже.

Розетку левее
Есть довольно плохой способ делать ремонт.
Каждые полчаса писать мастеру в Telegram.
«Розетку всё-таки левее».
Через час:
«Хотя нет, там будет шкаф. Верни обратно» | Сетка — социальная сеть от hh.ru