SolAgent: A Specialized Multi-Agent Framework for Solidity Code Generation
SolAgentは、ForgeコンパイラとSlither静的解析器を組み合わせた二重ループ精緻化メカニズムを活用することで、安全で機能的なSolidityスマートコントラクトの生成において既存のLLMやAIツールを大幅に凌駕すると同時に、高品質な軌跡をより小さなオープンソースモデルへと蒸留することも可能にする、特化したマルチエージェントフレームワークです。
原論文は CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む
SolAgent の解説:クリエイティブな比喩を用いたコンセプト解説
大きな問題: 「魔法のペン」でデジタル要塞を築くこと
あなたは、数百万ドルを保管するデジタル要塞(スマートコントラクト)を築いていると想像してください。一度、壁を築き、扉をロックしてしまうと、レンガ一つたりとも変更することはできません。もし小さなミスがあれば、泥棒が侵入し、すべてを盗み去ってしまう可能性があります。
最近、私たちはコードを瞬時に書いてくれる「魔法のペン」(大規模言語モデル、または LLM)を手に入れました。しかし、このペンは非常に自信満々ですが経験不足な見習いのようなものです。見た目は美しいコードを書きますが、実際には以下のようなことがよく起こります:
- 機能しない: コードに隠れたエラーがあり、即座にクラッシュしてしまう(コンパイル失敗)。
- 安全ではない: ハッカーが悪用できる隠れたバックドアを残してしまう。
- 行き詰まる: 要塞全体を一気に書こうとして、処理能力を超え、途中で投げ出してしまう。
論文では、単に魔法のペンに「安全なコントラクトを書いて」と頼むだけでは不十分であると主張しています。私たちはより優れたシステムを必要としています。
解決策:SolAgent(熟練した建築家チーム)
著者たちは、単一のAIではなく、専門化されたAIエージェントのチームが協力して働く SolAgent を開発しました。コードを一度書いて「あとは祈るだけ」にするのではなく、SolAgent は人間のエキスパートがソフトウェアを構築する方法、すなわち 「書く、チェックする、修正する、繰り返す」 というプロセスを模倣します。
SolAgent を、2人の主要な作業員と一連のハイテクツールを備えた建設現場だと考えてください。
1. 2人の作業員
- コーディング・エージェント(建築家): あなたのリクエスト(例:「鍵を持っているときだけ開く金庫を作って」)を受け取り、コードの初稿を書きます。
- リファイニング・エージェント(検査官): このAIは単にコードを読むだけではありません。積極的にコードをテストします。建築家の仕事を確認し、間違いを見つけ、どのように修正すべきかを具体的に建築家に伝えます。
2. ハイテクツール(「デュアルループ」システム)
SolAgent の天才的な点は、品質管理のための「デュアルループ」を作り出すために、2つの特定のツールを使用していることです。
インナー・ループ(「鍛冶場」テスト):
- 比喩: 金庫の扉を壊そうとするストレス・テスト・マシンを想像してください。
- 役割: コードをコンパイラ(Forge)に通して、実際に動作するかどうかを確認します。もしコードがクラッシュしたり、数学的なテストに失敗したりした場合、リファイニング・エージェントは「この行が壊れています」というレポートを受け取り、それを修正するために建築家に送り返します。
- 結果: これにより、コードの機能性が保証されます。
アウター・ループ(「Slither」セキュリティ・スキャン):
- 比喩: セキュリティ専門家が金属探知機を持って金庫の周りを歩き回り、隠れた罠や緩んだレンガを探している様子を想像してください。
- 役割: 静的解析ツール(Slither)を使用して、既知のセキュリティホール(例:泥棒が金庫から二度支払わせるように騙す「リエントランシー」バグなど)をスキャンします。穴が見つかると、リファイニング・エージェントに即座にパッチを当てるよう指示します。
- 結果: これにより、コードの安全性が保証されます。
3. ファイル・システム(「図書カード」)
一般的なAIは、プロジェクト内に他にどのようなファイルが存在するのかを知らないため、混乱することがよくあります。SolAgent には ファイル・システム・ツール が備わっています。
- 比喩: 道具箱の中にどんな道具があるか推測するのではなく、AIは実際に物置へ歩いていき、ドアを開け、箱のラベルを読み、作業を完了させるために必要な正しい道具を手に取ることができます。これにより、多くの異なるパーツを持つ複雑なプロジェクトを理解できるようになります。
仕組み: 「停止ボタン」
「彼らは永遠にコードを修正し続けるのではないか?」と思うかもしれません。
論文では、動的停止メカニメント(Dynamic Stopping Mechanism) を導入しています。これは、いつ辞めるべきかを知っているスマートなタイマーのようなものです:
- 成功: コードがすべてのテストを通過し、セキュリティホールがない場合は停止。
- 停滞(ループ): AIが何度も全く同じ間違いを繰り返している(ループしている)場合は、時間を節約するために停止。
- 進展なし: 数回の試行を経てもコードが改善されない場合は、停止。
結果:なぜ重要なのか
研究者たちは、SolEval+(実世界のスマートコントラクトの課題を集めたもの)と呼ばれる厳しいベンチマークで SolAgent をテストしました。
はるかに優れた性能:
- 標準的なAI(「魔法のペン」単体)は、初回試行で約 25% のコントラクトしか正しく作成できませんでした。
- SolAgent は、初回試行で 64.39% を正解しました。これは成功率が2倍以上であることを意味します。
- 比喩: 100人のランダムな人に金庫を作るよう頼んだ場合、25人程度が機能する金庫を作れるでしょう。SolAgent は、100個のうち64個の機能する金庫を作る熟練の建築家を雇うようなものです。
より安全:
- 人間が書いたコードと比較して、SolAgent はセキュリティ上の脆弱性をほぼ 40% 削減しました。
- 比喩: 経験豊富な人間の建築家でさえ見落とすことがある隠れた罠を、SolAgent は見つけ出し、修正しました。
より安価(「蒸留」のトリック):
- AIエージェントのチームを動かすことはコストがかかります。そこで、著者たちは建築家と検査官の間の「高品質な対話(軌跡)」を取り出し、それを使ってより小さく、より安価なAIモデル(Qwen3-8B)を教育しました。
- 比喩: 彼らは熟練したシェフの厨房でのメモを取り、ジュニア・クックに同じ完璧な料理を作る方法を教えました。ジュニア・クック(小さなモデル)は、大きなチームとほぼ同等のレベルまで学習でき、かつより速く、より安価に調理できるようになりました。
まとめ
SolAgent は、ブロックチェーンのコードを書くための新しい手法です。単一のAIが最初から正解することを期待するのではなく、コードを書き、コンパイラでテストし、セキュリティホールをスキャンし、完璧になるまで間違いを修正するチームを編成します。その結果、現在のAIや、多くの場合、人間のエキスパートが生成するものよりも、大幅に信頼性が高く安全なコードを実現しています。
自分の分野の論文に埋もれていませんか?
研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。