- はじめに
- スタート アップ ガイド
- Maestro の BPMN を使用した構築
- Maestro Case を使用した構築
- Maestro Case について
- Maestro BPMN と Maestro Case の比較: ケース管理を使用すべき状況
- Maestro Case のライフサイクル: イベント トリガーからアプリのエクスペリエンスまで
- Maestro Case を使用して最初のケースを構築する
- コーディング エージェントを使用して Maestro Case を構築する (プレビュー)
- ケース キーを定義する (システムと外部)
- タスクの I/O と書き戻しの契約を確立する
- 終了ルールと早期終了
- プライマリ ステージとセカンダリ ステージをモデリングする
- Data Fabric からケースをトリガーする
- ステージレベルのペルソナと権限を実装する
- SLA と自動エスカレーション ルールを設定する
- 再作業によるループ (再エントリ) を設定する
- Case Manager エージェントを設定およびテストする (プレビュー)
- ケース マネージャーの入力および出力コントラクト
- Maestro Case コンポーネント ディクショナリ
- Maestro Flow を使用した構築
- Maestro Automate
- Integrations
- オペレーティング
- 監視
- 最適化中
- 参考情報
会話型エージェント
会話型エージェント ノードは、チャットの会話で LLM 主導のターンを実行し、推論とツールの呼び出しをループ処理してチャットにストリーミングします。
機能
キャンバスで作成した会話型 AI エージェントを 1 ターン実行します。モデル、指示、ツールを設定し、[ メッセージを待機 ] ノードから出力される会話コンテキスト (チャット履歴を含む) を渡します。エージェントは推論とツール呼び出しのループを実行し、それらをチャットにストリーミングします。
エージェントは、ユーザーが開始した交換内でのみ応答できます。つまり、会話型エージェント ノードを実行する前にユーザーが最初にメッセージを送信する必要があります。フローによって開始されるやり取り (ユーザーのターンがないままメッセージを送信する) はまだサポートされていません。
使用すべき状況
会話型エージェント ノードは応答を自動的にストリーミングしてチャットに追加するため、会話に対するエージェントの応答を出力するために [メッセージを送信] を使用する必要はありません。
会話型エージェント ノードを他のチャット ノードと組み合わせるステップ バイ ステップの例については、「 チャット エージェント ワークフローを構築する 」をご覧ください。
エージェントを追加する
ノードを追加し、[プロパティ] パネルで設定します。
- 出力ハンドルの [ + ] ボタンを選択するか、下部のツールバーからノード パレットを開きます。
- [ エージェント] カテゴリを選択し、[ 会話型エージェント] を選択します。フローによってノードが追加され、そのプロパティ パネルが開きます。
- 以下に記載するように、モデル、システム プロンプト、会話コンテキストのバインドを設定します。
結果: [会話型エージェント] ノードがキャンバスに追加され、プロパティ パネルが開き、設定できるようになります。
構成のリファレンス
| フィールド | Required | 既定 (Default) | 説明 |
|---|---|---|---|
| モデル | いいえ | 組織の既定のエージェント モデル | エージェントが使用する大規模言語モデル (LLM)。ピッカーからモデルを選択すると、組織で利用可能なモデルが一覧表示されます。 |
| システム プロンプト | はい | なし | エージェントの役割とスタンディング インストラクション: エージェントが誰であり、どのように動作すべきか。会話のすべてのターンに適用されるため、永続的なガイダンスを記述します。たとえば、ペルソナ、トーン、目標、ツールを呼び出すタイミング。 |
| 温度 | いいえ | 0 | 0 から 1までのランダム性をサンプリングします。値が小さいほど、応答はより決定論的になります。値が大きいほど、応答の多様性や創造性が強くなります。 |
| 回答あたりの最大トークン数 | いいえ | 8192 | ターン内の各モデル応答の最大長。天井は選択したモデルによって異なります。 |
| 会話のコンテキスト | はい | なし | アップストリームの 「メッセージを待機」からの会話コンテキスト オブジェクト (チャット履歴を含む)$vars.waitForMessage1.output.conversationContext |
出力変数
エージェントの会話による応答に加えて、必要に応じて、[プロパティ] パネルの [ 出力 ] セクションで構造化された出力変数を設定できます。
これらの出力はチャット 内のユーザーには表示されません 。代わりに、フロー内の下流のノードで使用する目標指向の変数やルーティング変数を設定するのに役立ちます。
宣言した各出力変数は、エージェントの output オブジェクトのフィールドになり、 $vars.<agentName>.output.<name>として参照されます。それぞれに名前と型を指定し、変数の [ 説明 ] フィールドでその設定方法をエージェントに指示します。
エージェントの会話応答の生成はシステム プロンプト のみ によって決定され、エージェントの出力の生成は、システム プロンプトと出力変数の説明 の組み合わせ によって決定されます。エージェントが構造化された出力データをチャットに送信しないようにするには、システム プロンプトを使用してエージェントにチャットでの応答方法を指示し、出力の説明を使用して出力の入力方法をエージェントに指示します。
例:
システム プロンプト: 「ユーザーが会話を終了したいときは、感謝の気持ちを伝えてください」
出力変数: endConversation (Boolean)。説明: 「ユーザーが会話を終了する場合は true に設定してください」
結果に対する分岐
Wait for Message → Conversational Agent (supervisor) → Switch on $vars.agent.output.intent
→ 'intent-a': Route to a loop with specialist conversational agent A
→ 'intent-b': Route to a loop with specialist conversational agent B
→ 'off-topic': Send Message ("Message is off-topic") → back to first Wait for Message.
Wait for Message → Conversational Agent (supervisor) → Switch on $vars.agent.output.intent
→ 'intent-a': Route to a loop with specialist conversational agent A
→ 'intent-b': Route to a loop with specialist conversational agent B
→ 'off-topic': Send Message ("Message is off-topic") → back to first Wait for Message.
リソース
会話型エージェントは、ハンドルに接続するリソース ノードで構成されます。ノードには 3 つのリソース ハンドルがあり、それぞれに専用のラベル ( ツール、 コンテキスト、 エスカレーション) がキャンバスに表示されます。リソースをハンドルに接続し、そのリソースを専用のプロパティ パネルで設定します。リソースはフローとともに移動します。
各ハンドルは、一致するリソースの種類のみを受け入れます。キャンバスでは、適合しない接続がブロックされるため、たとえばツールをコンテキスト ハンドルにワイヤリングすることはできません。
ツール
ツールを ツール のハンドルに接続して、エージェントが推論中に呼び出すことができる機能を提供します。エージェントは、ループ中に、接続された各ツールを呼び出すかどうか、およびいつ呼び出すかを決定します。各ツールには、そのツールの目的をエージェントに伝える説明が付いているので、ツールで説明が公開された場合は、明確な説明を記述してください。
接続できるツールの種類は次のとおりです。
- 組み込みツール、以下で説明する 3 つの既製ツール。
- コネクタ ツール。エージェントが Integration Service の操作を呼び出すことができます。たとえば、メールの送信や下流のシステムでのレコードの作成などが可能です。
- RPA ワークフロー および API 関数 ツール: エージェントはパブリッシュ済みの RPA プロセスまたは API ワークフローをツールとして呼び出すことができます。
- モデル コンテキスト プロトコル (MCP) サーバー ツール。MCP サーバー上でパブリッシュされたツールを公開します。
組み込みツール
Flow には 3 つの組み込みツールが付属しています。それぞれが自己完結型のリソースであり、[ ツール ] に接続して専用のパネルで処理および設定します。
- ファイルを分析: LLM を使用して 1 つ以上のファイルを分析し、その内容を抽出、合成したり、質問に回答したりします。エージェントが渡すファイルと、そのファイルに対して実行する分析タスクを入力します。
- バッチ変換: CSV ファイルを 1 行ずつ処理および変換します。ソース ファイルを指定し、行ごとのタスクを説明して、ツールが追加する出力列を定義します。変換の Web 検索のグラウンディングを有効化または無効化できます。
- 要約: 引用を含む複数のドキュメント (最大 1,000 ページ) を合成します。ソースを指定し、合成する内容を説明し、ファイル拡張子を選択します。ソースが PDF の場合、引用のオン/オフを切り替えることができます。
MCP サーバーのツール
モデル コンテキスト プロトコル (MCP) サーバーを接続して、そのツールをエージェントに公開します。サーバーからツールを 1 つ以上選択すると、ツール ピッカーの下に [ ツール設定 ] セクションが追加され、ツールごとに展開可能なパネルが表示されます。そのパネルでは、各引数の説明を編集したり、ツールの完全な入力/出力スキーマを表示したり、引数の値の取得方法 (実行時にエージェントが決定するか、値をスコープ内のエージェント変数にバインドするか、値を固定する (必要に応じて機密のフラグを付ける) かを選択できます。
MCP サーバーのツール リストは、次の 2 つの検出モードから取得できます。
- キャッシュ: サーバーが接続されているときに、サーバーのツールのスナップショットを作成します。サーバー上の 更新ツール を使用して、更新されたスナップショットをオンデマンドでプルします。
- 既定では、ツールの設定パネルの [呼び出し前にスキーマを更新 ] トグルは、各呼び出しの直前にツールの現在のスキーマについてサーバーを再チェックするため、サーバーのスキーマ変更 (パラメーターの名前の変更や追加など) を手動で更新する必要はありません。無効化すると、ツールは常に最後のスナップショットのスキーマを使用します。
- 動的: 実行時に、ノードの構成後にサーバーに追加されたツールを含む、呼び出しごとにツールを検出します。
リモート MCP サーバーの場合、更新によってサーバーの検出エンドポイントがポーリングされ、非同期補完かどうかが確認されます。プラットフォーム MCP サーバー (Document Understanding などの UiPath ネイティブ サービス) の場合、ツール リストは代わりに UiPath Platform サービス カタログから取得されます。
MCP サーバーがまだ接続されていない場合は、ノード パレットの [MCP サーバー] エントリから MCP サーバーを追加します。[ 新規作成 ] オプションは、サブタイプ ( Platform、 Remote、 Command、 Coded、 UiPath) によるサーバー作成をグループ化します。[ プラットフォーム ] を選択すると、環境でサポートされている場合、現在のソリューション内にサーバーを作成するためのダイアログが開きます。他のサブタイプは、Orchestrator で対応する作成ページを開きます。詳しくは、「 MCP サーバーについて」をご覧ください。
インラインの会話型エージェント ノードは、 個人用コネクション、 クライアント側ツール、 ツール呼び出しの確認機能はまだサポートしていません。これらを使用するには、 Agent Builder でエージェントを構築し 、フローのノードとしてインポートします。
Context
コンテキスト リソースを コンテキスト ハンドルに接続して、エージェントをデータにグラウンディングします。エージェントは、モデルだけに依存するのではなく、推論中にこのグラウンディング データを利用します。コンテキスト リソースは、組織内のコンテキスト インデックスを指します。
エージェントがインデックスから取得する方法を設定します。取得モード (セマンティック、構造化、DeepRAG、バッチ変換)、クエリ、返される結果の数、関連性のしきい値、引用を含めるかどうかなどがあります。新しいコンテキスト インデックスを作成するには、ハンドルの [追加] パネルで [ 新しいコンテキストを作成 ] アクションを使用します。これにより、インデックスの作成が新しいタブで開きます。
エスカレーション
エ スカレーション ハンドルを接続し、エージェントが単独で決定すべきではないケースに到達したときにユーザーにルーティングします。エージェントが一時停止し、人間がエスカレーションに対応し、エージェントは結果を持って再開します。次の 2 つのエスカレーション リソースのいずれかをアタッチできます。
- エスカレーション: アクション アプリのタスクにルーティングします。アクション アプリ、受信者、通知、アプリに渡される入力、アプリの結果がエージェントにどのようにマッピングされるかを設定します。
- アクション アプリのエスカレーション: 受信者、通知、入力、結果マッピングの設定で、コード化されたアクション アプリにルーティングします。
両方のエスカレーション リソースは同じように設定されます。エスカレーションの対象が標準のアクション アプリではなくコード化されたアクション アプリである場合は、[アクション アプリのエスカレーション] を選択します。
会話型エージェントからのエスカレーションによって 会話のターンがブロック され、ユーザーは人間が行動するまでチャット画面で待機することになります。会話を続ける必要がある長時間にわたる承認や引き渡しの場合は、代わりに 並列ブランチ から 人間の ノードを実行します。これにより、承認がバックグラウンドで行われている間にチャットを続行できます。
一般的な問題
デバッグする前に入力検証エラーが表示されます。モデル、システム プロンプト、会話コンテキストはすべて必須です。ノードでは、それぞれが設定されるまで検証エラーが報告されます。
エージェントがエスカレーションをトリガーした後、チャットは長時間ブロックされます。エージェントに直接アタッチされたエスカレーションは、人間がアクションを実行するまでターン全体を一時停止します。長期実行の承認の場合は、人間によるステップを、代わりに会話と一緒に実行される並列の 人間 ノードの分岐に移動します。
接続されたバッチ変換ツールから検証エラーが報告される。バッチ変換には、少なくとも 1 つの出力列が必要です。フローをデバッグする前にツールで追加する列を定義します。