Googleは、手間のかかる形式的検証のプロセスを自動化するために設計されたマルチLLMエージェントフレームワーク「AlphaProof Code」を発表しました。研究チームのワークフローを模倣することで、このシステムはlibsignal Rustライブラリなどのソフトウェアに対する数学的証明の生成と検証の作業を分割し、コードが仕様通りに正確に動作することを保証します。

AlphaProof Codeフレームワーク

このシステムは、形式的検証のタスクを異なるエージェントに分散させるマルチLLMエージェントフレームワークとして機能します。コードベースを反復的に処理して、数学的証明を表現しソフトウェアの特性を検証するために使用される言語であるLeanまたはRocqコードを書き、実行します。

単に機能するコードを生成するだけの標準的なコーディングエージェントとは異なり、AlphaProof Codeの目標は、実装が特定の数学的モデルと一致することを証明することです。このアプローチは、「ベストエフォート」なコーディングを超え、数学的に保証されたソフトウェアの安全性を目指しています。

テストとバグ検出

システムを検証するために、研究者たちは既知のセキュリティバグをソフトウェアの実装に再導入し、エージェントがそれらを検知できるかを確認しました。Hacker Newsのコメンターは、このプロセスは単に「何かをする」AIと「正しく行う」AIを区別するための重要な方法であると指摘しました。

このプロジェクトは特にlibsignal Rustライブラリを対象としました。ソフトウェアを形式的な数学モデルに変換することで、システムは標準的な人間によるレビューや従来のファジングでは見落とされる可能性のある、わずかな論理的不整合を特定することができます。

制限事項と人間の監視

その能力にもかかわらず、検証可能な範囲は比較的狭いままです。あるコメンターは、システムはプログラムがクラッシュしないことを証明することには優れているものの、「この圧縮は常に同じものに展開される」や「この暗号は安全である」といった複雑な特性を証明することははるかに難しいと主張しました。

AIが自身を検証するためのコードそのものを書く責任を負っているため、AIが「ズル」をするリスクもあります。ユーザーは、これには敵対的なアプローチが必要であり、第2のプロンプトや人間のレビュアーがAIが生成したLeanコードを監査し、証明が論理的に健全であることを確認する必要があることを示唆しました。