← 最新の論文
🤖 AI

SmartEval: A Benchmark for Evaluating LLM-Generated Smart Contracts from Natural Language Specifications

本論文は、9,000 件の LLM 生成 Solidity コントラクトからなるコーパス、5 次元の評価基準、および LLM 生成コントラクトが機能的忠実性において実在の実装を上回ることを示しつつ、特徴的な失敗モードを明らかにする検証済みパイプラインを備えた包括的なベンチマーク「SmartEval」を導入する。

原著者: Abhinav Goel, Agostino Capponi, Alfio Gliozzo, Chaitya Shah

公開日 2026-05-12
📖 1 分で読めます☕ さくっと読める

原著者: Abhinav Goel, Agostino Capponi, Alfio Gliozzo, Chaitya Shah

原論文は CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む

あなたが、ただの平易な英語しか話さないボスだと想像してください。そして、デジタル銀行(「スマートコントラクト」と呼ばれるもの)のルールを作成するために、超賢いけれど文字通り受け取るロボットチームを雇いたいとします。あなたはロボットたちに、「誰かがお金を預けたら、レシートを渡せ。もし盗もうとしたら、ドアをロックせよ」と伝えます。

問題は、これらのロボットが指示を一字一句守ることは得意ですが、ルールの本質を見逃したり、銀行をクラッシュさせる可能性のある微小な間違いを犯したりすることです。現実世界では、一度デジタル銀行が構築されると、それを単に修正することはできません。それは永続的なものです。したがって、ロボットたちが本番を任される前に、彼らが良い仕事をしたかどうかをテストする方法が必要です。

この論文は、これらのロボットが書いたデジタルコントラクトを評価するための巨大な「成績表」システム、SmartEval を紹介します。

以下は、この論文が簡単な比喩を用いて解説する内容です。

1. 大試験(ベンチマーク)

研究者たちは、9,000 種類の異なるデジタルコントラクトを含む大規模なテストドライブを作成しました。

  • ソース: 彼らは、「アパートの賃貸契約が欲しい」といった平易な英語で書かれた 9,000 組の指示を取り出しました。
  • ロボット: これらの指示をトップクラスの AI(GPT-4o-mini)に与えて、実際のコードを生成させました。
  • 専門家: また、人間のエキスパートに、これらと同じコントラクトの「完璧な」バージョンを作成させました。
  • 目的: ロボットの成果と専門家の成果を比較し、どちらが優れているかを確認します。

2. 評価システム(ルーブリック)

単に「合格」か「不合格」かと言う代わりに、SmartEval はコントラクトを 5 つの特定の項目について評価する5 つの星評価システムを使用します。

  1. 求められたことはすべて実行されたか?(機能の完全性)
  2. 物事の正しい名前が使われたか?(変数の忠実性)
  3. 論理は正しく流れているか?(状態機械の正しさ)— これは、信号が赤から緑、そして黄色へではなく、緑から黄色、そして赤へ進むことを確認するようなものです。
  4. ビジネスルールは正しく理解されたか?(ビジネスロジックの忠実性)— これは最も重要な部分で、家賃が実際に徴収されることを確認するようなものです。
  5. コードは清潔でよく書かれているか?(コードの品質)

3. 「安全網」パイプライン

研究者たちは、AI にコードを書かせて結果を祈るだけにはしませんでした。彼らは、安全検査員を備えた工場ラインを構築しました。

  • ステップ 1: 「翻訳者」があなたの英語の文を厳密な設計図に変換します。
  • ステップ 2: 「建設者」AI がその設計図に基づいてコードを書きます。
  • ステップ 3: 「検査員」AI が、泥棒が施錠を解こうとするようなセキュリティの穴をチェックします。
  • 魔法のゲート: 検査員が深刻な問題(「中程度」または「高」の深刻度)を発見した場合、コードは工場から出ることはできません。それは間違いを修正するために「改善者」AI に送り返され、その後再検査されます。このループは、コードが安全になるまで繰り返されます。

4. 驚くべき結果

ロボットが書いたコントラクトと人間のエキスパートが書いたコントラクトを比較したとき、興味深いことが起こりました。

  • ロボットが勝ちました(紙の上では): AI が生成したコントラクトは、人間が書いたものよりも実際には高いスコア(約 8 ポイント)を獲得しました。
  • なぜか? ロボットは極めて文字通りでした。「ボタンを追加せよ」と言えば、ボタンを追加しました。指示を完璧に守りました。
  • 人間の強み: 人間のエキスパートは、コードを高速化したり安価にしたりするために(「ガス」手数料を節約するために)時として「手抜き」をしたり、見た目をきれいにするために整理し直したりすることがありました。テストが正確な指示に従うことに厳格だったため、人間は創造的すぎたり効率的すぎたりしたことで減点されました。
  • 落とし穴: ロボットは複雑なタスクに苦戦しました。指示が非常に長く複雑になったとき(8 つ以上の異なるルールを持つ契約など)、ロボットは間違いを犯し始め、コードはしばしばコンパイルに失敗(破損)しました。

5. 評価システムは機能したか?

研究者たちは懸念していました。「AI が自分自身を評価しているのではないか?」と。不正をしていないことを証明するために、彼らは 3 つのチェックを行いました。

  1. 人間によるチェック: コロンビア大学の 3 人の博士号を持つエキスパートが、30 のコントラクトを評価しました。彼らのスコアは AI のスコアとほぼ完全に一致していました(0.34 ポイント以内)。
  2. ツールによるチェック: 彼らは、コードを標準的な非 AI セキュリティスキャナ(Slither と呼ばれる)に通しました。AI オーディターとツールは、セキュリティ上の問題について79% の確率で一致しました。
  3. 「もしも」テスト: 彼らは工場ラインの一部(例えば安全検査員など)を無効にし、品質が低下することを確認しました。これにより、システム全体のすべての部分が実際に必要であることが証明されました。

結論

SmartEval は、AI が安全で機能するデジタルコントラクトを書けるかどうかをテストする、新しい信頼性の高い方法です。それは、AI が指示を文字通りに守ることは驚くほど得意ですが、非常に複雑で多段階の論理についてはまだ苦戦していることを発見しました。また、このシステムは、「安全検査員」と「修正ループ」を追加することで、ごちゃごちゃでエラーを起こしやすい AI を、単独で働く人間のエキスパートよりも安全な信頼できるコード生成器に変えることができることを証明しました。

重要な注記: この論文は、コードが正しく見え、コンパイルされることを認めていますが、実際の資金がライブ環境で移動する際に、コントラクトが実際に正しく動作するかどうかはテストされていないと認めています。また、AI はまだ人間のエキスパートのように資金(ガス手数料)を節約する方法を知らないとも指摘しています。

自分の分野の論文に埋もれていませんか?

研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。

Digest を試す →