ハンドブックは、生成エージェントの基本的な構成要素です。通常、生成エージェントには多数のハンドブックがあり、各ハンドブックは特定のタスクを処理するように定義されています。ハンドブックのデータは LLM に提供されるため、LLM には質問に回答し、タスクを実行するために必要な情報が含まれています。 各ハンドブックは、情報を提供したり、外部サービスにクエリを送信したり、会話処理をフローや別のハンドブックに任せてサブタスクを処理したりできます。
制限事項
次の制限が適用されます。
- ハンドブックを使用するエージェントは、デフォルトの開始フローの Default Welcome Intent ルートから通話コンパニオン SMS を送信することはできませんが、標準フローで通話コンパニオン SMS オプションを有効にできます。
言語サポート
言語リファレンスの Playbook 列をご覧ください。プレイブック用にマークされている言語は、gemini-2.0-flash
モデルと gemini-1.5-flash-002
モデルで品質がテストされています。
英語以外の言語を使用する場合は、例をターゲット言語で定義し、手順は英語のままにする必要があります。特定の言語とユースケースでは、ターゲット言語で手順を追加すると、回答が少し改善される場合があります。
モデルサポート
プレイブックで使用する LLM モデルは、次の場所で選択できます。
エージェント レベルで LLM モデルを選択します。
- 会話エージェント コンソールの [エージェントの設定] -> [生成 AI] -> [Playbook] で、利用可能なすべてのモデルのプルダウンから表示名でモデルを選択します。
- API を使用してエージェントの設定を更新する場合は、GenerativeSettings.llm_model_settings.model フィールドにモデル名を指定します(GenerativeSettings をご覧ください)。
リクエストレベルでモデル選択をオーバーライドする。
- コンバージョン エージェント コンソール シミュレータで、プレイブックをテストするときに、プルダウンから表示名でモデルを選択します。
- API 経由でエージェントをテストする場合は、DetectIntentRequest.query_params.llm_model_settings.model フィールドにモデル名を指定します(DetectIntentRequest をご覧ください)。
モデル名 | モデルの表示名 | モデル仕様 | リリース ステージ | 利用可能なリージョン |
---|---|---|---|---|
gemini-pro | gemini-1.0-pro-001 | Gemini 1.0 Pro | GA | すべてのハンドブック リージョン |
gemini-1.5-flash | gemini-1.5-flash-001 | Gemini 1.5 Flash | GA | すべてのハンドブック リージョン |
gemini-1.5-flash-002 | gemini-1.5-flash-002 | Gemini 1.5 Flash 002 | 公開プレビュー版 | すべてのハンドブック リージョン |
gemini-2.0-flash-001 | gemini-2.0-flash-001 | Gemini 2.0 Flash | 公開プレビュー版 | マルチリージョンの EU、米国、Vertex AI でサポートされている単一リージョン。 |
モデルのサポート終了日は Vertex AI のサポート終了日と同じです。詳細については、モデル バージョンをご覧ください。
リージョン サポート
Playbook は、次のリージョンでサポートされています。
global
asia-south1
asia-southeast1
asia-northeast1
australia-southeast1
eu
(マルチリージョン)europe-west1
europe-west2
europe-west3
northamerica-northeast1
us
(マルチリージョン)us-central1
us-east1
us-west1
ハンドブック データ
ハンドブックは次のデータで構成されます。
- ハンドブック名: 自然言語で記述されたわかりやすい名前です。ハンドブックが処理するタスクを開発者や LLM が理解する際に役立ちます。
- 目標: ハンドブックで達成すべき内容の概要
- 指示: 目標を達成するために行う必要があるプロセスの手順を定義します。
- 例: サンプルの会話。実質的に、LLM の数ショットのプロンプトの例です。
- パラメータ: ユーザー入力、ユーザー システム情報、アクションの結果など、会話に関する情報を保存するために使用されます。
ハンドブックの種類
ハンドブックを作成するときに、タスク ハンドブックまたはルーティン ハンドブックのいずれかを選択します。
タスク ハンドブック
タスク ハンドブックは、ハンドブックの元のタイプです。複雑なタスクを、再利用可能な小さなサブタスクに分割するために使用されます。これらは、各ステージが入力パラメータと出力パラメータを通じて通信するコンポジションの会話ステージをモデル化するために使用されます。
次の図は、タスク プレイブック(呼び出し元)が別のタスク プレイブック(呼び出し先)を呼び出すことを示しています。
- 呼び出し元が呼び出し先を開始します。
- 呼び出し元は、呼び出し先に必要な入力パラメータを指定します。
- 呼び出し元は、この情報を処理し、指定された関数を実行して、出力パラメータを返します。
- 呼び出し元は呼び出し先からパラメータを受け取ります。
ルーティン ハンドブックまたはタスク ハンドブックは、別のタスク ハンドブックを呼び出すことができますが、タスク ハンドブックは別のルーティン ハンドブックを呼び出すことはできません。
ルーティン ハンドブック
ルーティン プレイブックは、新しいタイプのプレイブックです。これらは、各ステージが完全で独立した順序付けられた会話ステージをモデル化するために使用されます。タスク ハンドブックを呼び出して、大きなタスクを小さなサブタスクに分解したり、他のルーティン ハンドブックやフローに移行したりできます。
次の図は、ルーティン プレイブック(A)、別のルーティン プレイブックへの遷移(B)、フローへの遷移(C)を示しています。
- ルーティン ハンドブック A は、開始時にセッション パラメータを読み取り、終了直前にセッション パラメータを書き込むことができます。
- ルーティン ハンドブック A が終了し、ルーティン ハンドブック B に移行します。
- ルーティン ハンドブック B は、開始時にセッション パラメータを読み取り、終了直前にセッション パラメータを書き込むことができます。
- ルーティン ハンドブック B が終了し、フロー C に移行します。
- Flow C はセッション パラメータを読み取り、書き込むことができます。
ルーティン ハンドブックが別のルーティン ハンドブックまたはフローに移行しない場合、セッションは最後にアクティブだったフローに復帰します。アクティブなフローがない場合、セッションは終了します。
ルーティン ハンドブックのパラメータ管理は次のとおりです。
- ルーティン ハンドブックが入力されると、その入力パラメータには、同じ名前のセッション パラメータと同等の値が割り当てられます。
- ルーティン ハンドブックが終了すると、出力パラメータの値が生成され、同じ名前のセッション パラメータに割り当てられます。
デフォルトのハンドブック
会話エージェント コンソールを使用して生成エージェントを作成すると、デフォルトの生成プレイブックが自動的に作成されます。
デフォルトのハンドブックは会話の出発点となるため、他のハンドブックとは重要な違いがいくつかあります。
- デフォルトのハンドブックは、先行する会話ターンのサマリーを受け取りません。
- デフォルトのハンドブックでは、入力パラメータを定義することも受信することもできません。
プレイブックのインポートとエクスポート
会話型エージェント コンソールを使用してプレイブックを作成したら、これらのプレイブックをエクスポートして別のエージェントで使用できます。ハンドブックをエクスポートするには:
- プレイブックのリストに移動します。
- エクスポートする Playbook のエクスポート ボタンをクリックします。
- エクスポート オプションを選択します。
- [エクスポート] をクリックします。
以前にエクスポートしたハンドブックをインポートするには:
- プレイブックのリストに移動します。
- [インポート] をクリックします。
- インポート オプションを選択します。
- [インポート] をクリックします。