エージェントハーネスの解剖:モデルを自律的な作業エンジンに変える仕組み
エージェントハーネスがAIモデルを自律的な作業エンジンに変える仕組みを学びましょう。ファイルシステム、サンドボックス、メモリなどのコアコンポーネントを探求します。
エージェントアーキテクチャの核心は「エージェント = モデル + ハーネス」という式で表されます。ハーネスとは、モデル自体以外のすべてのコード、設定、実行ロジックです。生のモデルはエージェントではありませんが、ハーネスが状態、ツール実行、フィードバックループ、強制可能な制約を与えることでエージェントになります。
ハーネスには、システムプロンプト、ツール・スキル・MCP(モデルコンテキストプロトコル)とその説明、バンドルされたインフラ(ファイルシステム、サンドボックス、ブラウザ)、オーケストレーションロジック(サブエージェント生成、ハンドオフ、モデルルーティング)、決定論的実行のためのフック/ミドルウェア(圧縮、継続、リントチェック)が含まれます。この定義は、モデルの知能を中心にシステムを設計することを強制します。
ファイルシステム:永続ストレージとコンテキスト管理 ファイルシステムは最も基本的なハーネスプリミティブです。エージェントにデータ、コード、ドキュメントを読み取るワークスペースを提供し、作業をインクリメンタルに追加・オフロードできるようにします。エージェントは中間出力を保存し、セッションを超えて状態を維持できます。ファイルシステムは自然なコラボレーション面でもあり、複数のエージェントや人間が共有ファイルを通じて調整できます。Gitはファイルシステムにバージョン管理を追加し、エージェントが作業を追跡し、エラーをロールバックし、実験をブランチできるようにします。
Bashとコード:汎用ツール 現在のエージェント実行パターンはReActループです。しかし、ハーネスはロジックを持つツールしか実行できません。Bash+コード実行により、モデルは事前設定された固定ツールセットに制約されることなく、その場で独自のツールを設計できます。これが自律的問題解決のデフォルト戦略となっています。
サンドボックス:安全な実行と検証 サンドボックスはエージェントに安全な動作環境を提供します。ハーネスはサンドボックスに接続してコードを実行し、ファイルを検査し、依存関係をインストールし、タスクを完了します。これにより安全で隔離されたコード実行が実現します。サンドボックスはまた、環境をオンデマンドで作成し、多数のタスクにファンアウトし、完了後に破棄することでスケーリングを可能にします。適切な環境には、言語ランタイム、パッケージ、Git、ブラウザ、テストランナーなどのデフォルトツールが付属し、エージェントが自己検証できるようにします。
メモリと検索:継続的学習 モデルは重みと現在のコンテキスト以外の知識を持ちません。ハーネスはファイルシステムを介してAGENTS.mdなどのメモリファイル標準をサポートし、エージェント起動時にコンテキストに注入します。エージェントがファイルを編集すると、ハーネスは更新されたファイルをコンテキストに読み込み、継続的学習を実現します。知識の期限切れに対応するため、Web検索やContext7などのMCPツールが最新情報へのアクセスを提供します。
コンテキスト劣化との戦い コンテキスト劣化とは、コンテキストウィンドウが埋まるにつれてモデルの推論能力が低下する現象です。ハーネスは圧縮によって既存のコンテキストをインテリジェントにオフロードし要約することで、エージェントが作業を継続できるようにします。ツールコールのオフロードは大きなツール出力の影響を軽減します。スキルはプログレッシブディスクロージャーにより、開始時に過剰なツールがコンテキストに読み込まれる問題を解決します。
長期自律実行 長期作業には永続状態、計画、観察、検証が必要です。ファイルシステムとGitはセッションをまたいだ作業追跡を可能にします。ラルフループはフックを介してモデルの終了試行をインターセプトし、クリーンなコンテキストで元のプロンプトを再注入して作業を強制します。計画と自己検証は適切なプロンプティングとファイルシステム内の計画ファイルによってサポートされます。フックは事前定義されたテストスイートを実行し、失敗時にモデルにループバックできます。
ハーネスの未来 モデルトレーニングとハーネス設計の結合が進んでいます。Claude CodeやCodexなどの現代のエージェント製品は、トレーニング後にモデルとハーネスをループさせ、ハーネス設計者がネイティブ化すべきと考えるアクションをモデルが改善できるようにしています。