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

Релиз, который когда-то планировался на конец сентября или начало октября, теперь, как ожидается, станет общедоступным примерно 19 ноября, согласно отчету The Register, опубликованному 16 октября. Помимо задержки, разработчики вернули от восьми до 10 важных функций, перенеся их на PostgreSQL 20 в следующем году. Подробнее об этой истории — в нашем тенденции ИИ.

Индикатор качества перемещен в середине цикла

Питер Эйзентраут, вице-президент консалтинговой компании PostgreSQL EDB и один из ведущих коммиттеров проекта, изложил доводы в блоге под названием «Откат будет продолжаться до тех пор, пока не улучшится моральный дух», опубликованном 9 октября.

По словам Эйзентраута, некоторые из возвращенных функций содержали серьезные архитектурные дефекты, которые было бы трудно исправить «быстро и во время бета-тестирования». Но более необычной проблемой был длинный хвост более мелких проблем, которые предыдущие циклы выпуска просто никогда не могли вовремя уловить.

Он написал, что проверка кода с помощью LLM выявила «относительно безобидные проблемы, связанные с различными крайними случаями», которые в прошлом могли быть замечены не раньше, чем через несколько лет после запуска, и обычно проявлялись в виде исправлений ошибок в течение пяти лет после выпуска. При проверке ИИ те же самые дефекты теперь проявляются до того, как код будет выпущен.

«Благодаря проверке кода с помощью LLM подобные вещи можно обнаружить гораздо быстрее, а затем вы смотрите на список из сорока отчетов о дефектах», — пишет Эйзентраут. «Даже если каждый из них требует в среднем только трехстрочного исправления, на обработку каждого из них потребуются фиксированные накладные расходы, и тогда у вас закончится время».

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

«Эффективная планка качества была поднята после того, как функция была написана и принята в эксплуатацию», — сказал Эйзентраут. «Если возможности проверки кода с помощью LLM не будут улучшаться нынешними темпами, эта ситуация должна разрешиться сама собой в будущих циклах разработки».

Не «кодирование Vibe»

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

Именно это различие делает этот эпизод примечательным для всей индустрии программного обеспечения. Самая развитая в мире база данных с открытым исходным кодом, впервые предложенная Майклом Стоунбрейкером в 1986 году и переименованная в PostgreSQL в 1995 году, когда Эндрю Ю и Джолли Чен заменили язык запросов POSTQUEL на SQL, не сломалась из-за неосторожности разработчиков. Это затянулось, потому что инструменты искусственного интеллекта сделали существующий контроль значительно более эффективным.

Флагманская потеря: запросы к графам

Наиболее заметной особенностью этого выпуска является поддержка запросов к графам свойств SQL (SQL/PGQ), возможности сопоставления графов, которая стала частью стандарта SQL в 2023 году. Синтаксис позволяет разработчикам исследовать отношения между узлами, соединенными ребрами, непосредственно в SQL, а реализация PostgreSQL была одной из самых ожидаемых функций PostgreSQL 19.

Оно было удалено из-за нерешенных проблем с корректностью. Соавтор PostgreSQL Том Лейн предупредил перед принятием решения, как сообщает The Register: «На данный момент я готов поспорить, что если мы выпустим его в версии 19, после релиза будут обнаружены ошибки, которые невозможно исправить до версии 20».

Ожидается, что возвращенные функции, включая SQL/PGQ, появятся в PostgreSQL 20. До недавнего времени считалось, что эта версия вообще не содержит новых функций — продолжение, ориентированное на стабилизацию. Теперь он, вероятно, поглотит вытесненную работу PostgreSQL 19.

Что еще будет в продаже в ноябре

Несмотря на задержки, Эйзентраут пообещал, что PostgreSQL 19 по-прежнему будет «отличным релизом». Среди сохраненных функций — REPACK CONCURRENTLY, который освобождает дисковое пространство без операции блокировки таблицы VACUUM FULL, которая долгое время была болевой точкой для производственных баз данных.

«И это будет очень надежно, после всех дополнительных проверок», - сказал он.

Сигнал для каждой инженерной команды

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

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

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

По мере того, как инструменты проверки ИИ распространяются по экосистеме с открытым исходным кодом (ядро Linux недавно формализовало правила раскрытия информации об использовании инструментов ИИ, дебаты, которые внимательно отслеживает The Register), опыт PostgreSQL предлагает предварительный просмотр. Лучший обзор находит больше ошибок. Исправление большего количества ошибок требует времени. И иногда самый здоровый ответ на ИИ, который находит больше дефектов, чем люди могут справиться, — это просто выпустить продукт позже.

---

Будьте в курсе ИИ

Последние новости, аналитика и прорывы в сфере ИИ — всё в одном месте.

Читать больше новостей об ИИ →