GitHub Copilot портит ваш дизайн баз данных

Вы смотрите на схему Rails с 47 таблицами. Связи напоминают спагетти. Вам нужно внедрить новую фичу к пятнице. Вы вставляете схему в Copilot и просите создать миграцию.

ИИ выдает код, который выглядит правильно. Вы его деплоите. Три недели спустя циклическая зависимость обрушивает процесс оформления заказа.

Это не ошибка Copilot. Это компостирование контекста (Context Composting).

Вы проектируете базу данных так, чтобы ИИ мог понять её в рамках одного промпта. Вы проектируете её не под требования вашего приложения.

Японский разработчик на Qiita отметил разницу в том, как команды используют ИИ. Многие западные разработчики пытаются экономить токены, предоставляя ИИ меньше контекста. Они используют короткие промпты и крошечные фрагменты данных.

Некоторые японские команды относятся к контексту как к архитектурному активу. Они используют документацию схемы в качестве каркаса для ИИ. Они пишут комментарии специально для того, чтобы модель понимала бизнес-правила и переходы состояний.

Это создает ловушку.

Я видел стартап, который принял философию проектирования «Copilot-first». Они упрощали связи и добавляли индексы только для того, чтобы ИИ было проще их сканировать.

Результат был плачевным:

  • Количество таблиц увеличилось на 30%, потому что ИИ не справлялся со сложными ассоциациями.
  • Производительность запросов упала.
  • Аналитические запросы стали на 40% медленнее.

Они оптимизировали систему под читаемость для ИИ и пожертвовали производительностью для людей.

Не позволяйте ИИ диктовать вашу архитектуру. Следуйте этим шагам, чтобы сохранить баланс:

  • Документируйте решения дважды. Пишите одну версию для ИИ и одну версию с объяснением «почему» для людей.
  • Раз в неделю вручную проверяйте одну миграцию, созданную ИИ. Прослеживайте каждый внешний ключ и индекс.
  • Отслеживайте свой «потолок ИИ». Записывайте, о каком количестве таблиц вы можете рассуждать в рамках одной сессии, прежде чем ИИ начнет ошибаться.
  • Проводите ежеквартальный аудит схемы. Спрашивайте себя: спроектировал бы архитектор-человек это так же, если бы не было ИИ?

Давление в сторону проектирования под ИИ будет расти. Фреймворки начнут предлагать «оптимизированные для ИИ» паттерны.

Лучшими разработчиками станут не те, кто сопротивляется ИИ. А те, кто сохранит остроту архитектурного мышления, чтобы вовремя заметить, когда ИИ уводит их не в ту сторону.

Ваша команда уже начала проектировать архитектуру с учетом контекста ИИ? Какова была цена, когда это вышло в продакшн?

Источник: https://dev.to/xu_xu_b2179aa8fc958d531d1/github-copilot-is-rewriting-how-you-think-about-database-design-and-not-in-a-good-way-1691

Дополнительное обучающее сообщество: https://t.me/GyaanSetuAi