クライアントツール
クライアントツール
アシスタントがクライアント側の操作をトリガーできるようにします。
クライアントツールを使用すると、アシスタントはクライアント側の関数を実行できます。Webhookツールとは異なり、クライアントツールでは、ブラウザーイベントのトリガー、クライアント側の関数の実行、UIへの通知の送信などのアクションをアシスタントが実行できます。
概要
アプリケーションでは、アシスタントがユーザーの環境と直接やり取りする必要がある場合があります。クライアント側ツールにより、アシスタントはクライアント側の操作を実行できます。
クライアントツールが役立つ例をいくつか紹介します:
- UIイベントのトリガー:アシスタントがアラート、モーダル、通知などのブラウザーイベントをトリガーできるようにします。
- DOMとの操作:動的なコンテンツ更新や、複雑なインターフェースでのユーザー案内のために、アシスタントがDocument Object Model(DOM)を操作できるようにします。
サーバー側APIを呼び出すには、代わりにWebhook ツールを使用してください。
ガイド
前提条件
- ElevenLabsアカウント
- 設定済みのElevenLabs会話型エージェント(こちらで作成)
新しいクライアント側ツールを作成する
必須の文字列パラメーターmessage(「コンソールにログ出力するメッセージ」)を持つ、logMessageという名前のクライアントツールを設定します。
ダッシュボードから追加
CLIから追加
APIから追加
エージェントのダッシュボードに移動します。Toolsセクションで、Add Toolをクリックします。Tool TypeがClientに設定されていることを確認します。次のように設定してください:
次に、以下の設定で新しいパラメーターmessageを作成します:

クライアントツールの結果を会話コンテキストに渡す
エージェントがクライアントツールからデータを受け取るようにするには、ツール設定でWait for responseオプションにチェックを入れてください。

クライアントツールを追加すると、関数が呼び出された際にエージェントはその応答を待機し、応答を会話コンテキストに追加します。
この例では、エージェントがgetCustomerDetailsを呼び出すと、関数がクライアント上で実行され、エージェントは返されたデータを受け取ります。このデータは会話コンテキストの一部として使用されます。応答の値は、Webhookツールと同様に、動的変数に任意で割り当てることもできます。なお、システムツールは動的変数を更新できません。
トラブルシューティング
ツールがトリガーされない
- エージェント設定内のツール名とパラメーター名が、コード内で登録したものと一致していることを確認してください。
- エージェントのダッシュボードで会話の文字起こしを確認し、ツールが実行されていることを確認してください。
コンソールエラー
- ブラウザーのコンソールを開き、エラーがないか確認してください。
- 未定義または予期しないパラメーターに対して、コードに必要なエラー処理が実装されていることを確認してください。
ベストプラクティス
ツールには直感的な名前と詳しい説明を付ける
アシスタントが正しいツールを呼び出さない場合は、各ツールをいつ選択すべきかをより明確に理解できるよう、ツール名と説明を更新する必要があるかもしれません。ツール名や引数名を短縮するために、略語や頭字語を使用するのは避けてください。
ツールをいつ呼び出すべきかについて、詳しい説明を含めることもできます。複雑なツールでは、各引数の説明も含めることで、アシスタントがその引数を収集するためにユーザーへ何を尋ねる必要があるかを把握しやすくなります。
ツールパラメータには直感的な名前と詳しい説明を付ける
ツールパラメータには、明確でわかりやすい名前を使用してください。該当する場合は、説明内でパラメータに期待される形式を指定します(例:日付の場合はYYYY-mm-ddまたはdd/mm/yy)。
アシスタントの システムプロンプトに、ツールを呼び出す方法とタイミングに関する追加情報を含めることを検討する
システムプロンプトで明確な指示を与えると、アシスタントのツール呼び出し精度を大幅に改善できます。たとえば、次のような指示でアシスタントを導きます。
複雑なシナリオにはコンテキストを提供してください。例:
LLMの選択
ツールを使用する場合は、GPT 5.2、Gemini-2.5-Flash、 Claude Sonnet 4.5などの高性能モデルを選び、Gemini-2.0-Flashは避けることをおすすめします。
LLMの選択は、関数呼び出しの成功に重要であることに注意してください。一部のLLMでは、会話から関連するパラメータを抽出するのが難しい場合があります。