UiPath Documentation
maestro
latest
false
Maestro ユーザー ガイド
重要 :
このコンテンツの一部は機械翻訳によって処理されており、完全な翻訳を保証するものではありません。 新しいコンテンツの翻訳は、およそ 1 ~ 2 週間で公開されます。

Voice Agent

ライブ コールにアタッチし、発信者と会話する音声エージェント。

機能​

エージェントをライブ通話に接続し、発信者と会話します。音声はリアルタイムの音声モデルに直接ストリーミングされ、発信者は音声の途中でエージェントの話を中断できます。モデル、ペルソナ、プロンプト、ツール、コンテキスト グラウンディングのインデックス、エスカレーションをノードで直接設定します。

どちらの呼び出し方向も、同じ 3 ステップの形状を使用します。

方向ノード シーケンス
受信着信コール → 音声エージェント → コール終了時
発信通話 終了 →音声 エージェント → 発信コールを作成

ノードには、ノード パレットの [エージェント] カテゴリで [音声エージェント] というラベルが付けられます。

構成のリファレンス​

フィールド説明
モデルリアルタイム音声モデルです。
ペルソナ選択したモデルの音声です。
システム プロンプトエージェントの役割、スタンディングの指示、および会話の終了方法
温度0 から 1への回答の創造性
最大トークン数会話の最大トークンです。
通話コンテキストこのエージェントがアタッチする呼び出し。上流の callContext (例: $vars.createOutgoingCall1.output.callContext) にバインドします。

出力変数​

必要に応じて、[プロパティ] パネルの [ 出力 ] セクションで、構造化された出力変数を設定できます。フロー内の下流のノードで使用する目標指向の変数やルーティング変数を設定するのに役立ちます。

宣言した各出力変数は、エージェントの出力オブジェクトのフィールドになり、 $vars.<agentName>.output.<name>として参照されます。それぞれに名前と型を指定し、変数の [説明] フィールドでその設定方法をエージェントに指示します。出力の生成は、エージェントのシステム プロンプトと出力変数の説明の組み合わせによって決定されます。

エージェントは、音声セッションを終了すると、それらを設定します。

最も一般的な 2 つの用途は、通話の要約と ハンドオフです。要約の場合は、 call_summary などの出力を宣言し、その説明を使用して、通話を要約するようエージェントに指示します。エージェントはセッションの終了時にこのメッセージを書き込み、下流のノードはそれを として読み取 $vars.voiceAgent1.output.call_summary。

ツール​

ツールを ツール のハンドルに接続して、エージェントが推論中に呼び出すことができる機能を提供します。エージェントは、ループ中に、接続された各ツールを呼び出すかどうか、およびいつ呼び出すかを決定します。各ツールには、そのツールの目的をエージェントに伝える説明が付いているので、ツールで説明が公開された場合は、明確な説明を記述してください。

音声エージェント用のツールを設計する際には、以下の点に注意してください。

  • 呼び出し元はすべてのツールの呼び出しを待機するため、各ツールのジョブは小さくて高速に保ちます。
  • エージェントが同じラウンドで呼び出したツールは一緒に返されます — 最も遅いツールは、呼び出し元が無音を聞く時間を設定します。
  • タイムアウトすると、エージェントは失敗を報告してもう一度試行する可能性があるため、ツールはべき等にしてください。180 秒以内にツール呼び出しが返っていないと、タイムアウトします。

ツールの可用性​

ツールのカテゴリ利用可能状況
RPA プロセス利用可能
API ワークフロー利用可能
Activities (アクティビティ)利用可能
その他のフロー (Maestro)利用可能
Process orchestration利用可能
コード化された関数利用可能
エージェント (パブリッシュ済みのスタンドアロン エージェントを呼び出し)利用可能
Integration Service のコネクタ利用可能
コンテキスト グラウンディングのインデックス利用可能
組み込みツール (ファイルを分析、ディープ RAG、バッチ変換)利用できません。
エスカレーション利用できません。
モデル コンテキスト プロトコル (MCP) ツール利用できません。
A2A (エージェント間)利用できません。
IXP (ドキュメント抽出)利用できません。

内蔵音声ツール​

すべての音声エージェントは、2つの組み込みツールにアクセスできます。これらは含まれますが、フロー キャンバスには表示されません。

  1. Dual-Tone Multi-Frequency(DTMF)ツール:電話機のキーパッドの数字を押すために使用し、外部の電話ツリーをナビゲートするために使用できます
  2. セッションを終了: 通話を終了せずに会話を終了するために使用します。音声エージェントの ハンドオフに役立ちます。

ツールのガードレール​

ツールレベルのガードレールは、音声エージェント ノードに接続されているツールで利用できます。ツールの入力パラメーターをフィルター処理またはブロックできます。音声エージェントの [ツール] ハンドルに取り付けられているツールでガードレールを設定します。詳しくは、「 ツールのガードレール」をご覧ください。

ハンドオフ​

音声セッションの終了は、通話の終了と同じではありません。エージェントはセッションを終了すると、通話を終了しますが、回線は開いたままになります。エージェントは出力変数を入力すると、フローは次のノードに移動します。通話を終了できるのは、 通話 終了ノードと発信者のみです。

それがハンドオフを可能にするのです。音声エージェント ノードをチェーンし、すべて同じ コール コンテキストにバインドします。完了すると、各エージェントは独自のセッションを終了し、最後のパスのみが 通話終了に到達するため、発信者は終始回線上に留まります。

ハンドオフは次の 2 つの部分で構成されます。

  • 適切なエージェントにルーティングする。最初のエージェントに出力変数 ( handoff など) を与え、その説明を使用して、設定する値をエージェントに指示します。スイッチ ノードで その値を分岐させ、各ケースがそれを処理するエージェントにつながるようにします。
  • コンテキストを引き継ぎます。受信エージェントは、すでに言われたことについて何も知りません。最初のエージェントからの通話要約の出力をシステム プロンプトで参照するか ($vars.voiceAgent1.output.call_summaryを参照するか、ブランチに [ 会話コンテキストを取得 ] ノードを追加して、代わりに文字起こしを参照します。詳しくは、「 通話の文字起こし」をご覧ください。
注:

通話の引き継ぎはサポートされていません。ライブ通話転送はありません。

通話の文字起こし​

通話後にトランスクリプトを読み取るには、 デバッグ実行トレース または Orchestrator ジョブのトレースを開きます。詳しくは、「 会話型エージェントのオブザーバビリティ」をご覧ください。

フロー内でトランスクリプトを使用するには、以下の手順を実行します。

  1. [ 会話コンテキストを取得 ] ノードを追加します。
  2. $vars.<incomingOrOutgoingCallNodeId>.output.callContext.conversationIdを渡します。たとえば、 <incomingOrOutgoingCallNodeId> を createOutgoingCall1できます。
  3. 文字起こしを $vars.<getConversationContextNodeId>.output.conversationContext.messagesとして参照します。たとえば、 getConversationContextNodeId を getConversationContext1できます。

たとえば、処理のためにトランスクリプトを自律型エージェントに渡すことができます。

一般的な問題​

エージェントは正常に会話しますが、ツールは実行されません。Orchestrator フォルダーには、サーバーレス マシンが割り当てられた Unattended ロボットまたは既定のロボットがないため、すべてのツール呼び出しがエラーとして返され、エージェントは会話状態を維持します。フォルダーにロボットを追加してから、もう一度呼び出します。詳しくは、「 Orchestrator フォルダーの要件」をご覧ください。

会話が終了する前に通話が終了しますが、エラーはありません。エージェントが会話の途中で自身のセッションを終了し、フローは 通話の終了に進みました。これは、音声エージェントが発信者の支援を終了したと考え、セッションを終了することを決定したプロンプトの問題である可能性があります。

エージェントが停止するか、静的な読み取り数字文字列を生成します。Gemini Live at Temperature 0では、長い数字の弦が失速したり、音が歪んだりすることがあります。温度を少し上げます。問題が解決しない場合は、他のモデルを試してください。

エージェントはツール スキーマ エラーでアタッチに失敗します。Gemini モデルは、狭いスキーマのサブセットを受け入れます。ツールの入力スキーマをフラット化するか、フラットな入力スキーマでツールを API ワークフローにラップし、代わりにそのワークフローをツールとして使用します。

通話は接続され、誰も話さず、約 25 秒後に切断されます。エージェントを接続しない通話は、約 25 秒間デッド エアが続くと終了します。通話コンテキストを [着信通話] トリガーまたは [発信通話を作成] ノードからのcallContextにバインドします。

このページは役に立ちましたか?

接続

ヘルプ リソース サポート

学習する UiPath アカデミー

質問する UiPath フォーラム

最新情報を取得