ハンドブックは、生成エージェントの基本的な構成要素です。通常、生成エージェントには多数のハンドブックがあり、各ハンドブックは特定のタスクを処理するように定義されています。ハンドブックのデータは LLM に提供され、LLM が質問に回答し、タスクを実行するために必要な情報を確実に取得できるようにします。各ハンドブックは、情報を提供したり、外部サービスにクエリを送信したり、会話処理をフローや別のハンドブックに任せてサブタスクを処理したりできます。
制限事項
次の制限が適用されます。
- ハンドブックを使用するエージェントは、デフォルトの開始フローの Default Welcome Intent ルートから通話コンパニオン SMS を送信することはできませんが、標準フローで通話コンパニオン SMS オプションを有効にできます。
- ハンドブックは、電話システムからの DTMF 入力をサポートしていません。
言語サポート
言語リファレンスの Playbooks 列をご覧ください。ハンドブック用にマークされた言語は、gemini-2.5-flash モデルを使用して品質がテストされています。
英語以外の言語を使用する場合:
- ほとんどの場合、プレイブックの手順には英語を使用します。特定の言語とユースケースでは、ターゲット言語で指示を追加すると、レスポンスが若干改善されることがあります。
- ハンドブックの手順で言語サポートを宣言します(例: 「常にフランス語で回答してください」)。
- ターゲット言語で例を定義します。
モデルサポート
ハンドブックで使用する LLM モデルは、次の場所で選択できます。
- エージェント レベルで LLM モデルを選択します。
- 会話エージェント コンソールの [エージェント設定] > [生成 AI] > [ハンドブック] セクションで、使用可能なモデルのリストから表示名でモデルを選択します。
- API を使用してエージェント設定を更新する場合は、
GenerativeSettings.llm_model_settings.modelフィールドにモデル名を指定します。GenerativeSettings をご覧ください。
- リクエスト レベルでモデルの選択をオーバーライドします。
- 会話エージェント コンソールのシミュレータで、ハンドブックをテストするときに、リストから表示名でモデルを選択します。
- API を使用してエージェントをテストする場合は、
DetectIntentRequest.query_params.llm_model_settings.modelフィールドにモデル名を指定します。DetectIntentRequest をご覧ください。
| モデル名 | モデルの仕様 | リリース ステージ |
|---|---|---|
| gemini-2.5-flash | Gemini 2.5 Flash | GA |
| gemini-2.5-flash-lite | Gemini 2.5 Flash-Lite | GA |
| gemini-3.1-flash-lite | Gemini 3.1 Flash-Lite | GA |
| gemini-3.5-flash-lite | Gemini 3.5 Flash-Lite | GA |
リージョン サポート
プレイブックは、次のリージョンでサポートされています。
globalasia-south1asia-southeast1asia-southeast2asia-northeast1australia-southeast1eu(マルチリージョン)europe-west1europe-west2europe-west3europe-west4europe-west6northamerica-northeast1us(マルチリージョン)us-central1us-east1us-west1
ハンドブックのデータ
ハンドブックを構成するデータ
- ハンドブック名: 自然言語で記述されたわかりやすい名前で、ハンドブックが処理するタスクを開発者や LLM が理解するのに役立ちます。
- 目標: ハンドブックで達成すべき内容の概要。
- 指示: エージェントが目標を達成するために行う必要があるプロセスの手順。
- 例: 会話のサンプル。LLM 用の少数ショット プロンプトの例として機能する。
- パラメータ: ユーザー入力、ユーザー システム情報、アクションの結果など、会話に関する情報を保存する変数。
LLM プロンプト
会話のターンごとに、Dialogflow CX は設計時のハンドブック データとランタイム会話データを使用して、トークン上限内で LLM プロンプトを作成します。
次のリストは、このプロンプトの内容をまとめたものです。ヘッダーは説明用であり、必ずしもプロンプトの一部ではありません。
# INTERNAL_SYSTEM_PROMPT
<you cannot see or edit this>
# INTERNAL_SYSTEM_EXAMPLES
<you cannot see or edit this>
# AVAILABLE_TOOLS_TO_CURRENT_PLAYBOOK
<tool names and schemas, for example...>
## Tool: my_datastore
description: blah
input: blah
output: blah
## Tool: some_other_custom_tool
description: blah
input: blah
output: blah
# PLAYBOOK
<verbatim Goal and Instructions that you provide in the console>
# PLAYBOOK_EXAMPLES
<as many Examples for the current Playbook as can fit in the prompt>
## Example 1
## Example 2
..
..
..
## Example N (up to the input token limit)
# CURRENT_CONVERSATION
<the conversation up to this point w/ some caveats...>
* Caveat 1: If there was a transition from Playbook A -> Playbook B, the
Conversation that happened in Playbook A is summarized and provided as context
* Caveat 2: If there was a transition from Flow A -> Playbook A, the
Conversation that happened prior to the entry of Playbook A is summarized and
provided to the Playbook
ハンドブックの種類
ハンドブックを作成するときに、タスク ハンドブックまたはルーティン ハンドブックのいずれかのタイプを選択します。
タスク ハンドブック
タスク ハンドブックは、ハンドブックの元のタイプです。これらを使用すると、複雑なタスクを再利用可能な小さなサブタスクに分割し、構成的な会話ステージをモデル化できます。各ステージは、入力パラメータと出力パラメータを通じて通信します。
呼び出し元として機能するタスク ハンドブックが、呼び出し先として機能する別のタスク ハンドブックを呼び出します。

- 呼び出し元が呼び出し先を開始します。
- 呼び出し元は、呼び出し先に必要な入力パラメータを提供します。
- 呼び出し先はこの情報を処理し、指定された関数を実行して、出力パラメータを返します。
- 呼び出し元は、呼び出し先からパラメータを受け取ります。
ルーティン ハンドブックまたはタスク ハンドブックは、別のタスク ハンドブックを呼び出すことができますが、タスク ハンドブックは別のルーティン ハンドブックを呼び出すことはできません。
ルーティン ハンドブック
ルーティン ハンドブックは、最近追加されたハンドブックの種類です。これらは、順次会話ステージのモデリングに使用されます。各ステージはそれ自体で完結、独立しています。タスク ハンドブックを呼び出して、大きなタスクを小さなサブタスクに分解できます。また、他のルーティン ハンドブックやフローに遷移することもできます。
次のリストは、ルーティン ハンドブック A がルーティン ハンドブック B に移行し、その後フロー C に移行することを示しています。

- ルーティン ハンドブック A は、開始時にセッション パラメータを読み取り、終了直前にセッション パラメータを書き込みます。
- ルーティン ハンドブック A が終了し、ルーティン ハンドブック B に移行します。
- ルーティン プレイブック B は、開始時にセッション パラメータを読み取り、終了直前にセッション パラメータを書き込みます。
- ルーティン ハンドブック B が終了し、フロー C に移行します。
- フロー C はセッション パラメータを読み書きします。
ルーティン プレイブックが別のルーティン プレイブックまたはフローに移行しない場合、セッションは最後にアクティブだったフローに戻るか、アクティブなフローがない場合は終了します。
ルーティン ハンドブックのパラメータ管理動作は次のとおりです。
- ルーティン ハンドブックに入力されると、入力パラメータには、同じ名前のセッション パラメータと同等の値が割り当てられます。
- ルーティン ハンドブックが終了すると、出力パラメータの値が生成され、同じ名前のセッション パラメータに割り当てられます。
ハンドブックの種類を比較する
| カテゴリ | タスク ハンドブック | ルーティン ハンドブック |
|---|---|---|
| レイテンシ | タスク ハンドブックが別のタスク ハンドブックを呼び出すたびに、LLM 呼び出しが発生します。1 回の会話ターンでタスクのハンドブックが長く連なると、レイテンシが増加する可能性があります。 | 一連の遷移における各ルーティン ハンドブックは 1 回の会話ターン内で発生するため、LLM 呼び出しは 1 回のみとなり、レイテンシが改善されます。 |
| パラメータの再生成 | タスク ハンドブックが別のタスク ハンドブックを呼び出す場合、パラメータ値を再生成する必要があります。タスクのハンドブックのチェーンが長い場合、この再生成によりコンテキストが失われる可能性があります。 | ルーティン プレイブックでは、パラメータにセッション ストレージを使用するため、より信頼性の高いコンテキストが作成されます。 |
| セッション パラメータの統合 | タスクのハンドブックはセッション パラメータとの連携がうまくいかないため、入力パラメータと戻りパラメータを定義する必要があります。 | ルーティン ハンドブックは、セッション パラメータと適切に連携します。 |
| 再利用性 | すべてのタスクのハンドブックには固定の親子関係があるため、タスクは密結合されています。 | ルーティン ハンドブックは、互いに独立して定義できます。 |
デフォルトのハンドブック
会話エージェント コンソールで生成エージェントを作成すると、Dialogflow CX によってデフォルトの生成ハンドブックが自動的に作成されます。
デフォルトのハンドブックは会話の出発点となるため、他のハンドブックとは重要な違いがいくつかあります。
- デフォルトのハンドブックは、先行する会話ターンのサマリーを受け取りません。
- デフォルトのハンドブックでは、入力パラメータを定義することも受信することもできません。
ハンドブックを作成する
ハンドブックを作成するには:
- コンソールのナビゲーション メニューで、ハンドブック アイコンをクリックします。
- [作成] をクリックします。
- ハンドブックの種類として [ルーティン] または [タスク] を選択します。
- ハンドブック データを指定します。
AI 生成を使用してハンドブックを作成する
ハンドブックを作成すると、生成 AI パネルが開きます。これにより、プレイブック データを生成できます。
ハンドブックをインポートおよびエクスポートする
会話エージェント コンソールを使用してハンドブックを作成したら、これらのハンドブックをエクスポートして別のエージェントで使用できます。
ハンドブックをエクスポートするには:
- ハンドブックのリストに移動します。
- エクスポートするハンドブックを選択し、[エクスポート] を選択します。
- エクスポート オプションを選択し、[エクスポート] をクリックします。
以前にエクスポートしたハンドブックをインポートするには:
- ハンドブックのリストに移動します。
- インポートするハンドブックを選択し、[インポート] を選択します。
- インポート オプションを選択し、[インポート] をクリックします。