Harness2 調査レポート
1. 基本情報
- ツール名: Harness2
- ツールの読み方: ハーネスツー
- 開発元: Google Research
- 公式サイト: https://harness2.github.io/
- 関連リンク:
- カテゴリ: 自律型AIエージェント
- 概要: Harness2は、オープンワールドにおいて未知のタスクにエージェントが適応できるよう、エージェントを取り巻くシステム(Harness)を再帰的に最適化するプラグアンドプレイのフレームワークです。モデルの重みは固定したまま、システムプロンプトやツール、メモリなどを継続的に改善します。
2. 目的と主な利用シーン
- 解決する課題: 未知のタスクや領域に対して、モデルの再学習なしにエージェントのパフォーマンスや適応能力を向上させること。
- 想定利用者: 自律型AIエージェントの開発者、AI研究者
- 利用シーン:
- 新しいドメインでのエージェントの振る舞いやシステムの評価と改善
- JobBench、LAB、WorkBuddy-Benchといった各種ベンチマーク上でのエージェントの評価
- 実行時のフィードバックに基づくプロンプトやツールインターフェースの動的最適化
3. 主要機能
- タスクレベルの再帰的最適化 (Task-level recursion): 「Propose(提案)– Probe(検証)– Compose(構成)」のステップを通じて、現在のタスクの実行Harnessを改善します。
- Harnessingレベルの再帰的最適化 (Harnessing-level recursion): 各タスクから得られた教訓や採用されたHarnessを永続的な「改善Harness」に更新し、将来の最適化をガイドします。
- 8つの編集可能コンポーネント: システムプロンプト、ガードレール、メモリ、ツールガイダンス、サブエージェント、スキル、スクリプト、プラグインなど、エージェント周辺のコンポーネントを編集できます。
- 複数の実行環境サポート: OpenCodeとCodex executorをサポートし、安全な実行環境を提供します。
- ベンチマーク対応: JobBench(専門業務)、LAB(法務)、WorkBuddy-Bench(オフィス、Web、コード)に対応しています。
- 並列およびシーケンシャル再帰: 複数の候補を並行して探索する「並列再帰」と、より深く最適化を続ける「シーケンシャル再帰」の両方をサポートします。
4. 動作原理・システム構成
- アーキテクチャ: ローカルで実行可能なPythonベースのエージェント評価・最適化フレームワーク。モデル(GLM-5やGemini 3.5 Flashなど)へのAPI呼び出しを通じて機能します。
- 主要コンポーネントとデータフロー:
- エージェントExecutorが初期Harnessを使用してタスクを実行します。
- Harness Editorが不変またはドメイン固有の編集を提案(Propose)します。
- Candidate Probeがそれらを実行・検証(Probe)します。
- Harness Composerが検証結果から最良のHarnessを構成(Compose)します。
- Experience Reflectorがステップを振り返り、次のタスクのための改善Harnessを更新します。
- 特筆すべき要素技術:
- コントラスティブな「Propose–Probe–Compose」アプローチによる、正解(Ground-truth)フィードバックなしでの自己改善。
- モデルの重み(Weights)を一切変更せず、周辺環境(システムプロンプト、ツール、メモリ等)のみを最適化。
5. 開始手順・セットアップ
- 前提条件:
- Linux環境
- Python 3.12
- uv パッケージマネージャー
- Node.js 20+(モデルバックドベンチマーク用)
- 各種ベンチマークに必要な依存ツール(Docker, Pandoc, Popplerなど)
-
インストール/導入:
uv venv --python 3.12 .venv source .venv/bin/activate uv pip install -e '.[render]' - 初期設定:
- APIキー等の設定(
.env.exampleをコピーして.envを作成) gcloud auth application-default login(Google Cloudを利用する場合)
- APIキー等の設定(
- クイックスタート:
- デモの実行(モデルAPI不要):
harness2-demo --output runs/demo --k 2 - JobBenchのセットアップと実行例:
harness2-setup jb harness2 --bench jb --k 1 --mode parallel
- デモの実行(モデルAPI不要):
6. 特徴・強み (Pros)
- モデルのファインチューニングや重み更新が不要なため、API経由で利用可能なプロプライエタリモデルでもパフォーマンス向上を図れる。
- 未知のタスクに対しても、実行時のフィードバックのみ(正解データ不要)でエージェント自身を継続的に最適化できる。
- タスクごとの最適化だけでなく、タスク間での永続的な知識蓄積(Harnessing-level recursion)を行う点が画期的。
7. 弱み・注意点 (Cons)
- 実装やセットアップにPythonや各種周辺ツールの知識が必要であり、一般ユーザーにはハードルが高い。
- 各タスクごとの再帰的な探索と検証(Propose-Probe-Compose)に複数回のモデル呼び出しが発生するため、APIコストと実行時間が増大する。
- ベンチマーク環境ごとに依存ツール(DockerやPandocなど)の事前インストールが必要。
8. 料金プラン
| プラン名 | 料金 | 主な特徴 |
|---|---|---|
| 無料プラン(オープンソース) | 無料 | OSSとしてGitHubで公開されている。全ての機能を利用可能。ただし、利用するLLM(Vertex AI, Geminiなど)のAPI利用料はユーザー負担となる。 |
- 課金体系: ツール自体は完全無料のオープンソース。API利用料はモデルプロバイダーに依存。
- 無料トライアル: なし(OSS)
9. 導入実績・事例
- 導入企業: Google Researchによる研究プロジェクト。
- 導入事例:
- 論文(arXiv:2610.14224)において、GLM-5やGemini 3.5 Flashを利用し、WorkBuddy-Benchで最大11.5ポイント、JobBenchで4.5ポイント、LABで11.8パーセントポイントの精度向上を実証。
- 対象業界: AI研究、エージェント開発フレームワーク
10. サポート体制
- ドキュメント: GitHubのREADMEや
docsディレクトリ(BENCHMARKS.md, SETUP.md, EXPERIMENTS.md)が提供されている。 - コミュニティ: GitHubのIssueやPull Requestを通じて開発・議論が行われている。
- 公式サポート: 公式な製品サポートはなく、Issue等を通じたベストエフォート型のオープンソースサポート。
11. エコシステムと連携
11.1 API・外部サービス連携
- API: ツールとしての公開APIはないが、評価対象のLLM(Google Vertex AIなど)へのAPI連携機能を内包している。
- 外部サービス連携: 各種LLMプロバイダーのAPI。
11.2 技術スタックとの相性
| 技術スタック | 相性 | メリット・推奨理由 | 懸念点・注意点 |
|---|---|---|---|
| Python (3.12) | ◎ | ネイティブ実装、uv パッケージマネージャーに対応 |
バージョン3.12指定のため環境構築に注意 |
| Google Cloud (Vertex AI) | ◎ | 論文や初期実装でのメインターゲット | 環境変数やgcloud CLIの設定が必要 |
| Node.js | ◯ | 一部ベンチマーク環境で必要 (Node.js 20+) | 追加のセットアップが必要 |
12. セキュリティとコンプライアンス
- 認証: Google Cloud CLIなどを用いた認証を利用。
- データ管理: 基本的にローカルで実行され、ログデータなどは
runs/ディレクトリに保存される。 - 準拠規格: オープンソースソフトウェアとしての一般的なセキュリティモデルに準拠。ネットワークの制限などはユーザー側で構成可能(例:Codex executorはサンドボックス化されている)。
13. 操作性 (UI/UX) と学習コスト
- UI/UX: コマンドライン(CLI)ベースのインターフェース。
- 学習コスト: AIエージェントの評価手法や、Pythonベースの開発環境、Google Cloudの設定に慣れている必要があるため、学習コストは高い。
14. ベストプラクティス
- 効果的な活用法 (Modern Practices):
- 評価時にAPIコストを抑えるため、最初は
--max-tasksを設定して少数タスクで動作確認を行う。 harness2-demoを用いて、モデルAPIなしでの再帰的最適化プロセスの挙動を理解する。
- 評価時にAPIコストを抑えるため、最初は
- 陥りやすい罠 (Antipatterns):
- ネットワーク制限を行わずにベンチマークを実行すると、モデルがWeb上の正解データにアクセスしてしまい、公平な評価ができなくなる(データコンタミネーション)。
15. ユーザーの声(レビュー分析)
- 調査対象: GitHub、arXiv、X(Twitter)など
- 総合評価: リリース直後のため定量的なスコアは存在しないが、GitHub Starsは1.4k以上を獲得。
- ポジティブな評価:
- (Xより引用)モデルのファインチューニングなしでエージェントを最適化するアプローチが革新的。
- (GitHubより引用)複数のベンチマーク(JobBench, LAB等)を統合して評価できる点が便利。
- ネガティブな評価 / 改善要望:
- セットアップ手順が複雑であり、特定の依存関係に縛られる。
- 本番環境でのアプリケーション開発用というよりは、研究や評価向けのツールである。
- 特徴的なユースケース:
- 既存の強力なモデル(Geminiなど)を用いて、未知のタスクにおけるエージェントのパフォーマンス限界を測定する用途に活用。
16. 直近半年のアップデート情報
- 2026-10-18: arXivにてHarness2の論文(arXiv:2610.14224)とGitHubリポジトリが公開される。
(出典: GitHubリポジトリ)
17. 類似ツールとの比較
17.1 機能比較表 (星取表)
| 機能カテゴリ | 機能項目 | Harness2 | AutoGPT | OpenHands |
|---|---|---|---|---|
| 基本機能 | 自律実行 | ◯ 評価・最適化プロセス内での自律実行 |
◎ 汎用的な自律エージェント |
◎ ソフトウェア開発に特化した自律エージェント |
| 最適化手法 | Harnessing最適化 | ◎ 重み固定でのシステム周りの再帰的最適化 |
△ 手動でのプロンプト調整が主 |
△ エージェントのアーキテクチャに依存 |
| 検証環境 | 複数ベンチマーク対応 | ◎ JobBench等に標準対応 |
△ 汎用タスク |
◯ SWE-bench等に対応 |
| 非機能要件 | 日本語対応 | ◯ プロンプト次第。UIは英語 |
◯ プロンプト次第 |
◯ プロンプト次第 |
17.2 詳細比較
| ツール名 | 特徴 | 強み | 弱み | 選択肢となるケース |
|---|---|---|---|---|
| Harness2 | エージェントシステムの自己最適化フレームワーク | 正解データなしでの再帰的なシステム改善と評価 | APIコスト高、研究用 | エージェントの基盤モデルの能力を引き出すためのシステム最適化を行いたい場合 |
| AutoGPT | 汎用的な自律型AIエージェント | 目標を与えれば自律的にタスクを細分化・実行 | コンテキスト喪失やループに陥りやすい | 広範な情報収集や汎用的なタスク自動化を行いたい場合 |
| OpenHands | ソフトウェア開発に特化した自律エージェント | リポジトリ全体の理解、コード作成、テスト実行 | 開発以外のタスクには不向き | ソフトウェア開発業務を自動化したい場合 |
18. 総評
- 総合的な評価: Harness2は、モデルの重みを変更せずに、エージェント周辺のシステムコンポーネントを動的かつ再帰的に最適化するという新しいアプローチを提供する研究用フレームワークです。API呼び出しのコストやセットアップの複雑さはあるものの、未知のタスクに対する適応能力を大幅に引き上げる可能性を秘めています。
- 推奨されるチームやプロジェクト: 最先端のAIエージェントアーキテクチャの研究開発を行うチームや、LLMのポテンシャルを最大限に引き出すためのシステムプロンプトやツール連携の最適化に取り組むプロジェクトに推奨されます。
- 選択時のポイント: すぐに業務に導入できる完成されたSaaSではなく、研究評価用・開発者向けのツールセットであることを理解した上で、高度な自律型エージェントの設計やベンチマーク評価を行いたい場合に選択すべきフレームワークです。