ベンチマーク · agentic
Terminal-Bench
Terminal-Bench は、AI エージェントがターミナルで実際のコマンドライン作業(ソフトウェアのインストール、デバッグ、システム操作など)をどれだけうまくこなせるかを測ります。スコアはエージェントが正常に完了したタスクの割合(%)です。
詳しく見る
- 例
- 典型的なタスクでは、壊れた環境や空の環境が与えられ、それを動作する状態にするよう求められます。たとえば、正しい依存関係をインストールし、設定を修正してプログラムが動くようにする作業を、すべてターミナルのコマンドで行います。
- 採点方法
- 各タスクはエージェントが必要な最終状態に到達したかどうかで合否が判定され、ベンチマークのスコアは全タスクのうち解けたタスクの割合(%)です。
- 検証方法
- 結果は、隔離されたサンドボックス(sandbox)環境内の自動チェックがタスクの意図した成果の達成を確認した場合にのみ受理されます(人間の投票や厳密なテキスト一致ではありません)。
- 重要な理由
- コマンドラインからのインストール・デバッグ・システム運用といったターミナルのスキルは実際のエンジニアリング作業の中核であり、このベンチマークはエージェントが本物のコマンドラインで自律的かつ確実に動けるかを示します。より難しい 2.x 版があり、エージェントの進歩に合わせて基準を高く保ちます。
解説付きの例
課題
Terminal-Bench の Docker コンテナ内で、ファイル /app/access.log には Apache のアクセスログが入っています。異なるクライアント IP アドレス(各行の空白区切りの最初のフィールド)の数を数え、その数値だけを /app/answer.txt に保存する 1 つのコマンドを書いてください。
解答
awk '{print $1}' /app/access.log | sort -u | wc -l > /app/answer.txt
解説
awk が各ログ行の最初のフィールド(クライアント IP)を出力し、sort -u が重複を除去し、wc -l が残った一意の IP を数えて、結果を /app/answer.txt にリダイレクトします。Terminal-Bench はコンテナ内で pytest テストを実行して採点し、そのテストは /app/answer.txt を読み取り、既知の一意 IP 数と一致するか確認します。