PostgreSQL 19が延期、AIのバグ発見に人間の修正が追いつかない
PostgreSQL 19は当初、10月29日に正式リリースされる予定だった。しかしプロジェクトはRC2を追加し、正式版を11月19日に延期すると発表した。保守ブランチに最近加わった修正が多く、コミュニティによる再検証が必要になったためだ。
今回の延期が注目される理由は、AIがソフトウェア開発の品質基準を変えつつあるからだ。PostgreSQLのコアコミッターであるPeter Eisentraut氏によれば、問題の多くはAIが生成した低品質なコードに起因するものではない。大半の機能はLLMによる開発支援が成熟する前に完成していた。変化したのは、AIが従来の開発プロセスを通過したコードを、改めて大規模にレビューし始めたことだ。
主なポイント
- ベータ開始後、約8〜10件の重要機能が撤回された。
- 一部は設計やアーキテクチャの問題で、短期間で安全に修正するのが難しかった。
- それ以外にも、単独では小さく見える境界条件のバグが大量に発見された。
- AI支援のファジングは、人間が列挙しにくいデータベース機能の組み合わせを生成できる。
- SQL/PGQも未解決の問題とリスクを理由にPostgreSQL 19から外れ、将来のリリースでの復帰が見込まれている。
PostgreSQLでは、domain、複合型、パーティション、ビュー、トリガー、security-definer関数などが複雑に組み合わされる。新しいSQL機能は、単純な利用例だけでなく、こうした機能の多重な組み合わせでも正しく動作することが期待される。しかし人間がすべての組み合わせを手作業でテストするのは現実的ではない。AIは異常な入力を生成し、失敗した経路をさらに掘り下げる作業を高速に実行できる。
その結果、AIは品質を高めながら、短期的にはリリースを遅らせる可能性がある。バグを発見しても、再現、影響評価、仕様との照合、修正、回帰テストが必要だ。数行の修正で済む問題でも、報告が数十件積み上がれば、人間の確認コストは大きくなる。
今回の背景には、集中的なセキュリティ対応や、データベース自体の複雑化もあった。チームは未解決のリスクを抱えたまま出荷するのではなく、より保守的な判断を選んだ。今後はAIをベータ後の検査だけでなく、機能開発の早い段階から導入し、重大な欠陥、許容可能な境界動作、誤検知を分類する仕組みが必要になる。AIが探索範囲を広げても、最終的に「出荷してよい」と決めるのは人間だ。
出典:InfoQ 中文
コメント
ログイン状態を確認中…
コメントを読み込み中…