Грабли
Разбирал чужой проект и наткнулся на три числа: 461, 466, 457.
Это баланс: один и тот же, из трёх источников. Детский агент начислял ребёнку звёзды за домашку, звёзды копились и менялись на мороженое.
В персоне агента было написано подробно и правильно: баланс считать суммой по журналу, отдельное число не хранить, у события есть ключ, перед начислением проверить, нет ли уже строки с таким ключом. Идемпотентность, всё как в учебнике.
Через месяц в журнал не было дописано ни одной строки. А три источника разошлись.
Вывод, который я забрал себе и повесил в правила:
Правило, живущее только в промпте - это намерение, а не механизм.
Модель прочитала. Модель согласилась. Модель не выполнила, потому что у неё нет обязанности выполнять - у неё есть склонность.
Что теперь уходит в код без обсуждения: арифметика, даты, идемпотентность, деньги. Всё, где расхождение видно не сразу, а через месяц, когда доверие уже потеряно.
У того же автора рядом лежит ещё честнее: 5863 строки отличного детерминированного Python, который в бою не вызывался ни разу. Ни одна из трёх баз данных не создана. Он написал прекрасный слой и не довёл до него живого пользователя.
Код, не встроенный в путь пользователя, эквивалентен ненаписанному.
Сколько у вас правил живёт в промпте, хотя должно было стать функцией?