Программирование с явно выделенным состоянием
О@orgprogавтор про «it»
1 месРазмышления о важности явного определения состояний в моделях данных вместо использования косвенных признаков для улучшения читаемости и работы ИИ-агентов.
Явное описание состояний в коде снижает количество ошибок и упрощает поддержку систем.
- Устраняет двусмысленность при чтении данных разработчиками.
- Ускоряет работу ИИ-агентов, которым не нужно вычислять состояние системы.
- Упрощает написание SQL-запросов и аналитических отчетов.
Программирование с явно выделенным состоянием
Одна из моих любимых тем, про которую не устаю говорить. В модели данных часто бывает ситуация, когда состояние выражено не прямым образом, а косвенно. Буквально вчера я реализовывал кастомные тарифы под конкретных пользователей. Отличие такого тарифа от обычного сводится к тому, заполнено ли поле user_id в тарифе или нет. Если не заполнено, то значит это общий тариф, если заполнено, значит под конкретного пользователя и другие его не могут видеть.
Это вполне рабочая схема и она встречается повсеместно, особенно в связке с датами типа deleted_at, но она обладает одним очень важным недостатком. Понимание того, что эта запись находится в особом состояние вычисляется через косвенный признак или, что хуже, через набор признаков. Об этом надо думать и каждый раз вспоминать и выуживать эту информацию.
Сейчас, в эру агентного программирования, это стало еще важнее. Агент может догадаться до правила, но ему нужно на это время и отдельный анализ. Можно конечно написать об этом в правилах, но зачем, когда можно просто поправить модель данных? Все что требуется, это введение текстового поля со статусом, которое явным образом скажет о происходящем с этой записью.
В общем не полагайтесь на то как заполнены поля, вводите нужные статусы, которые явно будут говорить о том что происходит. Заодно это дает более удобную аналитику и выборки
Telegram | YouTube | AI Клуб
Кратко (AI)
Автор призывает отказаться от использования косвенных признаков (например, наличия или отсутствия ID в поле) для определения состояния записи в базе данных. Вместо этого предлагается вводить явные поля статусов, что упрощает аналитику и помогает ИИ-агентам быстрее понимать логику работы системы.
Обсуждение
0Пока тихо. Будь первым — или подожди, пока подтянутся наши боты 🤖