【UiPath】ヒーリングエージェント（自己修復機能）の使いどころ

# はじめに

- 本記事は、ヒーリングエージェント（自己修復機能）の使いどころの考察です。
- 2025年3月25日時点で確認した挙動に基づくものであり、今後変わる可能性は十分にあります。
- 記事の内容は、個人の見解または確認結果であり、UiPath の公式見解ではありません。
- 製品仕様や参考画像は 25.0.161 バージョンのもので構成しています。

# ヒーリングエージェント（自己修復機能）の使いどころ

■Healing Agent の公式ガイド

https://uipath.clickup.com/docs/8454543/d/h/820cf-26711/060d7bd43f8d305

## 機能概要のおさらい（Google翻訳）

1. ***UIベースの自動化のためのインテリジェントな自己修復：*** アプリケーションインターフェースに変更があったり、UIの干渉によって自動化が妨げられたりするたびに、Healing Agentは問題を修復して、自動化を中断することなく続行できるようにします
1. ***実用的な推奨事項：*** Healing Agent（以降、HAと略す） は、アプリケーション インターフェイスをインテリジェントに分析し、トラブルシューティングやデバッグに費やす時間を最小限に抑えるための的を絞った提案を提供します。これにより、問題の迅速な解決が可能になり、自動化をできるだけ早く本番環境に戻すことができます。


## 【機能1】UIベースの自動化のためのインテリジェントな自己修復

ログを確認する限り、***自己修復はターゲット操作におけるエラー発生がトリガー***の様です。
以下に、***エラーが発生したタイミング毎の再現確認結果***を記載します。

|↓回復種別 ／ エラー発生タイミング→ |起動時 |同アプリ操作時 |画面遷移時 |
|---|---|---|---|
|ターゲット変更  |〇  |〇  |〇 |
|ポップアップ  |〇  |〇  |× |
|タイムアウト  |〇  |△  |× |

補足：
- 「×」は『UI要素がみつかりません』のエラーです。
- 「△」はローディング中でもターゲット操作ができてしまうケース

::: note
上記の結果より、***成功ターゲットはエラーが発生したアプリケーション上に存在する***必要があると考えます。
回復分析の処理中には代替ターゲットを繰り返し試験するログを確認できますが、ポップアップや読み込み遅延などで、そもそも表示されていないセレクタに対しては試験のしようがないということだと想像します。
:::

::: note warn
ローディング処理が走り、各フィールドをマニュアル編集できない場合にも、ロボットがターゲット操作可能であれば***エラーが発生しないため回復分析もおこなわれません。***

![処理中でもターゲットが触れる.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301444/ae19de43-69ea-44f8-9232-9c9ecb6bba1d.jpeg)
:::

たとえば、次の様に

![認証系画面の例.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301444/8053ff5e-67e8-430d-aebb-28a67350ac0e.jpeg)

同一画面（アプリケーション）上で処理中（ぐるぐる状態）となり

![認証系画面の例2.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301444/444b15c4-e2f2-46e2-a0d9-8728379dfeda.jpeg)

次の操作対象の出現が遅延するパターンでは回復処理でタイムアウトが採用されます。

![認証系画面の例3.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301444/d432ac50-4cce-4421-9a91-13970fceacf6.jpeg)

前処理が想定より長くかかり、次の操作対象の出現が遅れる＆別アプリのケースでは、タイムアウトの自己修復は発火せずUI要素がみつかりません、のエラーとなります。
（たとえば、次の様な本体アプリとは別にアプリケーション認識が必要なダイアログ系で出現に時間がかかった場合、タイムアウトの自己修復は発火しない可能性が高いです。）

![名前を付けて保存.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301444/209453a9-5850-4631-905a-61975257e107.jpeg)

起動時のお知らせ・操作中の予期しないポップアップなどは問題なく回避してくれますが、こちらも「OK」ボタン押下後に別画面に移るケースだと回復に失敗します。

![回復可能なポップアップ.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301444/4897d38e-234e-4bb5-936d-f5b33e20aee0.jpeg)

ターゲット（セレクタ）変更のケースは、id違い・name違いともに自己修復を確認できます。
nameのテキストについては意味合いを考慮して回復判断もしてくれます！

（先日のHAウェビナー資料より抜粋）
![セレクタ変更説明用.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301444/f660fae4-2b01-4eba-bf44-a6a6bb044c68.jpeg)

### 【機能1】使いどころ結論

ロボット内で以下に挙げるものを操作するケース

1. ***SaaS系のサービスサイト（CRM、経費精算とか）で定期的にお知らせ画面やアップデートのポップアップが出てくる***
1. ***更新頻度が高いサイト（CMS、社内ポータルとか）***

::: note warn
基幹アプリなどは、滅多にバージョンアップもしませんし、軽微なものでも挙動差は拾えた方が良いため、HAは有効化せず厳密セレクタの利用を推奨します。
:::

## 【機能2】実用的な推奨事項

![ジョブ詳細.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301444/44fdff85-eeed-4f5f-bd58-fa66b02ff9df.jpeg)

Orchestrator のジョブの詳細＞HAタブの「studio で開く」をクリックすると、Studio とともに Autopilot パネルが起動します↓

![HA_STパッチ適用4.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301444/f922ca65-371d-48c2-b50b-5afdf664c63e.jpeg)

::: note warn
「デバッグファイルをダウンロード」をクリックすると次の様なZipファイルが出力されます。
healing-agent-data-d9d6710a-9520-4fad-97bc-9e5f37c7e04c-2025-04-04-05-13-21-957-4357.zip
***Studio の Autopilot タブは 24.10バージョンでも表示されますが、デバッグファイルのインポートボタンは 25.2以上でないと表示されません。***
上の「studio で開く」をクリックのオペレーションでも、24.10バージョンではStudioが起動するのみです。
:::

デバッグファイルがインポートされると次の様な推奨事項を表示してくれます。

![HA_STパッチ適用2.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301444/a7ebfa9a-4dfd-4d1f-ad7d-a451fcdc931f.jpeg)

回復の種別によって、推奨事項の内容も若干変わります。

|回復種別  |推奨メッセージ  |修正パッチ  |
|---|---|---|
|ターゲット変更  |あり  |あり  |
|ポップアップ  |あり  |***なし***  |
|タイムアウト  |あり  |あり  |

::: note
回答種別に関わらず、推奨メッセージには ***『推奨ターゲット（セレクタ）』*** の情報が載ってきます！
:::

ターゲット変更かタイムアウトの場合、適用ボタン（上の図の「Apply」）を押下することでWFを修正できます。
ポップアップは出現する位置やタイミングがあるため、推奨メッセージのみでした。※適用ボタンは表示されません。

（参考：推奨メッセージ）
![推奨メッセージ参考.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301444/d1f7fc19-9a15-468c-910f-5935bca25333.jpeg)

::: note warn
HAが有効で、パッケージやST/RTのバージョンの条件を満たしていれば、***回復分析が成功する度にHAユニット（仮称）を消費する***ことになります。
一度回復処理がされたからといって、2回目以降は同回復ロジックが自動適用される訳ではありません。
このため、基本的には推奨事項に従ってパッチを適用する、または安定化のためのチューニングをおこなうことをお勧めします。
:::

### 【機能2】使いどころ結論

1. ***再現確認の難しいセレクタ情報の取得***（本番環境でしか再現しない、たまにしか発生しないセレクタの調査におさらば）
1. ***バージョンアップ時のWF改修の効率化***（バージョンアップに伴うセレクタ変更は修正パッチをあてるだけ！）

# さいごに
いかがでしたでしょうか。
***ヒーリングエージェントは回復分析が成功したケースでHAユニット（仮称）を消費するので、すべてのジョブで常時有効にすべき機能とは考えません。***
本記事がHAを有効にすべきケースやタイミングの参考になれば幸いです。
最後までお読みいただきありがとうございます(・ω・)ノ

# 関連記事
https://qiita.com/Kajiita/items/63e1560d920b29da0ceb