ベンチマーク
FrontierMath Tiers 1-3 (v2)
原文:FrontierMath Tiers 1-3 (v2)
専門家が書いた数学問題。学部上級からキャリア初期の研究者までのレベルを扱う。
2026年10月1日時点のデータ。最新の得点は原文へ。
概要
FrontierMathは、専門家である数学者が作成・検証した、独自の非常に難しい数学問題数百問からなるベンチマークである。問題は現代数学の主要な分野の大半にわたり、数論や実解析の計算量の多い問題から、代数幾何学や圏論の抽象的な問題まで含む。典型的な問題を解くには、その分野の研究者でも数時間の努力が必要で、難度の高い問題では数日かかる。
2026年6月12日に大規模な更新を公開し、42%の問題の誤りを修正した。この更新により、FrontierMathの全データセットは338問となった。これは、Tiers 1-3と呼ぶ295問の基本セットと、Tier 4と呼ぶ、非常に難しい43問の拡張セットに分かれる。公開している問題は12問で、Tiers 1-3から10問、Tier 4から2問である。特に断りのない限り、このハブの数値はすべて非公開セットでの評価である。公開している問題はこちらで見られる。
FrontierMathはOpenAIの資金提供を受けて開発され、OpenAIはベンチマークの一部に独占的にアクセスできる。詳しくは利益相反に関する声明を参照のこと。
方法論
FrontierMathの評価設定を理解するには、公開問題のログビューアーを使うのがいちばんよい方法として勧める(例:推論努力をhighにしたo4-mini-2025-04-16のログはこちら)。
FrontierMathの各問題で、モデルは答えを返すPython関数answer()を提出しなければならない。答えはPythonのオブジェクトで、多くの場合(常にではないが)整数かsympyのオブジェクトである。私たちの実装では、モデルは推論し、Pythonコードを実行できる。
モデルが使える手段を指定した、次のプロンプトを使っている。
これから難しい数学の問題を解いてもらう。進め方は次のとおり。
できること:
- 考えを書き出しながら問題を探る
- pythonツールを使って任意のPythonコードを実行する
- 答えに自信が持てたら、submit_answerツールを使って答えを提出する。
トークンの上限:
- 1,000,000トークンという絶対的な上限がある。これを超えると、(答えを提出していなくても)会話はただちに終了する。
- 660,000トークンに達すると(ただし絶対的な上限の1,000,000未満)、次のメッセージでsubmit_answerツールを使うことが強制される。この強制提出の段階は、絶対的な上限に達する前に答えを提出できる見込みをできるだけ高めるためのものである。ただし保証ではない。絶対的な上限に達しないようにするのは、引き続きあなたの責任である。
- 入力トークンと出力トークンの両方が上限に数えられる。
採点:
- 答えが正しければ1点を得る。誤っている場合や、答えを提出しなかった場合は0点になる。
答えを提出する前に、推論を私に説明すること。
ヒント
- まず、問題にどう取り組むかの大まかな計画を立てることを強く勧める。可能なら、問題を解くのに使えそうな、異なるアプローチを考えること。脱線しないように、重要な発見を定期的にまとめ、必要なら計画を見直すこと。
- 提出する前に、答えが問題の要件をすべて満たしているか確認すること。今の答えが正しくないと分かったら、別のアプローチを試す価値があるかもしれない。
submit_answerツールの使い方:
- 次の条件を満たす、‘answer’という名前のPython関数のコードを渡す。
- 引数を取らない
- 答えを{answer_type}として返す
- 何も出力しない
- コードコメントを含まない
- 答えの採点時、answer関数の最大実行時間は30秒である。コードは、その年の一般的な汎用ハードウェアで実行される
pythonツールの使い方:
- ツールはstdout(とstderr)だけを返すので、結果を見るには必ずprint()を使うこと。pythonツールの呼び出しで何も出力が得られなかった場合は、おそらくprintを忘れている。
- 例: x = 5 * 12 print(“The result is”, x) この例では、print文を必ず含めること。そうしないと、xの値は見えない。
- ツールは状態をまったく保持せず、何も事前にインポートされていない。これは非常に重要である。モジュール(math、sympyなど)が必要なら、毎回インポートしなければならない。以前のpythonの呼び出しで定義した変数にはアクセスできないので、必要なものは呼び出しのたびに定義し直さなければならない。
- 標準ライブラリと、次のライブラリ(requirements.txtの形式で表記)が使える。
- galois==0.4.4
- gmpy2==2.2.1
- mpmath==1.3.0
- networkx==3.4.2
- numpy==2.1.3
- pyadic==0.2.3
- scipy==1.15.2
- sympy==1.13.3
- pythonツールを使って答えを提出しないこと。提出の準備ができたら、submit_answerツールを使う。
- pythonツールの呼び出しの最大実行時間は30秒である。コードは、2025年の一般的な汎用ハードウェアで実行される。
解くべき問題は次のとおりである。答えの型は{answer type}である。
{question}
私たちの実装に使ったコードはこちらで公開している。
変更履歴
2026年6月12日 v2を公開した。v2では、Tiers 1-3の123問とTier 4の12問を修正した。また、Tiers 1-3から5問、Tier 4から7問を削除した。v1はこちら。