UiPathプロセスの依存関係を抽出してみよう（番外編：Autopilot for everyoneで遊んでみた）

## はじめに

UiPath 2024.10のリリースにより、生成AIを搭載した自動化アシスタント「Autopilot for Everyone」が新機能として登場しました！普段、アシスタントのダッシュボードでプロセスの再生ボタンを押して実行している方も多いと思いますが、現在では自然言語をアシスタントに入力してプロセスを実行し、その結果をアシスタント上で確認することが可能です。
本日は、この「Autopilot for Everyone」を使用して依存関係抽出ツールを実行し、結果をアシスタントで確認する方法をご紹介します。
なお、「Autopilot for Everyone」および依存関係抽出ツールに関する基本的な知識が必要となるため、事前に以下の記事をご一読いただくと、より理解が深まります。

https://qiita.com/MUCHIUCHI_OJISAN/items/cafa42cb368927b492a3

https://qiita.com/Ouyang/items/51deb38d07ef190d2083

https://qiita.com/Ouyang/items/37ea16d87a305cd88b11

https://qiita.com/Ouyang/private/e8c346dfeac1268ed8b6

## 依存関係抽出ツールの修正とパブリッシュ

「依存関係解析編」では、抽出結果をExcelファイルに書き込みましたが、今回はアシスタントで出力結果を確認したいため、Excelではなく、出力引数を作成して、依存関係の抽出結果を渡しましょう。

①依存関係抽出器.xamlの最後で`dtOutDependencies`の出力引数を作成し、依存関係の抽出結果である`dtDependencies`を渡します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3334103/6a05178b-24a2-bc80-88a0-e0af30b92661.png)

②Main.xamlに戻り、同様に`dtOutDependencies`の出力引数を作成して、依存関係抽出器.xamlの`dtOutDependencies`の値を引継ぎます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3334103/6360a8e3-7143-5947-7f31-ede2fd5c9c0a.png)

以上で依存関係抽出ツールの修正は完了しました。次に、このツールをOrchestratorにパブリッシュします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3334103/b9bfeb85-309a-fc86-ac68-558093a68424.png)

## プロセスの整備

今回はOrchestrator上で、Dependencyという新しいフォルダーを作成して、依存関係抽出ツールをデプロイします。デプロイ方法、つまりプロセスの作成方法に関する説明は割愛いたしますが、プロセス作成画面の3ページ目で、以下2つの項目を設定してください。

①プロセスの名前を`DependencyExtractor`にしてください。

②Labelsのところに`Autopilot`というラベルを追加してください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3334103/3e1b7a85-e2ca-02c3-064b-131a10b6e1ef.png)

そうすると、作成したプロセスに`Autopilot`のラベルが表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3334103/9f53fe95-30fa-132a-fe02-0d6f289328ca.png)

## Autopilot for everyoneの設定

①Admin（管理）画面に遷移し、AI Trust Layerを選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3334103/8e66da4d-46a1-f5c6-0422-429c107bcd19.png)

②アイウの順で選択します。イのテナントは依存関係抽出ツールがデプロイされたテナントです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3334103/43bdda3d-d487-fd20-4658-66a62830ef56.png)

③Automation propertiesで依存関係抽出ツールを選択してプロンプトの説明を追加します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3334103/6325dfb5-a329-6ebf-b72a-2e3de94a5c0d.png)

赤枠でそれぞれ依存関係抽出ツールのプロセスとそれを格納したフォルダーを選択します。

緑枠は、「どのような自然言語で、このプロセスに導いてくるのか」というプロンプトのイメージを入れます。今回は「Retrieve dependency in package」と説明を入力しました。このため、アシスタントに類似した自然言語を渡すと、AIが「依存関係抽出ツールを使用するのではないか」と判断し、ツールを自動で呼び出します。

## アシスタントで実行

①Autopilot for Everyoneの設定で、依存関係抽出ツールが正しく追加されたかどうかを確認しておきましょう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3334103/85f876c5-7e9e-95b9-56dd-e52c38ee4edf.png)

②それでは、遊んでみましょう！新しい会話を開いて「プロセスの依存関係が抽出したいです」を渡したら、AIは自動的にこの言語の意味を分析し、依存関係抽出ツールの利用に導いてくれます。そのため、プロセス名がわからなくても、自然言語で自分がやりたいことをAIに教えてあげればよいです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3334103/c1f2cac2-ab89-054c-415d-ffdb6a016a18.png)

③「Run」を押します。

依存関係抽出ツールの認証情報を渡して「確認」を押すと、実行が始まります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3334103/cc23a695-36a8-bbff-5603-a4f1ffc0bb57.png)

③実行結果は自然言語で返してくれます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3334103/36c9664b-89ad-5b08-6dc5-1d66babab576.png)

続けて質問しても、精度の高い回答が返ってきますね。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3334103/3ef0c77e-3c7d-e0f8-e56b-83340461a68b.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3334103/03e2076d-0215-f5d6-0bc9-2add06dc21df.png)

## 終わりに

以上、依存関係抽出ツールをAutopilot for Everyoneで遊んでみました。簡単な設定だけで自然言語で依存関係が抽出できるとは驚きました！今後さらに進化していくことを期待し、新機能にも注目していきたいと思います。