Hugging Face AI Agent 用語集: ハーネス、スキャフォールド、およびエージェントアーキテクチャの定義
Hugging Face AI Agent 用語集: ハーネス、スキャフォールド、およびエージェントアーキテクチャの定義
Hugging Faceは、AIエージェントの急速に進化する語彙を標準化するために技術用語集をリリースしました。核心的なポイントは、エージェント = モデル + ハーネス であるということです。ここでモデルは推論を提供し、ハーネスは実行ループと環境との相互作用を提供します。
コアエージェントアーキテクチャ
AIエージェントは単なる大規模言語モデル(LLM)ではなく、生のテキスト生成を観察、意思決定、行動のループに変換するシステムです。このアーキテクチャは3つの主要コンポーネントに分かれます:
モデル
モデルは、テキスト入力を受け取りテキスト出力を生成する基盤となるLLM(例: Claude, GPT, DeepSeek)です。単独では、モデルは呼び出し間のメモリも実行ループも持たず、ツールを使用する意図を表現することはできますが、そのツールを独立して実行することはできません。
スキャフォールディング
スキャフォールディングは、モデルが世界をどのように認識し行動するかを形作る振る舞いを定義するレイヤーです。以下を含みます:
- システムプロンプトとツールの説明。
- コンテキスト管理、モデルがステップ間で何を覚えているかを決定します。
- レスポンスパースロジック。
一部の製品では、「ハーネス」という用語をモデルを取り巻くシステム全体を表すために使用しますが、「スキャフォールディング」と「ハーネス」の区別は、トレーニングパイプラインについて考える際に重要です。
ハーネス
ハーネスは、エージェントを実行する実行レイヤーです。モデルの呼び出し、ツール呼び出しの処理、およびエージェントがいつ停止すべきかを決定する責任があります。
ハーネスエンジニアリングは、このレイヤーを設計する規律であり、エラー処理、ガードレール、終了条件に焦点を当てます。これは推論と評価の両方に適用され、「eval ハーネス」は固定シナリオを実行してメトリクスを記録するもので、モデルの重みを更新するわけではありません。
オペレーションコンセプト
コンテキストエンジニアリングとメモリ
コンテキストエンジニアリングは、エージェントのコンテキストウィンドウに入るものを設計するプロセスであり、システムプロンプト、取得された知識、会話履歴を含みます。これはハーネスによって管理される動的なプロセスです。
- ショートタームメモリ: 単一の実行中にコンテキストウィンドウに残る情報(例: ツール結果)。
- ロングタームメモリ: 外部に保存され、異なるセッション間で必要に応じて取得される情報。
ポリシーとツール使用
- ポリシー: エージェントが従う振る舞いで、どのような状況でも特定のアクションを取る確率を定義します。ポリシーは、モデルの重みとスキャフォールディングおよびハーネスを組み合わせた結果です。
- ツール使用: エージェントが外部システム(API、データベース、コードインタプリタ)とやり取りするメカニズム。モデルは構造化された形式で意図を表現し、ハーネスがそれを適切な関数にルーティングします。
スキルとサブエージェント
- スキル: マルチステップゴールを達成するために使用される再利用可能な構造化された知識パッケージ(例: 「バグを調査する」)。一方、ツールは単一のアクション(例: 「コマンドを実行する」)です。
- サブエージェント: プライマリエージェント(オーケストレーター)によって特定のサブタスクを処理するために呼び出される独立したエージェント。ツールやスキルとは異なり、サブエージェントは推論を行い、独自のツールを使用し、さらにサブエージェントを呼び出すことができます。
AIエージェントトレーミノロジー
モデルを開発する方々のために、Hugging Faceは強化学習(RL)トレーニングパイプラインの4つの主要コンポーネントを特定しています:
- RL Environment: 状態を持つオブジェクトで、アクション(通常はツール呼び出し)を取り、観測を返します(例:
touchコマンド後のファイルリストを返すファイルシステム)。 - Trainer: エージェントエピソードを実行し、結果をスコアリングし、内部モデルの重みを更新するシステム(例: TRL's
GRPOTrainer)。 - Rollout: 開始から終了までのエージェントの完全な実行。また trajectory または trace とも呼ばれます。これはRLアルゴリズムの生データを提供します。
- Reward: 重みを更新するために使用されるスコア。報酬は verifiable (pass/fail)、learned (人間の好み)、sparse (エピソード終了時の単一スコア)、または dense (各ステップのスコア) のいずれかです。Rubrics は、報酬を重み付けされた明示的な次元に分割するために使用されます。