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