PostgreSQL 19 лишилась десяти функций после проверки кода с помощью ИИ

mr. Cooper • 1 неделю назад • Инсайды и новости
PostgreSQL 19 лишилась десяти функций после проверки кода с помощью ИИ

Из PostgreSQL 19 убрали от восьми до десяти крупных функций, часть из которых разрабатывали годами. В ходе подготовки релиза разработчики обнаружили архитектурные недостатки и множество ошибок в редких сценариях работы. Проверка кода с помощью искусственного интеллекта помогла выявить проблемы быстрее, чем раньше, но времени на исправление всего списка уже не оставалось.

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

В обычном цикле разработки из ветки PostgreSQL могут убрать одну функцию. В этот раз речь идёт примерно о десяти. Некоторые изменения пришлось откатить из-за серьёзных архитектурных недостатков. Другие столкнулись с длинным списком менее очевидных проблем, которые раньше могли обнаруживаться уже после выпуска - по мере использования базы данных и выхода исправлений.

Айзентраут описал ситуацию на конкретном примере. ИИ-проверка помогла собрать около 40 сообщений о дефектах. Даже если на исправление каждой проблемы требуется всего несколько строк кода, разработчикам необходимо изучить отчёт, проверить воспроизводимость ошибки, подготовить исправление и убедиться, что оно не нарушает работу других частей системы. В какой-то момент команда просто упёрлась в сроки.

Один из заметных примеров - SQL/PGQ, расширение SQL для запросов к графовым данным. Оно позволяет описывать связи между объектами через узлы и рёбра, что полезно, например, при анализе отношений между пользователями, организациями и другими сущностями. Поддержка графовых запросов вошла в стандарт SQL в 2023 году, но реализацию PostgreSQL решили не выпускать в версии 19 из-за нерешённых проблем.

Участник проекта Том Лейн предупреждал: если включить SQL/PGQ в релиз в текущем состоянии, после выпуска могут обнаружиться ошибки, исправление которых придётся отложить до PostgreSQL 20. Поэтому разработчики предпочли убрать функцию сейчас, а не оставлять её пользователям с известными проблемами.

При этом Айзентраут не сводит все откаты к работе ИИ. Он указывает и на другую причину: весной и летом 2026 года многие опытные разработчики занимались устранением уязвимостей безопасности. На обычную дополнительную проверку и тестирование новых функций во время бета-периода оставалось меньше времени. Когда эта работа возобновилась в полном объёме, часть проблем обнаружили уже довольно поздно.

Большинство функций, которые пришлось убрать, написали ещё до того, как ИИ-проверка кода стала настолько эффективной. Поэтому происходящее не связано напрямую с распространением так называемого vibe coding - разработки, при которой программист в значительной степени полагается на генерацию кода нейросетью. В данном случае ИИ в первую очередь проверял уже написанные программы.

Первый релиз-кандидат PostgreSQL 19 вышел 15 октября. Стабильную версию теперь планируют выпустить 19 ноября, второй релиз-кандидат назначен на 12 ноября. Среди возможностей, которые разработчики рассчитывают сохранить, - REPACK CONCURRENTLY, предназначенная для освобождения дискового пространства без длительной блокировки таблицы, характерной для VACUUM FULL.

Функции, не попавшие в PostgreSQL 19, могут вернуться в следующей основной версии - PostgreSQL 20. Ранее её собирались посвятить преимущественно исправлениям ошибок, но теперь в ней, вероятно, появятся и отложенные изменения.

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

Комментарии

Пока нет комментариев. Будьте первым, кто напишет.

Чтобы оставить комментарий, войдите в аккаунт.

Похожие статьи