2026年9月4日 金曜日
AI時短ラボ
検証· 約13

Terminal-Bench開発元が作った評価基盤「Harbor」──Claude Code・OpenHands・Codex CLIを同じコマンドで数千並列評価する

Terminal-Benchの開発チームが公開しているHarborは、任意のエージェント(Claude Code、OpenHands、Codex CLIなど)をDaytona・Modal・LangSmith・Blaxel・Novita Sandbox・Tensorlakeなど複数のクラウドプロバイダ上で並列評価できるフレームワーク。`uv tool install harbor`で導入でき、StateMやMacaron-V1の評価にも採用されている。

Terminal-Bench開発元が作った評価基盤「Harbor」──Claude Code・OpenHands・Codex CLIを同じコマンドで数千並列評価する
執筆・編集:
目次

3行まとめ

  1. Harborは、AIコーディングエージェントのベンチマーク「Terminal-Bench」を作ったチーム(laude-institute)が公開している、エージェントとモデルを評価・最適化するためのフレームワーク。GitHub API実測でスター数4,701、直近の更新は本記事執筆日と同じ2026-08-27。
  2. 公式READMEは用途を「Claude Code・OpenHands・Codex CLIなど任意のエージェントを評価する」「自作のベンチマークと環境を作って共有する」「Daytona・Modal・LangSmith・Blaxel・Novita Sandbox・Tensorlakeなどのプロバイダを通じて数千の環境で並列実験する」「RL最適化用のロールアウトを生成する」の4つに整理している。
  3. Terminal-Bench自体は2025年1月作成のリポジトリで、GitHub API実測ではその後harbor-framework/terminal-bench-1へと移管されている。今回Macaron-V1StateMが評価基盤として使っている「Terminal-Bench 2.1」は、この移管後の後継バージョンにあたる。

Harborが解決する問題

laude-instituteが公開しているGitHubリポジトリharborのREADMEは、Harborを「Terminal-Benchの開発者らによる、エージェントと言語モデルを評価・最適化するためのフレームワーク」と位置づけている。用途としてREADMEが挙げているのは次の4つ。

  • Claude Code、OpenHands、Codex CLIなど任意のエージェントを評価する
  • 自作のベンチマークと実行環境を作って共有する
  • Daytona・Modal・LangSmith・Blaxel・Novita Sandbox・Tensorlakeなどのプロバイダを通じて、数千の環境で並列に実験する
  • RL最適化用のロールアウトを生成する

インストールはuv tool install harborまたはpip install harbor。READMEに掲載されているTerminal-Bench-2.0の実行例は次の通り。

export ANTHROPIC_API_KEY=<YOUR-KEY>
harbor run --dataset terminal-bench@2.0 \
   --agent claude-code \
   --model anthropic/claude-opus-4-1 \
   --n-concurrent 4

これはDockerを使ってローカルでベンチマークを起動する。クラウドプロバイダ(例:Daytona)上で実行する場合は--envフラグを追加する。

export ANTHROPIC_API_KEY=<YOUR-KEY>
export DAYTONA_API_KEY=<YOUR-KEY>
harbor run --dataset terminal-bench@2.0 \
   --agent claude-code \
   --model anthropic/claude-opus-4-1 \
   --n-concurrent 100 \
   --env daytona

READMEはSWE-BenchやAider Polyglotのようなサードパーティのベンチマークもharbor datasets listで一覧でき、harbor run -d "<dataset@version>" -m "<model>" -a "<agent>"という共通コマンドで評価できるとしている。

なぜHarborを作ったのか──公式サイトの「Motivation」

harborframework.comの公式ドキュメント冒頭「Motivation(動機)」ページには、READMEには無い開発の経緯が書かれている。

When we released Terminal-Bench in May, we were surprised to see it used in unexpected ways like building custom evals, optimizing prompts, running RL, generating SFT traces, and CI/CD agent testing. We also learned that defining and managing containerized tasks at scale is hard. We built Harbor to make it easy.

(Terminal-Benchを5月にリリースしたところ、独自の評価基盤の構築、プロンプト最適化、RL実行、SFT用トレース生成、CI/CDでのエージェントテストといった、想定外の使われ方をしているのを見て驚いた。また、コンテナ化されたタスクを大規模に定義・管理するのが難しいことも学んだ。それを簡単にするためにHarborを作った)

つまりHarborは、Terminal-Benchというベンチマーク単体が想定外の用途で使われていった結果、汎用的な「評価・最適化フレームワーク」として独立発展したものだと分かる。

同じドキュメントページには、対応プロバイダの一覧もREADMEより詳しく書かれている。README本文では「Daytona・Modal・LangSmith・Blaxel・Novita Sandbox・Tensorlake」の6社が挙がっていたが、ドキュメントサイトでは次の12種類が列挙されていた:Daytona、Modal、E2B、Runloop、Tensorlake、LangSmith、Blaxel、Novita Sandbox、EC2、Beam、Hyperbrowser、Vercel Sandbox。ドキュメントページの方がREADMEより新しい情報を反映している可能性がある。

機能追加の時系列(公式サイトNewsページより)

公式サイトの「News」ページには、2026年に入ってからの機能追加が日付付きで並んでいる。

日付 追加内容
2026-03-27 Harborレジストリを刷新(タスク・データセットの新しい配布方法)
2026-03-27 Harbor cookbook公開(タスク・最適化ループのレシピ集)
2026-04-23 Multi-step tasks(タスクを複数ステップに分割、各ステップに個別の指示と検証器)
2026-05-15 タスク検証を、エージェントとは別のサンドボックスで実行できるように(成果物の明示的な受け渡し)
2026-05-27 Harbor Hub上でジョブ結果を共有できるように(zip送付が不要に)

この時系列を見ると、直近半年は「タスクの検証方法」「結果の共有方法」まわりの機能拡張が続いていることが分かる。

Terminal-Benchとの関係──リポジトリの移管

GitHub APIで両リポジトリのメタデータを実測すると、興味深い経緯が見える。

項目 内容
terminal-bench(現在のfull_name) harbor-framework/terminal-bench-1。作成日2025-01-17、直近更新2026-07-11、スター2,554、ホームページtbench.ai
terminal-bench-2 harbor-framework/terminal-bench-2。作成日2025-09-25、直近更新2026-04-30
harbor harbor-framework/harbor。作成日2025-08-04、直近更新2026-08-27(本記事執筆日と同日)、スター4,701、ホームページharborframework.com

つまり、もともとlaude-institute名義だったTerminal-Benchのリポジトリは、現在はharbor-frameworkという組織に集約されており、terminal-benchは「terminal-bench-1」という名前に変わっている。READMEが挙げるバージョン例は「terminal-bench@2.0」で、GitHub Releases APIで確認できたharbor本体の直近リリースはv0.22.0(2026-08-22公開)。Macaron-V1のベンチマーク表StateMのDeepSeek再現実験が評価プロトコルとして使っている「TerminalBench 2.1」は、このterminal-bench-2系列のさらに後継版とみられるが、Harbor本体のREADMEやGitHub API経由で確認できた範囲では「2.1」という版のリリース日そのものは特定できなかった。

引用情報

READMEはZenodoのDOI(10.5281/zenodo.20953922)付きの引用情報を掲載しており、これは「concept DOI」で常に最新リリースを指し、全バージョンをまたいだ引用を集約する、と注記されている。特定バージョンを引用する場合はZenodoレコード側のバージョン別DOIを使う、という案内も添えられている。

@software{Harbor_Framework,
author = {{Harbor Framework Team}},
title = {{Harbor: A framework for evaluating and optimizing agents and models in container environments}},
year = {2026},
version = {v0.16.1},
doi = {10.5281/zenodo.20953922},
url = {https://doi.org/10.5281/zenodo.20953922}
}

プロバイダの詳細について確認できていないこと

Harborが対応するクラウドプロバイダのうち、Blaxel・Novita Sandbox・Tensorlakeについては、READMEが列挙しているだけで各社の詳細(料金・実行環境の仕様など)は今回確認していない。いずれも国内での知名度は今回のZenn記事検索(3語とも個別にゼロ件)を見る限り低いとみられるが、単独で記事化するには材料が不足している。Terminal-Bench 2.1という版そのものの正式なリリース日・変更点も、今回参照した一次資料の範囲では特定できなかった。筆者はHarborを実際にインストールしてエージェント評価を走らせる検証はしていない。Zenn記事検索では「Harbor framework」というクエリはエラーになりうまく検索できなかったため、単語を分けて再検索したが、この記事が扱う意味でのHarborに関する日本語記事は見当たらなかった。

関連記事

シェア: ポスト はてブ

出典・参照資料

AIニュースの解説を動画でも

YouTubeでは注目ニュースの背景を解説し、Xでは新着記事をお知らせしています。

コメント

まだコメントはありません。最初のコメントを書いてみませんか?

AIについて聞きたいことはありますか?

質問箱で無料で受け付けています。回答は公開され、他の方の参考にもなります。

質問箱を見る →

新しい記事をメールで受け取る

AIの新しい発表を、出典付きで整理して届けます。

関連記事

3つのharnessを1つに『融合』させようとする個人開発、着手から10時間の記録の記事画像
検証09.03読了13

3つのharnessを1つに『融合』させようとする個人開発、着手から10時間の記録

出典 ─ galaxycoils/darius(Git
データ漏洩を55の公理でコーディングエージェントに検問させるomds──GEPAでMLパイプラインのコードそのものを進化させる仕組みも同梱の記事画像
検証09.02読了15

データ漏洩を55の公理でコーディングエージェントに検問させるomds──GEPAでMLパイプラインのコードそのものを進化させる仕組みも同梱

出典 ─ spkc83/omds README(Git
エージェントのプロンプト・ツール・スキルを「失敗トレースから」自動改善するcap-evolve──held-out評価で+58.3%の実測値の記事画像
検証09.01読了15

エージェントのプロンプト・ツール・スキルを「失敗トレースから」自動改善するcap-evolve──held-out評価で+58.3%の実測値

出典 ─ skillberry-ai/cap-evol
1つのACPエージェントの中にClaude・Codex・Grokが同居する──『艦隊型』オーケストレータClaw Orchestratorの記事画像
検証09.03読了13

1つのACPエージェントの中にClaude・Codex・Grokが同居する──『艦隊型』オーケストレータClaw Orchestrator

出典 ─ Enderfga/claw-orchestr
`pip install dspy[deno]`だけでインストールが完結──DSPyがコード実行サンドボックスの穴を5つ塞いだ話の記事画像
検証09.03読了13

`pip install dspy[deno]`だけでインストールが完結──DSPyがコード実行サンドボックスの穴を5つ塞いだ話

出典 ─ stanfordnlp/dspy 3.3.1
DSPyのReActV2──「1本の巨大な文字列」だったツール履歴を、構造化されたメッセージに分解するの記事画像
検証09.03読了13

DSPyのReActV2──「1本の巨大な文字列」だったツール履歴を、構造化されたメッセージに分解する

出典 ─ stanfordnlp/dspy 3.3.0
プロンプトキャッシュを壊さない会話組み立て──Gooseが「バイトを後から動かさない」設計に変えた理由の記事画像
検証09.03読了13

プロンプトキャッシュを壊さない会話組み立て──Gooseが「バイトを後から動かさない」設計に変えた理由

出典 ─ block/goose v1.46.0 リリ
Gooseの`/goal`コマンド──エージェントが「終わったつもり」で止まるのを、自己確認のループで防ぐ仕組みの記事画像
検証09.03読了12

Gooseの`/goal`コマンド──エージェントが「終わったつもり」で止まるのを、自己確認のループで防ぐ仕組み

出典 ─ block/goose v1.46.0 リリ