HumanEvalはベンチマークであり、大規模言語モデル(LLM)のコード生成の機能を評価します。これは、OpenAIのソフトウェア・エンジニアリングエージェントであるCodexを支えるAIモデルの初期バージョンを評価するために同社によって開発されました。
HumanEvalベンチマークは、特にPythonで生成されたコード用に設計されています。構文の枠を超えて、作成されたコードが正確であり、意図したとおりに機能することを検証します。
ベンチマークのフレームワークは、OpenAI HumanEvalのGitHubリポジトリーからアクセスできます。HumanEvalはまた、Claudeスイート、Kimi K2、Google GemmaとGemini、GPT-5および旧型GPT-4o、およびGPT-4、IBM® Granite®ファミリーなど、さまざまなコード生成モデルのパフォーマンスをランキングしたリーダーボードも持っています。
IBMニュースレター
AI活用のグローバル・トレンドや日本の市場動向を踏まえたDX、生成AIの最新情報を毎月お届けします。登録の際はIBMプライバシー・ステートメントをご覧ください。
ニュースレターは日本語で配信されます。すべてのニュースレターに登録解除リンクがあります。サブスクリプションの管理や解除はこちらから。詳しくはIBMプライバシー・ステートメントをご覧ください。
シグネチャは、関数の名前とパラメーターを定義します。例として、2つの整数の積を計算する関数の署名は次のとおりです。
docstringは、関数の期待される動作、目標、インプット、アウトプットの自然言語プロンプトまたは説明です。これらのコメントは関数の機能の概要を示し、Pythonコードを生成する際のモデルの指針となります。
たとえば、multiply関数のdocstringは次のようになります:
これは、モデルが生成するコードに割り当てられるセグメントです。これは、関数シグネチャとdocstringに基づいて、問題に対する実装済みの解決策を保持します。
これらのテスト・ケースは、生成されたコードの機能的な正しさをさまざまなシナリオで検証します。各テストでは、関数に特定のインプットを入力し、そのアウトプットを結果と照合します。
乗算関数の単体テストの例をいくつか示します。
コードLLMベンチマークの多くは、生成されたコード・サンプルを参照ソリューションと比較する一致ベースの指標など、テキスト生成に使用される方法論を適用しています。しかし、一致ベースの指標では通常、問題を解決するためのさまざまな方法は考慮されておらず、いずれも参照ソリューションと機能的に同等である可能性があります。
そのため、HumanEvalベンチマークは機能の正確性に目を向けました。これは、生成されたコード・サンプルが一連の単体テストに合格している場合に正しいと判断するものです。このアプローチは、開発者がコードの成功を評価する際に、一連の単体テストを実行し、それぞれに合格することを確認する方法を反映しています。
HumanEvalは、pass@k指標を使用して機能の正確性を測定します。問題ごとに、モデルはk個のコード・サンプルを生成します。これらのサンプルのいずれかが単体テストに合格すると、問題は正しく解決されたと見なされます。Pass@k指標は、k個のサンプルのうち少なくとも1つが機能的に正しい確率を推定します。
HumanEvalは、コードLLMを評価するための多くのベンチマークの1つにすぎません。ソフトウェア開発チームは、引き続き独自の内部テストを使用してLLMで生成されたコードを評価し、複数の指標を組み合わせてモデル性能をより包括的に把握する必要があります。また、AIが生成したコードの精度を保証し、機械学習モデルを長期にわたってファイン・チューニングおよび改善するためには、ヒューマン・イン・ザ・ループ・アプローチも引き続き重要です。
HumanEvalベンチマークのいくつかの限界を以下に示します。
データ・セットに含まれるプログラミングの問題は、その広範な入手可能性から、モデルのトレーニング中に発生した可能性があります。また、問題の数も少なく、コード生成モデルがおそらくすべてを記憶できるほどです。
プログラミングには、単に機能的に正しいこと以上のものがあります。たとえば、HumanEvalは効率性を考慮していません。これは、正確で期待どおりに機能するLLM生成コードが、性能の点で最も効率的で最適化されたソリューションではない可能性があることを意味します。
このベンチマークでは、コーディング規則、スタイル基準、エラー処理、インプット検証、安全なコーディングなどのプログラミングのベスト・プラクティスは考慮されていません。
HumanEvalは、オープンソースのPythonプログラミング言語向けに特別に調整されています。他の言語で生成されたソースコードは、他のベンチマークを使用して評価する必要があります。
ベンチマークには、一部の制限に対処する複数の異なるバージョンがあります。
HumanEval+
HumanEval-V
HumanEval-X
HumanEvalNext
HumanEvalの各プログラミング問題には、平均して約7~8個の単体テストがあります。1 HumanEval+では、テスト・カバレッジが大幅に向上し、問題あたり平均764個のテストでより厳密な評価が可能になります。2
HumanEval-Vは前モデルを基に、特に視覚言語モデル(VLM)を中心としたマルチモーダルAIモデルのベンチマークを作成しています。これは、アルゴリズムやマトリックス変換のフローチャートに基づいてコードを生成するなど、プログラミング・コンテキストでチャート、図、グラフを理解し推論する VLM の能力を評価します。
HumanEval-Xは元のベンチマークを拡張し、C++、Go、Java、JavaScriptのプログラミング言語も含みます。その820のタスクは、コード生成およびコード変換のスキルを評価するために使用できます。
HumanEvalNextはHumanEvalを改良したものです。型注釈(関数パラメーターと戻り値のデータ型を示すプログラミング構文)を通じてコンテキストを追加し、より多くのエッジケースを組み込み、より多くの単体テストを導入し、問題の難易度を高めます。3
安全で意図を認識した開発を実現するAIパートナーであるBobと連携して、ソフトウェア・デリバリーを加速させましょう。
信頼性の高いAI駆動型ツールを活用することで、コード作成、デバッグ、リファクタリング、コード補完に費やす時間を最小限に抑え、イノベーションに集中できる余地を広げます。
AIの導入によって重要なワークフローと業務を再構築し、エクスペリエンスの最大化、リアルタイムの意思決定、ビジネス価値の向上を実現しましょう。
1. 「Evaluating Large Language Models Trained on Code」arXiv、2021年7月14日
2. 「Is Your Code Generated by ChatGPT Really Correct? Rigorous Evaluation of Large Language Models for Code Generation」arXiv、2023年10月30日
3. 「Benchmarking AI Models in Software Engineering: A Review, Search Tool, and Unified Approach for Elevating Benchmark Quality」arXiv、2025年12月12日