- はじめに
- 基本情報
- BPMN を使用したプロセス モデリング
- ケース管理を使用したプロセス モデリング
- フローを使用したプロセス モデリング
- AI エージェントをオーケストレーションする
- 外部 API を呼び出す
- 受信メールの処理
- Slack 通知ワークフローを構築する
- ワークフローに人間による承認を追加する
- エラーを処理する
- プロセスの実装
- プロセスの操作
- プロセスの監視
- プロセスの最適化
- 参考情報
キャンバス上に自律型エージェントを構築してデータを渡し、エージェントの決定に基づいてワークフローの実行をルーティングします。
構築する内容: キャンバス上で作成した AI エージェントを呼び出してデータを渡し、エージェントの応答 (承認、却下、失敗) に基づいて実行をルーティングするフロー。これがあらゆるエージェンティック オートメーションの基盤であり、より大規模な自動化プロセスに埋め込まれた、推論に基づいた意思決定です。
ここで構築するエージェントは 自律型エージェントであり、そのモデル、プロンプト、ツール、コンテキストはすべてノード上に存在し、フローとともに移動します。1 つのエージェントをインラインで作成するのではなく、組織で既にパブリッシュされているエージェントを再利用するには、代わりに BPMN プロセス ノードを使用します。
必要なもの
- Maestro Flow へのアクセス権を持つ UiPath Automation Cloud アカウント。
- エージェントで利用可能な LLM モデル。
使用されるノード
- 手動トリガー: 構築中にフローをオンデマンドで開始します
- エージェント: キャンバス上で作成した AI エージェントです。その出力を返します
- 判断: エージェントの応答に基づいて実行を分岐させます
- Terminate: 失敗パス上のフローを終了します
手順
1. 新しいフローを作成してトリガーを追加する
- Open Maestro → Flow and select New Flow.
- [ 手動トリガー ] ノードをキャンバスにドラッグします。
運用フローの場合は、これをスケジュールされたトリガーまたは連携トリガーに置き換えます。構築中は手動トリガーで十分です。
2. エージェント ノードを追加する
エージェントのパレット ラベルは [自律型エージェント] です。
- ノード パネルの [ UiPath ノード ] セクションからエージェント ノードをキャンバスにドラッグします。
- 手動トリガーに接続します。
- [プロパティ] パネルで、エージェントを作成します。
- モデルを設定するか、組織の既定のエージェント モデルのままにします。
- システム プロンプト、エージェントの役割、および継続的な指示を入力します。モデル、システム プロンプト、ユーザー プロンプトはすべて必須です。
- この実行のタスクである ユーザー プロンプトを入力します。式でフロー データを参照する。たとえば、分類するドキュメント テキストは
$vars.start.output.documentTextです。
3. 構造化された結果を返す
既定では、エージェントは応答テキストを保持する contentという 1 つのフィールドを返します。分岐を明確にするには、代わりにエージェントに構造化フィールドを返します。
- エージェントの [プロパティ] パネルで [ 変数 ] タブを開きます。
- 出力変数を
decisionという名前string型で追加します。 - システム プロンプトで、
decisionをapprovedまたはrejectedに設定するようエージェントに指示します。
4. エージェントの応答を処理する
- [ 判断 ] ノードをキャンバスにドラッグし、[エージェント] ノードに接続します。
- エージェントの出力を評価する条件を設定します (例:
$vars.agent1.output.decision === "approved")。 - True の分岐をオートメーションの次のステップ (通知やデータの書き込みなど) に接続します。
- False ブランチを Terminate ノードに接続します。
- [強制終了] ステータスを [
Failed] に設定し、「Agent returned: $vars.agent1.output.decision」などのメッセージを追加します。
5. フローをデバッグする
ツールバーで [ デバッグ ] を選択します。実行トレースで、以下の手順を実行します。
- [ エージェント ] ノードを選択して、どの入力が送信され、エージェントが何を返したかを調べます。
- エージェントの出力を考慮して、 判断 ノードが正しい分岐をとったことを確認します。
- エージェントの応答が期待どおりではない場合は、 システム プロンプト、 ユーザー プロンプト、宣言された出力を確認してから、関係のないフロー ロジックを変更します。
実際のエージェントの応答を待たずに両方の分岐を実行するには、エージェント ノードで [モック出力 ] を有効化し、固定応答を設定します。
結果
フローはエンドツーエンドで実行されます。手動トリガーが実行を開始し、エージェント ノードが入力を推論して構造化された decision フィールドを返します。判断ノードはその値で分岐し、強制終了ノードは拒否されたパスでフローを終了します。実行トレースでエージェントの入力と出力を調べ、ノードで直接プロンプトを調整できます。
このフローを拡張する
- エージェントにツールを指定する: ツール リソース (組み込みツール、コネクタ ツール、RPA または API ワークフロー ツール、ドキュメント抽出、モデル コンテキスト プロトコル (MCP) サーバー) をエージェントの ツール ハンドルに接続し、エージェントが推論だけでなく動作を行えるようにします。
- エージェントをデータにグラウンディングする: コンテキスト リソースをエージェントの コンテキスト ハンドルに接続し、モデルだけでなく、インデックス付きのナレッジ ソースから回答できるようにします。
- 人間を参加させる: エージェントが単独で決定すべきではないケースのために、エージェントの エスカレーション ハンドルを エスカレーション リソースに接続します。
- ループを追加する: エージェント呼び出しを ループ ノードにラップして、同じエージェントで項目のリストを処理します。
- 別のシステムにチェーンする: 意思決定ノードの True 分岐の後に、 HTTP 要求 ノードまたは統合ノードを追加して、結果を外部システムに書き込みます。