【UFO】Windowsユーザーの要求に応じてアプリ操作できるAIエージェント
Windows OSを自然言語で操作できたらいいな、と誰もが思ったことがあると思います。
そこで、Windows OSを自然言語で操作できるMicrosoftのUFOを紹介します。
正式名称は「Windows OS 上でユーザーの要求を満たす UI 重視のデュアルエージェントフレームワーク」で、Windows 上のアプリを AI で自動操作して特定のタスクを実行するフレームワークです。
具体的には、ChatGPT のような自然言語コマンドを使用して Windows アプリを自動操作できます。
「Edge で閲覧中の Web ページを要約してください。そして、要約した内容を 〇〇@〇〇(メールアドレス) に送信してください。」というリクエストで、UFO に Web ページを要約させて結果をメールで送信してもらえます。
ぜひ最後までご覧いただき、お手元のPCにUFOを導入してみてください!
UFOの概要
「UFO」はWindows UI-Focused Agentの略称で、GPT-Visionの機能を活用して、Windows OS上でユーザーの要求に対してアプリケーションを操作できるAIエージェントです。
UFOは2エージェントフレームワークを採用しており、アプリケーションを選択するエージェント(AppAgent)とアクションを実行するエージェント(ActAgent)で構成されています。
AppAgentは、ユーザーの要求に対して適切なアプリケーションを選択し、要求が複数のアプリケーションにまたがる場合はアプリケーションを切り替える役割を担います。
一方、ActAgentは、特定のアプリケーション内でタスクが正常に完了するまで、選択されたアプリケーション内でアクションを繰り返し実行する役割を担います。
両エージェントは、GPT-Visionのマルチモーダル機能を活用して、アプリケーションのUIを理解し、ユーザーの要求を満たします。
AppAgentは、現在アクティブなアプリケーションから要求を満たすのに適切なアプリケーションを選択し、全体的な計画を立ててActAgentに渡します。
ActAgentは、選択されたコントロールに対して特定のアクションを実行し、この反復プロセスは、選択されたアプリケーション内でユーザーの要求が正常に完了するまで継続されます。
ユーザー リクエストが複数のアプリケーションにまたがる場合、ActAgent はタスクを AppAgent に委任し、別のアプリケーションに切り替えてリクエストの 2 番目のフェーズを開始します。
このプロセスは、ユーザー リクエストが完全に完了するまで継続されます。すべてのユーザー リクエストが正常に完了すると、UFO は操作を終了します。
その結果、UFO は面倒で時間のかかるプロセスを、自然言語コマンドのみで実行できる単純なタスクに変えることができます。
簡単に言えば、UFO は Windows 上で複雑なユーザー リクエストを自動的に実行できる AI エージェントです。
UFOのライセンス
CODE V、LightTools、LucidDriveの2023.03リリースから、ソフトウェアをインストールする時に、2つのライセンス方法のうち1つを選択するように求められます。選択肢は以下の通りです。
- Legacy Licensing (従来のライセンスオプション)
- Synopsys Common Licensing(SCL:シノプシス・コモン・ライセンス)
光学ソフトウェア製品をインストールする際に、適切なライセンス方法を選択していただくことが必要となります。
適切なライセンス方法を選択するためにさらなる支援が必要な場合は、製品サポートにご連絡ください。
2つのライセンス方式は、固有のHost ID番号を使用し、互換性はありません。
UFOの使い方
使い方は次のような流れになります。
ufo\config\config.yaml の OPENAI_API_BASE と OPENAI_API_KEY を修正します。
OPENAI_API_BASE は https://api.openai.com/v1/chat/completions です。
OPENAI_API_KEY は OPENAI から取得した API キーです。
config.yaml を修正したら、以下を実行します。test1 は任意の文字列で構いません。
python -m ufo --task test1
コピーすると、UFO 実行画面が出力されます。
今回は、Web ページを表示して要約してもらいます。
要約する Web ページは以下です。人気の動画生成 AI である Sora のページです。
このページを開いたまま、以下を入力して実行します。
Web ページの要約を要求します。
実行結果は、実行プロセスとともに最後に出力されます。
要約されたテキストは次のとおりです。
完了したら、N を入力して Enter キーを押します。最後に、コストが表示されます。この場合は、$0.21 でした。
別のことを試してみます。
「Excel ファイルを開く」と入力しました。
Excel ファイルを開いていなかったためか、Excel がインストールされているかどうかを確認するように求められました。
GPT4V を使用していたため、操作対象がデスクトップ上の何かであるのではないかと考えました。
全体的な印象としては、gpt-4-vision-preview を使用しているため、API コストが高いです。
使用する際は、お金に注意してください。
APIコストを払いたくないのであまりいろいろ試していませんが、Webページの要約以外に何ができるのか試してみたいと思います。
おそらくWindows OSだけでなく、Windows Serverなどでも使えると思うので、APIコストを気にしなければ活用の幅が広がるかもしれません。
UFOを実際に使ってみた
使い方は簡単で、GitHub の Readme.md に書かれている通りにリポジトリをクローンし、 requirements.txt に記載されているモジュールを Pip でインストールするだけです。
Windows 上でアプリを動作させるので、当然インストール先は「Windows」である必要があり、WSL2 上で実行することはできません。
事前に Python 3.10 以降 (Anaconda 推奨) と Git for Windows をインストールしておく必要があります。
言語モデルは OpenAI と Aure OpenAI の両方に対応していますが、今回は OpenAI の「gpt-4-vision-preview」を使用しました。
クローン先の「ufoconfigconfig.yaml」に API キー、エンドポイント、モデルを記述します。
OpenAI API の情報を入力するだけで、すぐに使い始めることができます。
準備ができたら、以下のコマンドで実行できます。
ログやスクリーンショットはタスク名に指定したフォルダ内の log フォルダに保存されるので、タスクごとに分けておくと良いでしょう。
python -m ufo --task <your_task_name>
ご覧のとおり、UFO は非常に興味深いものですが、現在はいくつかの制限があります。
まず、事前にアプリを起動する必要があります。
現在、UFO はアプリを自動的に起動できない場合があります。
ただし、スクリーンショットを分析して使用するアプリを決定するため、事前にアプリが起動していないとプランを作成できません。
使用するアプリが起動している必要があります。
UFOの推しポイントであるアプリ英語版は本当なのか?
アプリの英語版を使用する必要があります。スクリーンショットを使用して画面上のコントロールを認識し、内部コントロールも英語で指定されています。
たとえば、メールアドレスを入力したい場合、日本語版アプリでは「Destination」として認識されず、英語版アプリでは「To」として認識されます。
日本語版アプリを使用すると、入力してクリックするコントロールを間違えてしまいます。英語版アプリが必要です。
さらに、操作に時間がかかります。
スクリーンショットを撮って、OpenAI API経由で送信して解析してから操作するので、操作間の待ち時間がかなり長いです。
最後に、結構コストがかかります。
UFOは操作完了時にAPI経由でコストを計算してくれますが、Webページを要約してメールで送信するという簡単な作業でも「$1.09」かかりました。
まとめ
最後にコストが表示されています。簡単な例でも$1かかります。
これは、スクリーンショットの解析依頼や、要約依頼が頻繁にあるためです。
今回は2つのアプリを操作するという簡単な例を使いましたが、より複雑な作業になると当然コストは高くなります。
現時点では、Webページを要約してメールで送信するだけで150円かかるので、支払うハードルはかなり高い印象です。
映画やアニメのロボットにかかるコストをあまり気にしたことがなかったのですが、実際の価格を見ると「次の惑星への到着時間を気軽に聞かないほうがいいのでは?」と心配になってきました・・・
コストが低くなることで、導入ハードルが下がれば良いなと思います。
最後に
いかがだったでしょうか?
弊社では
・マーケティングやエンジニアリングなどの専門知識を学習させたAI社員の開発
・要件定義・業務フロー作成を80%自動化できる自律型AIエージェントの開発
・生成AIとRPAを組み合わせた業務自動化ツールの開発
・社内人事業務を99%自動化できるAIツールの開発
・ハルシネーション対策AIツールの開発
・自社専用のAIチャットボットの開発
などの開発実績がございます。
まずは、「無料相談」にてご相談を承っておりますので、ご興味がある方はぜひご連絡ください。
➡︎生成AIを使った業務効率化、生成AIツールの開発について相談をしてみる。
「生成AIを社内で活用したい」「生成AIの事業をやっていきたい」という方に向けて、生成AI社内セミナー・勉強会をさせていただいております。
セミナー内容や料金については、ご相談ください。
また、弊社紹介資料もご用意しておりますので、併せてご確認ください。