Themisto: Jupyter-Based Runtime Benchmark

arXiv preprint (arXiv:2504.12365)(2025) · 論文 · grotov2025themisto

📅 この論文を見た日

初回 2026-06-10 / 最終 2026-06-16 / 計 2 回更新

AI解説

情報源:arXiv HTML 全文(https://arxiv.org/html/2504.12365v1)を精読。本文・図(Figure 1, 2)・表(Table 1〜3)・Appendix の見出しまで読んだ範囲で記述する。著者・所属は本文記載のとおり Konstantin Grotov・Sergey Titov(JetBrains Research)。 ベンチマークデータ: https://zenodo.org/records/14861889(本文記載)。プロジェクトページ(themisto-benchmark.github.io)は本文に記載が無いため AI解説では参照しない。

一言で

Jupyter ノートブックの開発トラジェクトリ(人が実際にセルを実行していった順序+各実行時のランタイム状態)を素材にして、LLM がランタイム情報(変数・メモリ・出力など実行時の文脈)をどれだけ予測に活かせるかを測るベンチマーク Themisto。タスクは「次に実行されるセルのコード予測」と「あるセルの出力予測」の2つ。現行の主要 LLM(GPT-4o / GPT-4o-mini / Claude 3.5 Sonnet / Gemini 1.5 Pro / DeepSeek-V3)はいずれも低スコアで、しかもランタイム情報を入力に足してもスコアがほとんど上がらない(Claude-3.5 はむしろ半減)。著者は「コードモデルにランタイム文脈を取り込む領域は未開拓で、大きな伸びしろがある」と主張する。

背景・問題

近年のコード生成・補完は、単純なプログラム生成(Chen et al., 2021)からリポジトリ規模の実問題解決(SWE-bench 系, Jimenez et al., 2023)へと進んできた。しかしほとんどの研究はコードの静的スナップショットに基づいており、ランタイム情報やメモリ状態といった動的な性質を活用する研究はごくわずかしかない。

著者が指摘する根本の問題は、「ふつうのプログラミング環境では、実行中にコードを生成する場面がほとんど無い」点にある。ランタイム情報が集まるのは実行している最中なのに、その最中にコードを書く状況がそもそも生じにくい。だから「実行時の値・状態を使ってコードを生成・理解する」能力を測る土台が乏しい。

ここで Jupyter ノートブックが固有のチャンスを持つ。ノートブックはセルを実行しながらコードを書き足していく環境であり、コード生成とランタイム情報・環境の現在状態への参照が同時に成立する。著者はこの性質を使って「LLM はランタイム文脈を活かせているか?」を測ろうとする。

用語の整理:ここでの 問題(problem) は「LLM が実行時の値・メモリ・出力といったランタイム状態をコード予測に活かせているかが、測る土台すら無く未解明(そして現状活かせていない)」こと。課題(task=著者がやること) は「ノートブックの開発トラジェクトリを使い、それを測るベンチマーク Themisto を構築し、主要 LLM のベースラインを出すこと」。

ベンチマークの構成

Themisto は Jupyter ノートブックの開発トラジェクトリの集合から成る。

このトラジェクトリを与えた上で、「次に実行されるコード」と「そのセルが生む出力」を予測させる。

出力予測タスク(左)と次セル予測タスク(右)のトラジェクトリ対のサンプル

Figure 1: 出力予測タスク(左)と次セル予測タスク(右)のトラジェクトリ対のサンプル。灰色・白の行はトラジェクトリの内容(セル内容とセル出力)を表し、緑が予測対象のエンティティ。左ではあるセルの出力(Out[1]: の値)が、右では次に実行されるセル(Cell to predict)が予測対象になっている。

タスク定義と評価指標

選んだタスクは2つ。

評価指標は、Evtikhiev et al.(2023)の推奨に沿って次の3つ(いずれも高いほど良い)。

データ収集(JuNE データセット → トラジェクトリ)

元データは JuNE データセット(Titov et al., 2025)。著者ら(元論文側)は8時間超にわたり少人数の参加者のノートブック開発過程を追跡し、14,000 件超のユーザイベント(うち 9,000 件超のセル実行)を、29 ノートブック・2つの元タスクにわたって収集した。Kaggle 由来のようにより多くのノートブックを持つデータセットもあるが、JuNE は最終版だけでなく中間状態やデバッグの過程まで含み、「モデルが開発者を支援すべき最も重要な段階」の情報が豊かだ、というのが選定理由。

Themisto はそこから4ノートブックを環境再現して再実行し、合計 1,453 件のコード実行を得た。再実行時に、各ステップについてメモリ負荷・実行時間などの追加情報を計測し、環境の状態をシリアライズしてトラジェクトリに組み込んだ。利用できるコンテキスト特徴は Table 1 のとおり。

各トラジェクトリのステップが持つ特徴(Table 1):

こうして、データセット内の各セル実行について「それ以前の開発の完全なトラジェクトリ」が得られる。

予測対象セル/出力の選定とサンプリング

  1. トラジェクトリ中に5つ以上のアクションを持つセルをすべて選ぶ。
  2. タスクごとに、空の例と極端に長い例(セル長・出力長分布の 0.99 分位を超えるもの)を除外。
  3. 多様性確保のため 200 例を以下の層化抽出で選ぶ:まず出力長分布の第2・第3四分位から 180 例をランダム抽出、次に第4四分位(長い)から 10 例第1四分位(短い)から 10 例を加える。
  4. 例外(exception)を含む予測対象は除外。基盤モデルはスタックトレースを苦手とするため(Gehring et al., 2024)。

ベースライン(評価設定)

ベースラインとして主要 LLM 5種を選定:GPT-4o(Hurst et al., 2024)、GPT-4o-mini(同)、Claude 3.5 Sonnet(Anthropic, 2024)、Gemini 1.5 Pro(Team et al., 2024)、DeepSeek-V3(Liu et al., 2024)。

評価結果

Table 2 が両タスクの結果(後処理あり)。No Runtime / Runtime の2ブロックで、各指標(Exact Match / ROUGE-L / ChrF)を並べている。

出力予測(Output Prediction)

Model EM (No RT) ROUGE-L ChrF EM (RT) ROUGE-L ChrF
GPT-4o 0.16 0.32 0.47 0.16 0.34 0.46
GPT-4o-mini 0.16 0.31 0.43 0.15 0.30 0.43
Claude-3.5 0.18 0.38 0.50 0.09 0.34 0.48
Gemini Pro 0.17 0.35 0.54 0.16 0.35 0.55
DeepSeek-V3 0.18 0.35 0.49 0.19 0.33 0.48

次セル予測(Next Cell Prediction)

Model EM (No RT) ROUGE-L ChrF EM (RT) ROUGE-L ChrF
GPT-4o 0.10 0.28 0.39 0.10 0.26 0.37
GPT-4o-mini 0.06 0.25 0.38 0.07 0.27 0.36
Claude-3.5 0.12 0.30 0.42 0.11 0.30 0.42
Gemini Pro 0.12 0.34 0.43 0.13 0.33 0.42
DeepSeek-V3 0.13 0.34 0.46 0.14 0.35 0.47

読み取り:

サンプルの多様性(Appendix A.1)

出力とコードの多様性指標の比較

Figure 2: 出力(上段)とコード(下段)について、多様性指標の比較。左は Levenshtein・N-gram・Jaccard の各スコアの比較(棒グラフ)、右はペアワイズスコアの分布(密度)。ベンチマークに採られた出力・コードがどの程度多様かを示し、N-gram と Levenshtein では高い多様性、Jaccard では相対的に低い値を示している。

関連研究との関係

著者が挙げる近接研究は、コード実行のシミュレーション能力を測る2つのベンチマーク:

また、学習過程でランタイム情報を取り込む試み(Ding et al., 2024 の TRACED など)にも触れる。TRACED はランタイム情報の付加が実行状態予測やバグ位置特定を改善しうると示す一方、コンパイラフィードバックへの応答は弱い(Gehring et al., 2024 ほか)という報告もある。Themisto はこれらと違い、完全な開発トラジェクトリという動的モダリティを持ち込み、静的スナップショットを超えてランタイム情報と開発の進行を同時にモデルへ渡す点に新規性を置く。

このリポジトリ内では、JuNE データセットの提供元である Titov et al., 2025(JuNE)(zhang2019juneau とは別物)と、ノートブック実行・状態管理を扱う既存ノート(ElasticNotebook 等)が文脈的に近い。

限界と今後(Threat to validity and Conclusion)

注(本文の表参照の食い違い):2.3 節の本文は「Table 3 に2タスクの結果を示す」と書いているが、実際の結果表は Table 2(後処理あり)で、Table 3 は Appendix A.3 の後処理なしの結果。上の数値は Table 2(後処理あり)に基づく。

Q&A

(まだなし)

自分のコメント

(まだなし)