TM-Bench は「ツールメーカー(tool makers)」、すなわちタスクと科学論文の背後にあるコードリポジトリを与えられると、環境定義とツール実装の両方を生成するシステムのためのベンチマークである。エージェントのツールを作る LLM エージェント において ToolMaker とともに導入され、これら 2 つの成果物を生成するシステムであれば何でも評価できる。依存関係がすでにインストールされていることを前提とするコード生成ベンチマークとは異なり、そのタスクは完全にオープンエンドな環境で実行され、リソースのダウンロード、依存関係の問題の解決、大規模なコードベースの読解、そしてコードの実装・テスト・デバッグというワークフロー全体をカバーする。

内容

ベンチマークは 15 のタスクを含む。大半は医学分野 — 病理学、放射線医学、オミクス — に由来し、残りは 3D ビジョン、イメージング、表形式データ分析、自然言語処理などの他分野に由来する。既存の手法を 1 つ呼び出すだけのタスクから、複数の関数呼び出しを組み合わせ、データを変換し、GPU を使用する多段階のタスクまで幅がある。多くのタスクは外部ファイルを必要とし、一例として、全スライド画像(whole slide image)のデータセットと臨床データの表を用いてバイオマーカー分類モデルを学習させるよう求めるものがある。

各タスクの定義には、1 文の説明、コードリポジトリの URL、入力引数のリストと 1 つの呼び出し例、そして期待される出力の説明が含まれる。呼び出し例では、期待される戻り値を意図的に省いている。また各タスクには、異なる入力値を用いた 2〜3 個の非公開のテスト呼び出し(合計 42 個)と、それぞれに対するユニットテスト(合計 124 個)がある。テストは、戻り値の構造、その値、ツールが生成したファイル、そして実行がエラーになったかどうかについてアサーションを行う。ツールは、そのテスト呼び出しのユニットテストをすべて通過した場合にのみ正しいとみなされる。

出自

タスクは、医学・生命科学の研究者と緊密に協力して、これらの分野の現実的な問題を反映するようにキュレーションされた。タスクを採用する前に、著者らは関連リポジトリから意図されたツールを自ら実装し、タスクが明確に定義され解決可能であることを確認した。参照出力との完全一致ではなくユニットテストが選ばれたのは、特徴ベクトルの形状や、妥当な大きさのセグメンテーションマスクといった基準を確認できるようにするためである。ユニットテストとテスト呼び出しは評価にのみ用いられ、ツール作成中には一切利用できない。ベンチマークは参照するリポジトリの正確なコミットを固定しているが、著者らは、上流での削除、force-push、ブランチ名の変更が依然として再現性に影響しうると指摘している。ベンチマークは ToolMaker のコードとともに公開されている。

利用

エージェントのツールを作る LLM エージェント において、ToolMaker は 15 のタスクのうち 12 を正しく実装したのに対し、適応させた OpenHands が正しく実装したのは 3 つであった。著者らは、科学的なワークフローには少数のテストでは捉えきれないエッジケースが含まれることが多いため、ベンチマークのテストに合格しても、あらゆる現実のシナリオで正しさが保証されるわけではないと注意を促している。