低品質なソフトウェアが溢れる現代における課題
近年、AIを活用したプロジェクトが急増していますが、その中には品質が低く、まともに動作しない「vibeslop」(雰囲気だけで作られたお粗末なプロジェクト)と呼ばれるものが少なくありません。そのため、Hacker Newsなどの技術系ニュースアグリゲーターでは、新しいプロジェクトが発表されるたびに、懐疑的な見方がされる傾向にあると感じます。
「私たちは、もっと野心的なソフトウェアを構築すべきだ」
この言葉は、PostgresのRustリライトプロジェクト「pgrust」を開発するMichael Malis氏が提唱するものです(Hacker News (API))。しかし、多くのAI生成プロジェクトが低品質であるため、pgrustのような大規模なリライトプロジェクトも、その実力を見極めるには慎重な評価が求められます。私自身も、Malis氏の仕事ぶりを知らなければ、同様に「vibeslop」だと決めつけてしまったかもしれません。
「pgrust」が示す野心的な開発の可能性
Malis氏のpgrustは、PostgresをRustでリライトすることでパフォーマンス向上を目指していますが、その開発過程で驚くべき成果を出しています。pgrustのテストを通じて、Postgres自体の深刻なバグを複数発見し、報告しているのです。具体的には、SP-GiST操作の失敗につながる数値バグ、JSONPathからの誤った結果を引き起こすフォーマットキャッシュバグ、後続の操作が失敗するpgcryptoバグ、複数のメモリ安全性バグなどが挙げられます(Hacker News (API))。
これらの発見は、pgrustが単なるコンセプト検証ではなく、徹底した品質検証が行われている証拠と言えるでしょう。たとえpgrust自体が最終的に成功しなかったとしても、その開発過程でPostgres本体の品質向上に貢献している点は非常に意義深いと感じます。また、pgrustで実証された最適化技術が、PostgresやClickhouseなどの他のデータベースにも取り入れられる可能性も十分に考えられます。
AI時代の開発における「can」と「should」
主記事の筆者は、Malis氏の「私たちは、もっと野心的なソフトウェアを構築すべきだ」という言葉に対し、「『すべきだ (should)』ではなく、『できる (can)』と言うべきではないか」と意見しています(Hacker News (API))。これは、AIなどの新しい技術の登場により、過去には実現困難だった大規模なプロジェクトが、現在では現実的に構築可能になっているという側面を強調していると感じます。
例えば、現在のAIモデルは以前よりもはるかに高速化しており、モデルの実行速度が10倍から100倍に向上した場合、既存のボトルネック(Ripgrep、Rustコンパイル、システムコール、ファイルシステムオーバーヘッドなど)がより顕著になる可能性があります(Hacker News (API))。これらのボトルネックは、個人プロジェクトのレベルであっても、真剣に取り組むことで大幅に改善できる余地があるのではないでしょうか。
| 項目 | 過去の課題 | 現在の可能性(AIの進化による) |
|---|---|---|
| プロジェクト規模 | 大規模なリライトは困難 | AI活用で実現可能性が向上 |
| 品質検証 | 時間とコストがかかる | AIによるテスト支援が期待される |
| パフォーマンス最適化 | 手作業でのチューニングが主 | AIを活用したボトルネック分析 |
エンジニア目線で見ると:AIを使いこなす開発者の真価
「vibeslop」プロジェクトの増加は、AIコーディングツールが普及する中で避けて通れない課題だと感じます。しかし、だからこそ、AIを単なるコード生成ツールとして使うだけでなく、その先にある品質向上や根本的な課題解決に挑む開発者の価値が高まっているのではないでしょうか。pgrustの事例は、AIが生成したコードの検証や、より深いレベルでのシステム改善に焦点を当てることで、既存の主要なプロジェクトにまで良い影響を与えられることを示しています。
私自身、Claude Codeを使ってバイブコーディングを実践していますが、生成されたコードの品質を見極め、さらにその先の最適化や堅牢性の向上に取り組むことの重要性を日々感じています。AIが書いたコードはあくまで出発点であり、その後の徹底的なテスト、ベンチマーク、そしてシステム全体を見通した改善プロセスこそが、真に価値あるソフトウェアを生み出す鍵だと考えます。
特に、Postgresのような基盤となるソフトウェアのバグを見つけるような深いレベルでの検証は、既存のツールではなかなか難しい領域であり、人間のエンジニアの洞察力と粘り強さが不可欠だと感じます。自分の個人プロダクトでも、AI生成コードを盲信するのではなく、もっと根本的な改善に取り組んでみたい、と改めて思いました。