
始める前に
- ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
- ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
- 画面左上の [ラボを開始] をクリックして開始します
Enable API
/ 20
Create an Agent
/ 30
Test the agent
/ 50
会話型エージェントは、会話型エージェントの設計にシンプルで視覚的な bot ビルド アプローチを提供します。bot デザイナーは、bot のビルドプロセス全体をより明確に把握できるようになり、複数のデザイナーが同じエージェント ビルドで簡単にコラボレーションできるようになりました。会話型エージェントは、エージェントが使用および理解できる多くの言語をサポートしていますが、このラボでは英語のみを使用します。
このラボでは、会話型エージェントを使用して会話型エージェントをビルドします。
会話型 AI の基本的なコンセプトを全般的に理解している必要があります。文字起こしサンプルを読んで、クライアントの文字起こしがどのようなものかを確認してください。エージェントを作成する最初のステップは、ユースケースと具体的なビジネス要件を理解するために、クライアントの文字起こしやその他のコンテキスト データを読み込むことです。
こちらの説明をお読みください。ラボには時間制限があり、一時停止することはできません。タイマーは、Google Cloud のリソースを利用できる時間を示しており、[ラボを開始] をクリックするとスタートします。
このハンズオンラボでは、シミュレーションやデモ環境ではなく実際のクラウド環境を使って、ラボのアクティビティを行います。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。
このラボを完了するためには、下記が必要です。
[ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるダイアログでお支払い方法を選択してください。 左側の [ラボの詳細] ペインには、以下が表示されます。
[Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く] を選択します)。
ラボでリソースがスピンアップし、別のタブで [ログイン] ページが表示されます。
ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。
[ラボの詳細] ペインでもユーザー名を確認できます。
[次へ] をクリックします。
以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。
[ラボの詳細] ペインでもパスワードを確認できます。
[次へ] をクリックします。
その後次のように進みます。
その後、このタブで Google Cloud コンソールが開きます。
会話型エージェント コンソールにアクセスし、
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
[エージェントを作成] > [独自にビルド] をクリックします。このページが表示されない場合は、ブラウザを更新してください。
エージェントに「フライト予約
」という名前を付けます。
[場所] プルダウンから [グローバル] を選択します。
[作成] をクリックします。
エージェントを作成したら、[設定] > [(エージェント)設定] > [全般] > [ロギング設定] に移動し、[Cloud Logging を有効にする] と [会話履歴を有効にする] のオプションの横にあるチェックボックスをオンにします。このエージェントのログが生成されます。
[保存] をクリックします。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
理解度チェック
インテントは、エンドユーザーがエージェントとやり取りする理由です(例: 何かを注文する)。ユーザーが移動したいトピックごとにインテントを作成できます。
インテントは、ページやフローをまたいで再利用できます。各インテントは、エンドユーザーが通常尋ねるトレーニング フレーズによって定義されます。これらにアノテーションを付けたり、「ラベル付け」したりして、到着都市や出発日などの特定のパラメータを収集できます。
会話型エージェントは、インテントのトレーニング フレーズを追加すると、アノテーションを提案します。また、手動でアノテーションを付けて、エンドユーザーがエージェントとやり取りする際に抽出したいパラメータ値を収集することもできます。
推奨: インテントを再利用しやすく、メンテナンスを容易にするために、インテントには明確でわかりやすい名前を付けます。
インテントの形式: category.some_description
書式設定の例:
main.book_a_flight
supplemental.flight_emissions
confirmation.yes
、confirmation_no
、redirect.live_agent
。左側のナビゲーション パネルで [アラート] をクリックします。
[管理] > [インテント] > [+ 作成] をクリックします。
表示名: main.book_a_flight
[トレーニング フレーズ] ヘッダーの下で、次の各フレーズを [会話型エージェント] に追加し、各フレーズの後に Enter をクリックします。
[保存] をクリックします。
フローは、これらのトピックと、それに関連する会話パスを定義するために使用されます。すべてのエージェントには、デフォルトの開始フローと呼ばれるフローが 1 つあります。単純なエージェントであればこのフローのみで十分ですが、
より複雑なエージェントでは追加のフローが必要になる場合があります。さまざまな開発チームのメンバーに、これらのフローのビルドと保守を担当させることができます。
すべてのフローは ページから始まり、その後は 1 ページ以上の異なるページで構成され、特定のフロー内の会話を処理します。エンドユーザーが現在表示しているページは「アクティブなページ」とみなされます。各ページは、エンドユーザーから必要な情報を収集するように構成できます。
エージェントが最初にアクセスするページは、デフォルトの開始フローと呼ばれます。ページには、ルーティング ロジック、レスポンス(フルフィルメント)、インテントが一致しない場合(不一致)や入力なし(エージェントが時間内にレスポンスを受け取らない場合)の特定の処理が保存されます。
[ビルド] をクリックします。
[スタートページ] をクリックしてページを開きます。
スタートページの展開されたオプションから、[ルート] の横にある [+] アイコンを選択します。
プルダウンからインテント [main.book_a_flight] を選択し、[保存] をクリックします。
次に、[ルート] セクションで [main.book_a_flight] ルートをクリックします。
[トランジション] まで下にスクロールし、プルダウンから [+ 新しいページ] を選択します。
ページに「チケット情報
」という名前を付けて、[保存] をクリックします。
ウィンドウを閉じてフローのメイン画面に戻ると、新しい [チケット情報] ページが [開始] ページに接続されていることがわかります。
フローの冒頭に挨拶が追加され、[main.book_a_flight
] インテントが一致すると、[チケット情報]ページに進むようになります。[チケット情報] ページでは、エンドユーザーからパラメータを収集して、フライトを予約できるようにします。
エンティティは、エンドユーザーから抽出したい情報のタイプを定義します。たとえば、フライトの目的地となる都市などです。会話型エージェントの組み込みの「システム エンティティ」を使用して、日付、時刻、色、メールアドレスなどを照合する。
システム エンティティは「拡張」して、デフォルトのシステム値の一部ではない値を含めることもできます。完全にカスタマイズされたエンティティを作成する必要がある場合は、ビジネスに固有でシステム エンティティとして見つからないデータをマッチングするためのカスタム エンティティ タイプを作成することで、それを行うことができます。
パラメータは、セッション中にエンドユーザーが指定した情報です(日付、時刻、目的地の都市など)。各パラメータには名前とエンティティ タイプがあります。snake_case(小文字で単語間にアンダースコア)で記述
次に、エンティティを使用して、エンドユーザーから必要なパラメータを抽出します。
[チケット情報] ページをクリックし、[パラメータ] の横にある [+] をクリックしてフライトデータを収集します。
[表示名] フィールドに「departure_city
」と入力します。
[エンティティ タイプ] プルダウンから [@sys.geo-city
] を選択します。
初期プロンプトのフルフィルメント > エージェントのレスポンス > + ダイアログのレスポンスを追加 > エージェントのダイアログまでスクロールし、[What city would you like the flight to depart from?
] を追加します。
[保存] をクリックします。
このウィンドウを閉じて、別のパラメータを作成します。
[パラメータ] の横にある + をもう一度クリックして、次の名前、エンティティ タイプ、エージェントがエンドユーザーにプロンプトを表示する方法で、4 つのパラメータを 1 つずつ作成します。
表示名 | エンティティ タイプ | エージェント ダイアログ: |
---|---|---|
departure_date | @sys.date | 出発の月と日をお知らせください。 |
destination_city | @sys.geo-city | 目的地の都市をお知らせください。 |
return_date | @sys.date | 帰りのフライトの月日をお知らせください。 |
passenger_name | @sys.any | 搭乗者の氏名は何ですか? |
完了すると、次のように表示されます。
理解度チェック
エージェントがフライト予約に必要な 5 つのパラメータを収集したら、次に作成するルーティングの条件を使用して、エンドユーザーを別のページにルーティングします。
パラメータ ウィンドウを閉じて、[チケット情報] ページに戻ります。
下にスクロールして [ルート] を見つけ、その横にある + 記号をクリックします。
[条件] > [条件ルール] まで下にスクロールし、[1 つ以上のルールに一致(OR)] を選択します。
[パラメータ] フィールドに「$page.params.status
」と入力します。
[オペランド] プルダウンで [=
] 記号を選択します。
[値] フィールドに「"FINAL"
」と入力します(二重引用符も必ず含めてください)。
[保存] をクリックします。
理解度チェック
次に、エンドユーザーの予約パラメータが 5 つすべて収集されたときにエンドユーザーに伝えるレスポンスを追加します。これらの応答はフルフィルメントと呼ばれます。
先ほど作成した条件から少し下にスクロールして、[フルフィルメント] セクションを見つけます。
[エージェントのレスポンス] で [ダイアログのレスポンスを追加] をクリックし、[エージェントのダイアログ] を選択して、次のように入力します。ご回答ありがとうございます。チケットの空き状況を確認して
[追加] をクリックします。
[保存] をクリックします。
(このページを開いたまま、次のステップで情報を確認します。)
回答(またはフルフィルメント)を提示したら、収集した旅行情報(パラメータ)が正しい場合にエンドユーザーに繰り返して表示される新しいページへの遷移を作成する必要があります。
移行に到達するまで、下にスクロールし続けます(先ほど作成したフルフィルメントを通過します)。
[ページ フィールド] で、プルダウンを選択して [+ 新しいページ] を選択します。
[ページ名] というフィールドに「旅行を確定
」と入力します。
[保存] をクリックします。
ウィンドウを閉じます。
3 ページのフローを確認します。
セッション パラメータは、エンドユーザーから以前に収集された情報を保存し、セッション全体で有効です。また、エンドユーザーに情報を折り返し伝えるのにも役立ちます。
たとえば、エージェントに「$session.params.passenger_name 様、情報をご提供いただきありがとうございます。」のように乗客の名前を折り返させることができます。エンドユーザーには「John Day 様、情報をご提供いただきありがとうございます。」と表示されます。
形式は次のとおりです。
出発都市を参照する場合は、$session.params.departure_city となります。
[ビルド] ビューから、[旅行の確認] ページ > [フルフィルメントの内容] > [フルフィルメントを編集] フィールドをクリックします。
5 つのパラメータを使用しているため、次のセッション パラメータを使用してユーザーに繰り返すことができます。[エージェントのダイアログ] セクションに次のテキストを貼り付け、[追加] をクリックします。
[保存] をクリックします。
会話型エージェントが収集したセッション パラメータをエンドユーザーに繰り返して伝えるときの表示は次のようになります。
ウィンドウを閉じて、[旅行の確認] ページに戻ります。[ルート] の横にある [+] をクリックします。
[インテント] プルダウンをクリックし、[+ 新しいインテント] をクリックします。
[表示名] に「confirmation.yes
」と入力します。
[トレーニング フレーズ] に「はい
」と入力して Enter キーを押します(「正解」、「うん」などのフレーズを追加して、このインテントの NLU マッチングを改善できます)。
[保存] をクリックします。
保存したら、[フルフィルメント] セクションまで下にスクロールし、[エージェントのレスポンス] で [ダイアログのレスポンスを追加] をクリックして [エージェントのダイアログ] を選択し、Great, your flight is booked!
と入力します。[追加] をクリックします。
[保存] をクリックします。
[ルート] の横にある戻る矢印をクリックします。
次に、エンドユーザーが情報が間違っていると言った場合に、フライトのパラメータを再収集するようにルーティングするロジックを追加します。
[ルート] セクションで、[ルートを追加] を選択します。
[インテント] プルダウンから [+ 新しいインテント] を選択します。
[表示名] フィールドでインテントに confirmation.no
という名前を付けます。
[トレーニング フレーズ] セクションまでスクロールし、「いいえ
」と入力して Enter キーを押します。
[保存] をクリックします。
次に、[トランジション] > [ページ] セクションまでスクロールし、プルダウンから [チケット情報] を選択します。
[パラメータ プリセット] までスクロールして、[パラメータを追加] をクリックします。次の 5 つの値を入力し、引用符なしで null に割り当てます。
パラメータ | 値 |
---|---|
departure_city |
null |
destination_city |
null |
departure_date |
null |
return_date |
null |
passenger_name |
null |
これは、エンドユーザーから以前に収集された値を削除し、新しい値を送信できるようにするためのものです。このステップを忘れると、bot で無限ループが発生する可能性があります。
[保存] をクリックします。
ウィンドウを閉じてビルドビューに戻ると、3 つのページがどのように流れるかを確認できます。最後のページでは、[旅行を確認] ページと [チケット情報] ページの間に 2 つの矢印があります。これは、confirmation.no
インテントがリンクバックされているためです。
理解度チェック
エージェントが意図したとおりに動作するかどうかをテストするには、画面右上にある [シミュレータの切り替え] をクリックします。
[開始リソース] プルダウンで [デフォルトの開始フロー] を選択します。
エンドユーザーになったつもりでエージェントとやり取りしてください。メインフローを進むと、作成したページ、インテント、トランジションが表示されます。
パラメータ コレクションの配置方法に応じて、次のサンプル ダイアログを入力してみてください。
これにより、エージェントを介した取引が成功します。これは一般に「ハッピーパス」と呼ばれます。
エージェントのテストを [エージェントをテストする] コンソールで行った例を次に示します。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
1 つのプロジェクト用にエージェントをビルドしたら、それをエクスポートして別のプロジェクトで使用できます。エージェントをエクスポートして保存し、今後のラボで使用したり、自分の個人プロジェクトでビルドを続けたりできます。
会話型エージェント コンソールの上部にある [エージェント] プルダウンで、[すべてのエージェントを表示] をクリックします。
エージェント リスト画面で、エージェントの横にあるコンテキスト メニューをクリックし、[エクスポート] をクリックします。
[エージェントのエクスポート] 画面で、[ダウンロード] を選択してローカル ファイルにエクスポートし、[エクスポート] をクリックします。
会話型エージェントをビルドし、基本的なコンセプトを理解しました。
マニュアルの最終更新日: 2025 年 2 月 26 日
ラボの最終テスト日: 2025 年 2 月 24 日
Copyright 2025 Google LLC. All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。
このコンテンツは現在ご利用いただけません
利用可能になりましたら、メールでお知らせいたします
ありがとうございます。
利用可能になりましたら、メールでご連絡いたします
1 回に 1 つのラボ
既存のラボをすべて終了して、このラボを開始することを確認してください