Zoom Virtual Agent(以下ZVA)のツールを利用することで、音声エージェントやチャットエージェントは外部サービスとの連携、情報の取得、特定アクションの実行が可能になり、その対応範囲を拡張します。ツールの利用により、ZVAエージェントは以下のことが可能になります:
- 外部ソースより非構造的なデータの取得、処理を行う。
- ユーザーからのリクエストを処理するためのアクションをバックエンドで実行する。
- 従来のテキスト生成、音声生成を超えた対応が行えるようエージェントの機能を強化する
ZVAツールを利用し、以下のようなユースケースが考えられます。
- 位置情報検索:IPアドレスに基づくデータから、現在地に近い支店をユーザーに表示する。
- 情報取得:ユーザーからの問い合わせに対し、APIコールやカスタムスクリプトを用いて注文詳細やアカウント情報等の詳細なデータを取得する。
- 情報更新:記録の修正を行った後、ユーザーに更新内容の確認を行ってもらう。
この記事は以下の内容を含んでいます。
前提条件
- アカウントオーナーもしくは管理者権限
- Basic、Pro、Business、Education、Enterpriseのいずれかが紐づけられたアカウント
- Zoom Virtual Agentライセンス
ZVAツールを作成する
- Zoom Webポータルにサインインします。
- ナビゲーションメニューで[AI Studio]、[ツールライブラリ]をクリックします。
以下のタブが表示されます:- すべてのツールの種類:利用可能なすべてのツールが表示されます。
- 内蔵:Zoom側がデフォルトで用意しているツールです。
- カスタム:ユーザー側で独自に作成したツールです。
- [すべてのツールの種類]または[カスタム]タブで、[テンプレートを作成]をクリックします。
- ツールタイプを[APIコール]、[カスタムスクリプト]のいずれかから選択します。
- 選択したツールタイプの設定を構成します。
- 設定が完了したら[作成]をクリックします。
APIコール設定
ユーザーからの問い合わせに応じてAPIコールを行い、データの取得や更新を行うことで、ZVAと外部ツール間の連携が行えるようになります。管理者はAPIコールの構造を定義し、入力/出力パラメータを設定し、LLMにその使用タイミングと方法を指示できます。
- 名前:APIコールツールの表示名を入力します。
-
説明:ツールをいつどのように使用するか、簡潔な説明を記載します。これによりAPIコールをトリガーする適切な文脈をLLM側で判断できるようになります。
記載例:「ユーザーが最近の注文状況を確認したい場合に使用するツールです。」 -
エンドポイントURL:APIエンドポイントを入力してください。パス変数には中括弧で囲んだプレースホルダーを使用します。
設定例: /api/user/{userId} - 方法:APIコールを行う際のHTTPメソッドをGET、POST、PUT、DELETEの中から設定します。
- 承認(オプション):APIコールの際に認証が必要な場合、認証方法(例:ベアラートークンまたはAPIキー)を追加します。
-
APIタイムアウト:APIコールがタイムアウトするまでに応答を待つ最大時間(秒単位)を指定します。
-
パラメータ(オプション):APIにて要求される入力パラメータを定義します。これらのパラメータは、ユーザーの入力値または事前設定された値に基づく動的なAPIコールを構築するのに役立ちます。[パラメータを追加]をクリックし、以下項目を入力します:
- 名前:該当のAPIコールにおけるそのパラメータの表示名
- 説明:パラメータの目的を記述します。そのパラメータを渡す方法がLLM側で判断できるよう具体的に記述してください。
- 位置情報:パラメータを配置する場所を、Header、Body、Query、Pathの中から設定します。
- タイプ:パラメータの型を設定します(設定例:String, Number, Boolean等)
- 値のソース:パラメータの取得元を[手動で設定する]、[LLMを通じて収集]のいずれかから設定します
-
値を設定する:パラメータの実際の値を設定します。上記の[値のソース]設定に応じ、以下設定を行います。
- 値のソースが[手動で設定する]の場合:[静的値]、もしくは[マップされた変数]を設定します。
静的な値についてはユーザー側で実際の値を入力します。
[マップされた変数]についてはプルダウンより対応する変数を選択します。 - 値のソースが[LLMを通じて収集]の場合:お客様とのやり取りからLLM側で適切なパラメータを取得します。オプションとしてマップされた変数を選択することも可能です。
- 値のソースが[手動で設定する]の場合:[静的値]、もしくは[マップされた変数]を設定します。
-
デバッグ:APIコールのテストを以下の手順で行います
- 実行ボタンをクリックします。
- 左側のボックス(入力パラメータ)にて、テストのために定義されたパラメータの値が表示されます。
- 右側のボックス(結果)にて、APIコールに対する生のレスポンスが表示されます。こちらを確認し、想定通りのレスポンスが行われているかの確認、必要に応じて設定内容の修正を行います。
-
応答(オプション):APIから返されるデータの解釈、使用方法を定義します。パラメータ追加をクリックし、各項目を入力します:
- 名前:JSONレスポンスから返されるパラメータのキー名。
- 説明:パラメータの定義を記載します。これによりそのパラメータをどのように使用するかLLMが理解しやすくなります。
- タイプ:パラメータの型を設定します(設定例:String, Number, Boolean等)
- 変数へのマッピング(オプション):パラメータを参照しやすくするため、ZVA内の変数にマッピングします。
カスタムスクリプト設定
カスタムスクリプトツールを使用すると、管理者は独自のJavaScriptロジックを記述・実行し、ユーザー入力の処理、データ変換、またはAPIが利用できない/適さないシステムとの連携が可能になります。これによりエージェントは、通常のAPIコールツールより柔軟でカスタマイズされた動作を実現できます。
- 名前:カスタムスクリプトツールの表示名を入力してください。
-
説明:このツールが利用されるシナリオを記載します。LLMがスクリプトをトリガーするタイミングを判断できるよう具体的に記述してください。
記載例:「ユーザーごとの所在地とその時間帯に合わせて挨拶文を調整する必要がある場合に、このツールを使用します。」 -
JavaScript:そのツールが実行すべきロジックをJavaScriptで記述します。このスクリプトは、セキュリティ的に安全かつ隔離された環境で実行されます
スクリプト記述後、[コードを整形]ボタンをクリックするとコードの構造を保持しつつ、より読みやすい形に修正が行われます。 -
パラメータ(オプション):スクリプトを動的にするために入力パラメータを定義します。これらの値はユーザーの入力、スキルコンテキスト、または他のツールから渡すことができます。[パラメータを追加]をクリックし、以下を入力してください:
- 名前:該当のスクリプトにおけるそのパラメータの表示名
- 説明:パラメータの目的を記述します。そのパラメータを渡す方法がLLM側で判断できるよう具体的に記述してください。
- 位置情報:パラメータを配置する場所を、Header、Body、Query、Pathの中から設定します。
- タイプ:パラメータの型を設定します(設定例:String, Number, Boolean等)
- 値のソース:パラメータの取得元を[手動で設定する]、[LLMを通じて収集]のいずれかから設定します
- 値を設定する:ソースに基づき、パラメータの値を設定します。
- デバッグ:APIコールと同様の手順でカスタムスクリプトのテストを行うことが可能です。
-
応答(オプション):スクリプトが返すデータとその使用方法を指定します。[パラメータを追加]をクリックし、以下を入力します:
- 名前:スクリプトから返されるキー名。
- 説明:パラメータの定義を記載します。これによりそのパラメータをどのように使用するかLLMが理解しやすくなります。
- タイプ:パラメータの型を設定します(設定例:String, Number, Boolean等)
- 変数へのマッピング(オプション):パラメータを参照しやすくするため、ZVA内の変数にマッピングします。
ZVAツール作成のベストプラクティス
- ZVAツールの名前や説明を明確かつ一貫性のあるものとし、より発見しやすく、想定通りにLLMが動作するようにします。
- エージェント側の応答に際し、必須となる属性のみをマッピングします。
- 変数名を意図が分かりやすいものとし、ZVA内でのスキルや応答の際、よりシンプルな参照が行えるようにします。
- デバッグツールを利用し、すべてのAPIコールが正常に動作するかテストします。
- モジュール化されテスト可能なスクリプトを利用し、入力パラメータを検証してエラーを防止します。
- ユーザーからのリクエストに効率的に対応するために必要なデータのみを返します。
この記事は「Creating Zoom Virtual Agent tools」を元に作成されました。
__________________________________________________________________________
Zoomに関するご要望はこちらから
今後のコンテンツやサービスの検討のため、ぜひ忌憚なきご意見をお寄せください
※こちらにご記入いただいた内容は外部公開はされません
※お問い合わせフォームではございませんので、回答が必要なご質問については営業/ 当社サポートまでお問い合わせください