Глобальна група розвитку PostgreSQL відклала випуск PostgreSQL 19, одну з найбільш значущих змін у розкладі за 30-річну історію бази даних з відкритим кодом, після того, як перевірка коду за допомогою LLM виявила більше дефектів, ніж спільнота волонтерів могла вирішити до запуску.
Згідно зі звітом The Register, опублікованим 16 жовтня, реліз, який раніше був запланований на кінець вересня або початок жовтня, стане загальнодоступним приблизно 19 листопада. Разом із затримкою розробники повернули від восьми до десяти важливих функцій, перенісши їх до PostgreSQL 20 наступного року. For more context on this story, see our ongoing AI industry coverage.
Смуга якості переміщена в середині циклу
Пітер Айзентраут, віце-президент консалтингової компанії PostgreSQL EDB і один із провідних учасників проекту, виклав міркування в дописі в блозі під назвою «Повернення триватимуть, доки моральний стан не покращиться», опублікованому 9 жовтня.
За словами Айзентраута, деякі з відновлених функцій мали значні архітектурні дефекти, які було б важко виправити «швидко та під час бета-тестування». Але більш незвичайною проблемою був довгий хвіст дрібніших проблем, які попередні цикли випуску просто ніколи б не встигли вчасно виявити.
Перегляд коду за допомогою LLM, писав він, виявив «відносно нешкідливі проблеми, пов’язані з різними граничними випадками», які в минулому могли помічати лише через роки після запуску, зазвичай виявляючись у вигляді виправлень помилок протягом п’яти років після випуску. Завдяки перевірці штучного інтелекту ті самі дефекти тепер з’являються перед надсиланням коду.
«Завдяки перевірці коду за допомогою LLM такі речі можна знайти набагато швидше, а потім ви дивитесь на список із сорока звітів про дефекти», — написав Айзентраут. «Навіть якщо для кожного з них у середньому потрібно виправити лише три рядки, для кожного з них є фіксовані накладні витрати, а потім у вас вичерпається час».
Час зміни якості має значення не менше, ніж її масштаб. Коли були написані основні функції PostgreSQL 19, інструменти рецензування на основі LLM ще не були такими потужними, як це стало за кілька місяців до запуску. Проект фактично підняв власну планку якості після того, як код уже було зафіксовано.
«Ефективна планка якості була піднята після того, як функція була написана та зафіксована», — сказав Айзентраут. «Якщо можливості перегляду коду за допомогою LLM не покращуватимуться з поточною швидкістю, ця ситуація має вирішитися сама собою для майбутніх циклів розробки».
Не "Кодування Vibe"
Айзентраут був обережним, щоб відрізнити ситуацію від неохайної розробки, створеної ШІ. Повернення, підкреслив він, не були результатом «вібраційного кодування», оскільки ця техніка була недоступна, коли було написано більшість нових функцій PostgreSQL 19. Проблеми бази даних виникли через кращий огляд, а не через гіршу авторську роботу.
Ця відмінність робить цей епізод помітним для ширшої індустрії програмного забезпечення. Найрозвиненіша у світі база даних з відкритим кодом — вперше запропонована Майклом Стоунбрейкером у 1986 році та перейменована на PostgreSQL у 1995 році, коли Ендрю Ю та Джоллі Чен замінили мову запитів POSTQUEL на SQL — не зламалася через необережність розробників. Він затримався, тому що інструменти штучного інтелекту зробили існуючий контроль значно ефективнішим.
Флагманська жертва: графічні запити
Найвизначнішою функцією випуску є підтримка SQL Property Graph Queries (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 пропонує попередній перегляд. Кращий огляд знаходить більше помилок. Для усунення інших помилок потрібен час. І іноді найздоровішою реакцією на штучний інтелект, який знаходить більше дефектів, ніж може впоратися людина, є просто відправити пізніше.
---
Stay Ahead of AIGet the latest AI news, analysis, and breakthroughs — all in one place.
Read more AI news →