AIコード生成モデルを「実行結果」で評価する新プラットフォーム「BigCodeArena」が登場

AIコード生成の評価問題を「実行」で解決

AIが生成したコードの品質を正確に評価するのは、実は非常に難しい問題だ。コードが文法的に正しく見えても、実際に動かしてみると想定外のバグが潜んでいたり、エッジケースで失敗したりすることは珍しくない。

この課題に取り組むため、Hugging FaceのBigCodeチームはBigCodeArenaを発表した。「人間参加型(Human-in-the-Loop)」のコード生成モデル評価プラットフォームとして、これが初めての試みとなる。

従来のベンチマークの限界

これまでのコード生成評価には主に2つのアプローチがあった。

  1. HumanEval等のベンチマーク: あらかじめ用意されたテストケースでコードを採点するが、現実の多様なプログラミングタスクのごく一部しかカバーできない
  2. 人手評価: ソースコードを読んで頭の中で実行をシミュレートするのは認知負荷が高く、複雑なUIアプリや長いプログラムになるほど精度が落ちる

たとえば「レスポンシブなフォトギャラリーサイトを作って」と2つのAIに頼んだとき、両方のコードが一見正しく見えても、実際にブラウザで表示して初めて違いが分かることがある。片方は美しいグリッドレイアウトを実現し、もう片方はスタイリングのバグで崩れているかもしれない。実行なしには判断できないのだ。

BigCodeArenaの仕組み

BigCodeArenaはLMArena(Chatbot Arena)のフレームワークを拡張し、コード評価特有の機能を追加している。

リアルタイム実行とサンドボックス環境

生成されたコードはすべて、分離されたサンドボックス環境で自動実行される。Pythonスクリプト、ReactのWebアプリ、PyGameのゲーム、C++のアルゴリズムなど、ソースコードではなく実際の出力結果をユーザーが確認できる。

幅広い言語・フレームワーク対応

現在サポートされている言語・環境は以下の通り。

  • 対応言語(10種): Python、JavaScript、TypeScript、HTML、C、C++、Java、Go、Rust、Markdown
  • Webフレームワーク: React、Vue、バニラHTML/CSS/JS
  • Pythonフレームワーク: Streamlit、Gradio、PyGame
  • 図表: Mermaid
  • 汎用インタープリタ: PythonおよびJavaScriptのコードインタープリタ、コンパイル言語ランナー

インタラクティブなテスト

Webアプリのボタンをクリックしたり、生成されたゲームをプレイしたり、コードを直接編集して再実行したりと、静的なコード比較では不可能なインタラクティブな検証が可能だ。

マルチターン対話

現実のプログラミング作業と同様に、要件の追加や機能変更、バグ修正の依頼といったマルチターンの対話にも対応している。

5カ月で見えてきた傾向

2025年2月の公開から約5カ月間で、500人以上のユニークユーザーから14,000件以上の会話データと4,700件以上の高品質な優劣投票が集まった。最先端LLM(大規模言語モデル)10種類が評価対象となっている。

ユーザーが持ち込むタスクの内訳は多岐にわたる。

  • Webデザイン(36%): レスポンシブなWebサイト、インタラクティブなダッシュボード
  • 問題解決(23%): アルゴリズム、データ構造、計算チャレンジ
  • ゲーム開発(16%): ゲームロジックやUIの実装

日本の開発者コミュニティへの示唆

BigCodeArenaは誰でも無料で利用でき、コミュニティの投票結果がリーダーボードとして公開される。GitHub CopilotやCursorといったAIコーディング支援ツールを日常的に使う開発者にとって、「どのモデルが実務で最も役立つか」を判断する際の参考資料として活用できるだろう。

日本語でのコード生成評価については今後の展開が注目されるが、まずはコード評価の新たなスタンダードとなりうる取り組みとして、その動向を追っていきたい。

※ この記事は海外ソースをAIで自動翻訳・要約したものです。翻訳・要約の過程で意味の相違や情報の欠落がある場合があります。正確な情報は必ず元記事をご確認ください。本記事の内容に基づいて行った行為について、運営者は一切の責任を負いません。