TerminalWorld:初の実CLIワークフローAgentベンチマーク

·Toolin 編集部

8万件の人間のターミナル録画から鍛え上げられた1530タスクの評価セット。18類のワークフロー、1280個のコマンドツールをカバーし、Agentが実ターミナルシーンで「ランキング高得点、実投入で失敗」という持病を抱える問題に効く特効薬です。

TerminalWorld:初の実CLIワークフローAgentベンチマーク

評価ベンチマークの繁栄は、1つの気まずい事実を覆い隠せません。既存のCLI Agentテストセットの大半は専門家が手作業で「出題」したもので、ひねくれたパズルを好み、エンジニアが毎日実際にやっている仕事——環境構築、依存関係の設定、サービスのデプロイ、コンテナのオーケストレーション——とは壁1枚隔たっています。ランキング上の高得点は、実世界での「仕事ができる」と必ずしも交換できません。

TerminalWorldはUCL、南京大学、Tencentの共同成果で、実際の人間のターミナル軌跡に完全に基づいて自動構築され、継続的に更新できる初のターミナルAgent評価ベンチマークです。開発者が自発的にアップロードした8万件以上のターミナル録画を出発点に、1530の実タスクを自動的に逆生成し、18類のワークフロー、1280のユニークなコマンドツールをカバーします。Agent評価の研究をしている人、CLIツールの選定をしている人、あるいは自社モデルが実シーンで本当に通用するかを検証したい人にとって、いずれも「火で試す」本物の試金石です。

TerminalWorldプロジェクトトップ

TerminalWorldのトップページ。タスクはすべて実際の開発者ターミナルセッションのリバースエンジニアリング由来。

始める前の準備

このベンチマークを動かすには次が必要です:

最小サブセットの想定実行時間:1–2時間(Agentの呼び出し頻度による)。

第1歩:TerminalWorldの設計思想を理解する

従来ベンチマーク(Terminal-Benchなど)との根本的な違いはデータソースにあります:

次元従来の専門家出題ベンチマークTerminalWorld
タスクソースドメイン専門家の手作業による設計asciinemaプラットフォームの実際の開発者録画からの逆生成
難度分布ひねくれがち、対抗的実際のエンジニアリングワークフローに近い
更新可否静的スナップショットで時代遅れになるデータが継続蓄積され、ローリング更新可能
コマンドツールカバー少量の厳選1280のユニークなコマンド

ソースデータのプラットフォームはオープンソースのasciinema(https://asciinema.org/)です。開発者が自発的にターミナルセッションの録画を共有する公開プラットフォームです。各録画はピクセル動画ではなく、タイムスタンプ付きの構造化テキストストリームで(すべてのコマンド、すべてのエコーが正確に記録される)、これがTerminalWorldが「実行可能タスク」を自動逆生成できる前提です。

asciinemaは見過ごされた金鉱

asciinemaプラットフォーム:各ターミナルセッションは構造化テキストストリームで、自動解析できる。

第2歩:リポジトリをクローンし、データセットを読み込む

git clone https://github.com/EuniAI/TerminalWorld.git
cd TerminalWorld
pip install -r requirements.txt

# データセットを取得(HF Hub)
huggingface-cli download EuniAI/TerminalWorld \
  --repo-type dataset \
  --local-dir ./data/terminalworld

データセットは3つの部分で構成されています:

  • タスク定義:1530タスク。それぞれに初期環境スナップショット、目標記述、検収スクリプト付き
  • ワークフローラベル:18類(コンテナオーケストレーション、CI/CD、クラウドリソース管理、依存関係トラブルシューティングなど)
  • 元の軌跡:Agentの学習や検索に使える8万件の人間の操作録画

第3歩:最小サブセットでAgentを動かす

TerminalWorldは標準化された評価harnessを提供しており、必要なのはAgentインターフェースの実装だけです:

from terminalworld import Benchmark, Agent

class MyAgent(Agent):
    def act(self, observation: str, history: list) -> str:
        # observation: 現在ターミナルに見えている出力
        # history: それまでの(コマンド, 出力)シーケンス
        # return: 次に実行する shell コマンド
        return your_framework.next_command(observation, history)

bench = Benchmark(data_dir="./data/terminalworld")
results = bench.evaluate(
    agent=MyAgent(),
    task_ids=bench.sample(workflow="container_orchestration", n=20),
    timeout_per_task=600,
)
print(results.success_rate, results.avg_steps)

💡 ヒント:初回は全量の1530タスクを走らせないでください。まずワークフローカテゴリごとに20–50タスクをサンプリングしてAgentの弱点を特定し、それから全量評価をするかを決めましょう。

第4歩:「専門家ベンチマーク」と対照し、Agentが「偽の高得点」を出していないか確認する

TerminalWorldの重要な発見の1つは、専門家ベンチマークでの高得点は実シーンへ移植しにくいことです。Terminal-Benchのような人工問題集だけを見ていると、モデルのスコアが水増しされている可能性があります。次のように対照することをお勧めします:

  1. 同じAgentで、TerminalWorldサブセットと専門家出題ベンチマークをそれぞれ走らせる
  2. 2種類のタスクの成功率の落差を比較する
  3. 落差が大きいほど、Agentが「問題を解く作り方」に依存しており、実シーンの試練に耐えにくいことを示す

これが最も実用的な使い方でもあります。絶対スコアではなく、移植の落差を見るのです。

検証結果

動かした後は、こんな構造の結果が得られるはずです:

workflow: container_orchestration (n=20)
  success_rate: 0.45
  avg_steps: 18
  failure_modes:
    - dependency_conflict: 5
    - permission_denied: 3
    - incomplete_goal: 3

あるAgentが専門家ベンチマークで0.85、TerminalWorldの同類タスクでは0.4しか取れないなら、その「高得点」の水分が大きいことを意味し、実エンジニアリング環境へデプロイする前に補習が必要です。

よくある質問

  • タスクの初期化に失敗し環境が立たない:大半はDockerイメージかネットワーク依存の取得漏れです。TerminalWorldの各タスクにはsetup.shが付属しているので、まず初期化スクリプトを単独で走らせて問題を特定してください。
  • Agentが対話型コマンド(vim、topなど)から抜けられない:実シーンでは人間も立ち往生しますが、これこそTerminalWorldが晒したい盲点です。Agentに「タイムアウトで対話型プログラムを強制終了する」ポリシーを追加すると、通常は明確に改善します。
  • データセットが大きくダウンロードが遅い:revisionパラメータで特定のcommitに固定し、HFミラーと併用して加速してください。

関連記事

業務をSkillに分解する:AI時代の本当のメタ能力
AIチュートリアル

業務をSkillに分解する:AI時代の本当のメタ能力

AIが使えないのではなく、分解の仕方を知らないだけ。目標から動作、判断まで、頭の中のあやふやな経験をAIが実行できる構造化Skillに変える方法を1本で解説。

Toolin 編集部
Claude Code Artifacts:ターミナルでの開発を共有可能なウェブダッシュボードに変える
AI製品

Claude Code Artifacts:ターミナルでの開発を共有可能なウェブダッシュボードに変える

AnthropicがClaude CodeにArtifactsを追加。開発過程をリアルタイムで共有可能なウェブページとして生成し、チーム協働での手動転述からおさらば。

Toolin 編集部
Codex Record & Replay:あなたが一度やれば、AIが代わりにやり方を覚える
AI製品

Codex Record & Replay:あなたが一度やれば、AIが代わりにやり方を覚える

OpenAIがCodexにRecord & Replayを投入。Mac上でのあなたの操作フローを記録し、再利用可能なSkillを自動生成します。自動化について考え直すときが来ました。

Toolin 編集部
Odysseus:トップインフルエンサーが手作りしたローカル版ChatGPT、3日で3万スター
AI製品

Odysseus:トップインフルエンサーが手作りしたローカル版ChatGPT、3日で3万スター

元「世界一のYouTuber」PewDiePieがオープンソース化した完全セルフホストのAIワークスペース。無料、追跡なし、Agent内蔵で、3日間で3万スターを荒稼ぎ。

Toolin 編集部
Xiaomi Miloco 2.0:スマートホームについに本当のAI執事が登場
AI製品

Xiaomi Miloco 2.0:スマートホームについに本当のAI執事が登場

Xiaomiが全屋スマートホームAIソリューションXiaomi Miloco 2.0をオープンソース化。マルチモーダル感知、能動的インテリジェンス、家庭の記憶を備え、Agentをスマートホーム生態系に持ち込む。

Toolin 編集部
Agnes AI 全モダリティAPIを無期限無料化、今週1Mコンテキストと4K画像生成にアップグレード
AI製品

Agnes AI 全モダリティAPIを無期限無料化、今週1Mコンテキストと4K画像生成にアップグレード

Agnes AIがテキスト・画像・動画の全モダリティモデルAPIを無期限で無料開放。今週、1M超長コンテキストと4K超高精細テキストから画像生成能力へアップグレードします。

Toolin 編集部