- はじめに
- 基本情報
- プロセス モデリング
- プロセスの実装
- プロセスの操作
- プロセスの監視
- 参考情報
Maestro ユーザー ガイド
Maestro でのエージェントの動作のしくみ
エージェントは、Maestro BPMN ワークフローでサービス タスクとして表されます。プロセスがサービス タスクを呼び出すと、Maestro は、特定のプロセス インスタンスに必要な入力パラメーターを使用して、対応するエージェントを呼び出します。
エージェントは出力データを Maestro に返し、このデータを使用してワークフローの次のステップが決定されます。使用されたツール、行われた判断、およびトレース データを報告するようにエージェントを設定することで、デバッグと透過性をサポートできます。
エージェントは以下のことが可能です。
- UiPath Platform 内で直接構築 (ローコードまたはコード化)
- 外部 API または Integration Service 経由で接続
- ワークフロー ロジックに基づき、イベントまたはシグナルによってトリガー
実例を見る: UiPath Maestro: シームレスで透明性の高いローン オートメーションを司るブレーン。
Integration Service 経由でエージェントを接続する
UiPath Integration Service には、外部システムをオートメーションに連携させる次のような既製のカスタム コネクタが用意されています。
- Salesforce、Microsoft 365、Google Workspace などのサービス用の事前構築済みコネクタ
- 任意の REST API を UiPath Platform に公開するためのカスタム コネクタ ビルダー
- 資格情報とコネクションの統合管理
Integration Service を使用すると、Maestro は、UiPath でネイティブにホストされていないエージェントやシステムとの間でデータの送受信ができるようになります。Integration Service について詳しくは、こちらをご覧ください。
外部エージェントを使用する
Maestro は特定のベンダーに依存しません。UiPath Integration Service のコネクタを使用することにより、プロセスを再構築することなく、好みの外部 AI エージェント間で作業をオーケストレーションできます。
以下のオーケストレーションが可能です。
- 独自の AI サービス
- 外部の意思決定エンジン
- 他のプラットフォームでホストされているマイクロサービスまたはボット
Maestro は REST エンドポイントを呼び出してこれらのエージェントを起動し、構造化データを含むレスポンス ペイロードを期待します。
Integration Service 経由で外部エージェントを接続する
設計時に、サービス タスクを追加して [外部エージェントを開始して待機] を選択し、選択したコネクタからエージェント アクティビティを設定します。実行時に、Maestro はプロンプトとコンテキストをエージェントに送信し、応答を待ちます。ユーザーはその応答を変数にマッピングし、ゲートウェイ、割り当て、および後続のアクションを動作させます。
外部エージェントを接続して Maestro プロセスから実行し、その出力をキャプチャしてルーティングと意思決定を行う方法については、以下のリンクをご覧ください。
- Snowflake Cortex エージェント
- Databricks エージェント
- Azure AI Foundry エージェント
- CrewAI Agent を起動 (プレビュー)
- Google Vertex エージェントを実行
クイック スタート: API ワークフローとの連携
Integration Service のコネクタが存在する場合は、そのコネクタを優先します。API レベルの接続 (初期の API、進化するスキーマ、応答のストリーミング) が必要な場合は、API ワークフローを使用します。要求と出力を宣言的に定義し、カスタム コードを使用せずに JSON を解析して、結果を Maestro プロセスに渡します。
コネクタと API ワークフローの使い分け
- コネクタ: システムがサポートされていて、スキーマが安定しており、認証が管理されている場合に使用します。長期的に最良の選択肢です。
- API ワークフロー: API が新しいかサポートされていないか、応答の形態が変化するか、出力がストリーミングのみである場合に使用します。
ステップ バイ ステップのガイド
- Snowflake Cortex - API ワークフロー: Cortex エージェントのストリーミング出力を処理し、出力を収集して使用可能な応答にし、下流のオートメーション用の構造化された JSON を返します。
- Databricks Genie - API ワークフロー: 会話を開始して、COMPLETED までメッセージのステータスをポーリングし、生成された SQL (attachment_id) を抽出して実行し、回答を返します。
エージェントのプロパティ設定
Maestro では、エージェントはビジネス プロセスの参加者として扱われます。BPMN ワークフロー内では、エージェントはサービス タスクを使用して表され、UiPath がホストするエージェントと外部エージェントの両方を呼び出すことができます。各エージェント タスクは、特定の入力パラメーターと出力パラメーターを使用して設定できます。これにより、Maestro はコンテキスト対応のデータをエージェントに渡し、構造化された結果を受け取ることができます。
Maestro のサービス タスクの概要については「BPMN モデリングのタスク」をご覧ください。
エージェント実行モード
エージェントの動作は、サービス タスクの [プロパティ] パネルで定義されます。ビジネス ニーズに応じて、UiPath エージェントまたは外部エージェントを呼び出すようにタスクを設定できます。
エージェントを開始して待機
このオプションは、UiPath テナントにデプロイされたエージェントを呼び出す場合に使用します。以下が含まれます。
- Agent Builder などのツールを使用して作成されたローコード エージェント。
- Python またはその他の言語で開発され、Orchestrator にデプロイされたコード化されたエージェント。
実行時に、Maestro は入力パラメーターを JSON 形式でエージェントに送信します。エージェントが実行を完了すると、プロセスが期待する出力値を含む応答が返されます。
外部エージェントを開始して待機
このオプションは、サードパーティ システムや外部システムに接続する場合に使用します。以下を指定する必要があります。
-
コネクタ: 連携ターゲット (例: CrewAI、Salesforce、他のサービス)
-
コネクション: コネクタの構成済みインスタンスです。特定のエージェント、またはコンテキスト固有の資格情報セットを表します。
注:複数のコネクションを定義することで、同じエージェントを異なる権限や動作で使用することができます。
入力と出力
エージェントの入力と出力は、他の種類の Maestro タスクと同じ方法で設定されます。
- 入力: 実行時にエージェントに渡される変数または式。
- 出力: エージェントの JSON 応答から入力された変数。
Maestro は、入力パラメーターを次の形式の JSON ペイロードとして送信します。
{
"key1": "value1",
"key2": "value2"
}
{
"key1": "value1",
"key2": "value2"
}
エージェントは、Maestro で期待されるパラメーター名と同じパラメーター名を使用して JSON 応答を返す必要があります。これらの値は、タスクの [プロパティ] パネルの [出力] > [応答] セクションを使用してプロセス変数にマッピングされます。
入力および出力の例
入力例 (Maestro からエージェントへ)
| パラメーター | 説明 |
|---|---|
role | タスクのロールまたはコンテキスト (例: 検証と要約) |
prompt | エージェントに提供される指示 (多くの場合、プロセス固有のデータを含む) |
tools | エージェントがタスクを完了するために使用できるツールのリスト |
user_id | プロセスとエージェント コンテキスト間で共有される一意の識別子 |
プロンプトの例: "Complete loan validation for {loan_application_number}. Respond in JSON format using the parameter 'loan_application_status'."
出力例 (エージェントから Maestro へ)
| パラメーター | 説明 |
|---|---|
conversation_id | 会話または対話セッションへの参照 |
loan_application_status | エージェントによって返されるステータスの結果 |
tokens_used | リソース使用状況に関するメタデータ |
ワークフローでエージェントの出力を使用するには、タスクの [出力] > [応答] 設定で、各出力パラメーターをプロセス変数に割り当てる必要があります。