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

チャット エージェントのワークフローを構築する

出力ベースのルーティングやエージェントのハンドオフなどの機能を含む、AI を活用したリアルタイムのチャット エクスペリエンスを Maestro Flow で構築できます。

構築する内容:コア チャット ノードを使用して柔軟なチャット エクスペリエンスをオーケストレーションする方法を示す会話フロー。

このチュートリアルでは、アカウント スペシャリスト エージェントに会話をいつ引き渡すかを決定する一般的なヘルプデスク エージェントで構成されるチャット エクスペリエンスを構築します。

必要なもの​

  • Maestro Flow へのアクセス権を持つ UiPath Automation Cloud アカウント。
  • エージェントで利用可能な LLM モデル。

使用されるノード​

  • 会話トリガー: フローを会話型としてマークし、ユーザーがチャットを開始したときに開始します。
  • メッセージを待機: ユーザーがメッセージを送信して最新の会話コンテキストを返すまで一時停止します。
  • 会話型エージェント: 会話のコンテキストに基づいて一連の応答とツール呼び出しを順番に実行する、単一プロンプトの会話型 AI ノードです。
  • 判断: エージェントの構造化された出力に基づいてルーティングします。
  • メッセージを送信: 決定論的な (LLM 以外の) 通知をチャットに送信します。

手順​

1. フローを作成し、会話トリガーを追加する​

  1. Studio Web で [ 新規作成] を選択し、[ Maestro Flow] を選択します。
  2. 既定のトリガー ( [手動トリガー] というラベル) を選択し、[ トリガーを変更] を選択します。
  3. トリガー ピッカーで [ 会話トリガー] を選択します。

2. ユーザーの最初のメッセージを待機する​

[メッセージを待機] は、会話トリガーの後の最初のノードである必要があります。

  1. [会話ツール] パレットから [メッセージを待機] ノードをキャンバスにドラッグし、[会話トリガー] に接続します。
  2. プロパティ パネルで、[ 会話 ID ] を $vars.conversationTrigger1.output.conversationIdに設定します。

このノードは、下流のチャット ノードが使用する conversationContext (最近のチャット履歴、ユーザー プロファイル データ、その他のターン情報) を出力します。

3. 会話型エージェント ノードを追加する​

最初に追加する会話型エージェント ノードは、日常的な IT に関する質問自体を処理する一般的な ヘルプデスク エージェント であり、構造化された出力を介して、いつスペシャリストに引き渡すかを決定します。

  1. [ 会話型エージェント ] ノードをキャンバスにドラッグし、[メッセージを待機] に接続します。

  2. 名前を General Helpdesk Agent に変更し、エージェントの [ 詳細設定 ] パネルで ID の名前を generalHelpdeskAgent に変更して追跡しやすくします。

  3. エージェントの [プロパティ] パネルで、[ システム プロンプト] を設定します。

    You are the internal IT helpdesk assistant.
    Answer everyday questions about our tools, wifi, printers,
    meeting rooms, and where to find internal docs.
    
    When the employee is having an account problem — 
    a forgotten password, a locked account, an MFA issue, 
    or a missing permission — tell the user that they will
    be handed off to an account specialist agent.
    You are the internal IT helpdesk assistant.
    Answer everyday questions about our tools, wifi, printers,
    meeting rooms, and where to find internal docs.
    
    When the employee is having an account problem — 
    a forgotten password, a locked account, an MFA issue, 
    or a missing permission — tell the user that they will
    be handed off to an account specialist agent.
    
  4. [ 会話型エージェントの設定] で、[ 会話] コンテキスト を $vars.waitForMessage1.output.conversationContextにバインドします。

  5. [ 出力] で、出力変数を追加します。

    • Name (名前): needsAccountSpecialist
    • データ型: ブール値
    • 既定値は false です。
    • 説明: Set to true when the employee has an account problem — a forgotten password, a locked account, an MFA issue, or a missing permission. Otherwise false.

出力変数の 説明 は必須です。エージェントは、システム プロンプトに加えて説明を使用して、会話の順番に構造化された出力を生成します。

4. ルーターの決定に基づいて分岐する​

構造化された出力でルーティングする意思決定ノードでエージェントを追跡します。

  1. [ 判断 ] ノードをキャンバスにドラッグし、一般ヘルプデスク エージェントに接続します。
  2. 条件 を設定します$vars.generalHelpdeskAgent.output.needsAccountSpecialist
  3. False 分岐を元の [メッセージを待機] に戻します (手順 2)。一般的なヘルプデスク エージェントは会話を保持します。後で引き継ぐことも、引き継ぎしないこともできます。

True 分岐 は、とりあえず開いたままにします。これについては、次の手順で詳しく説明します。

5. ハンドオフをアナウンスする​

スペシャリストが引き継ぐ前に、何が起こっているのかを従業員に伝え、次のステップを尋ねます。

  1. [判断] の [ True ] ブランチに [ メッセージを送信 ] ノードを追加します。構成:
    • 会話 ID: $vars.conversationTrigger1.output.conversationId
    • 取引所 ID: $vars.waitForMessage1.output.conversationContext.latestExchangeId
    • コンテンツ: "You've been connected to the account specialist, which can help with password resets, unlocking your account, and permission or group membership questions. Please explain your issue."

6. アカウント スペシャリストとの 2 つ目の [メッセージを待機] ループを追加します​

  1. [メッセージを送信] の後に、[ メッセージを待機 ] ノードをもう 1 つ追加します。

  2. [ 会話 ID ] を $vars.conversationTrigger1.output.conversationIdに設定します。

  3. 会話 型エージェント ノードをドラッグして、この 2 番目の [メッセージを待機] に接続します。

  4. 必要に応じて、名前を Account Specialist Agent に変更します。

  5. システム プロンプトを設定します。

    You are the account specialist. The user has been handed off 
    to you from a general helpdesk assistant.
    
    Help only with account problems — password resets, unlocking
    accounts, MFA re-enrollment, and permission or group membership
    questions.
    You are the account specialist. The user has been handed off 
    to you from a general helpdesk assistant.
    
    Help only with account problems — password resets, unlocking
    accounts, MFA re-enrollment, and permission or group membership
    questions.
    
  6. [ 会話型エージェントの設定] で、[ 会話] コンテキスト を $vars.waitForMessage2.output.conversationContextにバインドします。

  7. アカウントスペシャリストの出力を waitForMessage2 に接続して、スペシャリストのループを閉じます。

ヒント:

複数の [メッセージを待機] ノードがある場合、誤って下流のノードを設定して、先ほど実行した [メッセージを待機] ノードの古い会話コンテキストを参照する可能性があります。

追跡を容易にするには、フローレベルの変数 ( $vars.globalConversationContextなど) を作成し、各 [メッセージを待機] ノードの [変数を更新 ] セクションから更新します。これにより、下流のノードは、最後に実行された [メッセージを待機] ノードの出力を選択する代わりに、信頼できる唯一の情報源を参照できます。

7. フローをデバッグする​

上部のツールバーで [ デバッグ ] を選択します。キャンバスの横にチャット パネルが開きます。

  • 「オフィスの VPNに接続するにはどうすればよいですか?」 と尋ねると、一般的なヘルプデスクエージェントが直接答え、ループバックして次のターンに戻す必要があります。
  • 「ログインに問題が発生しています。」と尋ねます — 一般的なヘルプデスク エージェントが needsAccountSpecialist: trueを設定すると、判断は True の分岐にルーティングされ、引き継ぎの通知が表示され、アカウント スペシャリストが引き継ぎます。

実行トレースを調べて、各ターンで実行されたエージェントと、一般的なヘルプデスク エージェントが生成した構造化された出力を確認します。

結果​

パブリッシュおよびデプロイされると、会話型フローは、 チャットのデプロイ チャネル で 会話型エージェント としてエンド ユーザーに表示されます。チャット エージェントのオブザーバビリティを通じて、パフォーマンス、メトリック、ユーザーからのフィードバックを監視します。

このフローを拡張する​

  • エージェントにコンテキストとツールを提供する: コンテキスト リソースをエージェントの コンテキスト ハンドルに接続し、モデルだけでなく、インデックス付きのナレッジ ソースから回答できるようにします。ツール リソースをエージェントの [ツール] ハンドルに接続し、エージェントが応答するだけでなく、会話のターン中にアクションを実行できるようにします。
  • 並列実行分岐を追加する: [メッセージを待機] にルーティングするほか、並列分岐を追加して、会話をブロックすることなく背後でのアクションを実行します。たとえば、ブランチは、マネージャーの承認を得るために 人間の ノードを起動してから、他のアクションを続行できます。
  • 問題が解決したらチャットを終了する: 実行を終了する分岐にルーティングする resolved: true 出力をエージェントに追加します。会話は正常に終了し、ユーザーには会話が終了したことが表示されます。

たとえば、上記の機能を使用してチュートリアルのフローを拡張すると、次のような完全なチャット エクスペリエンスが得られる場合があります。

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

接続

ヘルプ リソース サポート

学習する UiPath アカデミー

質問する UiPath フォーラム

最新情報を取得