SkyvernはテキストでAIに指示することでブラウザを使用するワークフローを自動化してくれるツールです。コードで自動化する場合と異なり、多少ウェブサイトの構造が変わっても問題なく対応可能なのが特徴です。有料のサービスであるものの、記事作成時点ではアカウントを作成すると5ドル(約770円)分のクレジットが付与されるとのことだったので、実際に使い勝手を確かめてみました。

Skyvern - Automate Browser-Based Workflows with AI

https://www.skyvern.com/

GitHub - Skyvern-AI/skyvern: Automate browser-based workflows with LLMs and Computer Vision

https://github.com/Skyvern-AI/Skyvern

Skyvernはオープンソースであり、Dockerを使用してセルフホストすることも可能ですが、今回はSkyvernが展開するクラウドサービス版を使用します。Skyvernのページにアクセスし、「Get Started」をクリック。



アカウントを作成するため「Sign up」をクリックします。



今回はGoogleアカウントを使用します。「Continue with Google」をクリック。



ログインに使用するアカウントをクリックします。



「次へ」をクリック。



アカウント作成に成功しました。Skyvernで行いたいタスクを入力します。今回は「Googleファイナンスで『日経平均株価』を検索してください。最新の終値を取得すればタスクは完了です」と入力し、右の紙飛行機マークをクリックしました。



AIが自動でSkyvernのタスク形式に変換してくれます。URLや指示の内容が意図通りか確認し、「Run」をクリック。



タスクが作成されました。「View」をクリックします。



タスクが「running」状態となっており、AIの操作がリアルタイムで確認できます。



5分程度でタスクが完了しました。日経平均株価の終値の情報は「latest_closing_price」という名前で適切に抽出できています。タスク完了にかかったステップ数は2で、アクション数は4とのこと。Skyvernのクラウド版の料金は処理したページ1つにつき0.1ドル(約15円)で、今回は1ページしか処理しなかったので料金は0.1ドル(約15円)でした。



右下にSkyvernが行ったアクションが表示されており、クリックするとアクションを行った時点のスクリーンショットが確認できます。うまくタスクが動かなかった場合にどのアクションで失敗しているのかをすぐに特定できて便利そう。今回は「テキスト入力」「クリック」という2つのアクションになぜか「Fail」マークが付いていましたが、動作としては成功していました。



「Recording」タブではAIによる操作の一部始終を動画形式で確認できます。動画の時間によるとAIがタスク完了までにかかった時間は4分17秒だった模様。



「Parameters」では動作の際に設定したパラメーターを確認できます。タスクが失敗した場合、このパラメーターを編集して再度実行することも可能です。



「Diagnostics」タブにはSkyvernが内部で行った処理のデータが保存されています。「LLM Request(Raw)」をみると、Skyvernの後ろで動作しているのはOpenAIのGPT-4o miniモデルのようです。



Skyvern自体にAIが内蔵されているわけではないので、Skyvernをセルフホストする場合は何らかのAIを自分で用意する必要があります。ドキュメントによると、対応しているAIモデルは下記の通り。

OpenAI:「gpt4-turbo」「gpt-4o」「gpt-4o-mini」

Anthropic:「Claude 3 (Haiku・Sonnet・Opus)」「Claude 3.5 (Sonnet)」

Azure OpenAI:全てのGPTモデル

AWS Bedrock:「Claude 3 (Haiku・Sonnet・Opus)」「Claude 3.5 (Sonnet)」

また、「Ollama」「Gemini」「Llama 3.2」に近日対応予定となっています。

もう少し複雑なタスクを依頼してみます。今度は「Amazon.co.jpにログインして購入履歴を確認する。一番最近購入したデータを取得すればタスクは完了です」とプロンプトを入力し、紙飛行機マークのボタンをクリックしました。



再びAIがタスクの詳細を作成してくれます。「Show Advanced Settings」をクリック。



「login_credentials」という項目ができているので、ログインしたいアカウントのメールアドレスとパスワードに書き換えて「Run」をクリックします。



ログイン画面までは順調に進んだものの、2段階認証を通すことができず「failed」になってしまいました。失敗した場合、「Failure Reason」に「どこで失敗したのか」という理由が記載されます。なお、タスクに失敗した場合でも料金は発生し、今回は2段階認証をリトライするたびに新たなページが開いたため合計コストは1ドル(約154円)となってしまいました。



また、Skyvernではタスクのほかに「Workflows」を作成できます。「Create Workflow」をクリック。



「+」マークのボタンをクリックするとタスクを作成可能。



下図のように複数のタスクを連結することで、前のタスクで取得した値を使用して次のタスクを行うことができる模様。なお、Workflowはまだ実験中の機能とのことです。