ブラウザワークフローの堅牢性を高めるSkyvern:導入とPythonサンプルコード


ブラウザワークフローの堅牢性を高めるSkyvern:導入とPythonサンプルコード

Skyvern-AI/skyvern

2025-10-20

ソフトウェアエンジニアの視点から、このツールがどのように役立つのか、導入方法、サンプルコードのイメージを分かりやすくご説明しますね!

従来のブラウザ自動化ツール(SeleniumやPlaywrightなど)は、ウェブサイトのDOM構造(XPathやCSSセレクタ)に依存するため、サイトのレイアウトが少し変わるだけでスクリプトが壊れてしまうという課題がありました。Skyvernは、この問題をAIの力で解決します。

UI変更に強い
Skyvernは、従来のセレクタではなく、コンピュータービジョンで画面を視覚的に理解し、LLMで次に取るべき行動を推論します。これにより、ウェブサイトのデザインやレイアウトが変更されても、スクリプトを書き直す必要性が大幅に減ります。これは、メンテナンスコストの削減に直結します。

ゼロショット対応
事前にトレーニングされていない、全く新しいウェブサイトでも、人間が操作するようにタスクを完了させることができます。

自然言語による指示
複雑な手順を自然言語(英語など)のプロンプトとして与えるだけで、ログイン、フォーム入力、ファイルダウンロードなどの一連の操作を自動で実行させることができます。

複雑な状況への対応
2要素認証(2FA)やCAPTCHAなど、従来の自動化が苦手としていた複雑な認証プロセスにも対応できる可能性があります。

API駆動
SkyvernはシンプルなAPIエンドポイントを提供しているため、自社の内部ツールやアプリケーションから簡単に呼び出すことができ、多数のタスクを同時に実行するなど、高いスケーラビリティを持った自動化システムを構築できます。

Skyvernはオープンソースで、Dockerを使ったセルフホスト(自前での運用)が可能です。Pythonでの利用が主になります。

前提条件の準備

Dockerがインストールされていること。

Python環境が整っていること。

LLMサービス(例
OpenAI, Anthropic)のAPIキーを用意すること(Skyvernの頭脳として使われます)。

Skyvernのセットアップ

GitHubリポジトリをクローンし、Dockerを使ってSkyvernのバックエンドサービスを起動します。

Pythonクライアントのインストール

Pythonのパッケージマネージャー(pip)を使ってSkyvernのクライアントライブラリをインストールします(具体的なパッケージ名は公式ドキュメントで確認してください)。

# クライアントライブラリのインストールイメージ
pip install skyvern-client

ここでは、特定のウェブサイトのログインとデータ抽出を自動化するサンプルを想定します。

import os
from skyvern_client import SkyvernClient, TaskInput

# 環境変数からAPIキーを取得
LLM_API_KEY = os.environ.get("OPENAI_API_KEY") # 実際のLLMプロバイダーに応じて変更

# Skyvernクライアントの初期化 (セルフホストの場合のエンドポイントを設定)
skyvern = SkyvernClient(
    skyvern_url="http://localhost:8000",
    api_key="YOUR_SKYVERN_API_KEY" # Skyvern自体の認証キー
)

# 実行したいタスクの定義
task_description = (
    "URLにアクセスし、ユーザー名 'user123' とパスワード 'password456' でログインしてください。 "
    "その後、ページ上部にある『最新の注文番号』を抽出してください。"
)

task_input = TaskInput(
    url="https://example.com/portal/login",
    # ユーザーが実行してほしい具体的なタスク内容を自然言語で記述
    description=task_description,
    # 抽出してほしいデータの形式(JSONスキーマなどで指定)
    output_schema={
        "type": "object",
        "properties": {
            "latest_order_id": {"type": "string", "description": "最新の注文番号"}
        },
        "required": ["latest_order_id"]
    }
)

print("タスクを開始します...")

try:
    # タスクの実行
    result = skyvern.run_task(task_input=task_input)

    print("\n タスクが完了しました!")
    print(f"最終ステータス: {result.status}")
    print(f"実行ログ(サマリー): {result.summary}")

    # 抽出されたデータの表示
    extracted_data = result.extracted_data
    if extracted_data and 'latest_order_id' in extracted_data:
        print(f"\n 抽出された注文番号: {extracted_data['latest_order_id']}")
    else:
        print("\n抽出データが見つかりませんでした。")

except Exception as e:
    print(f"\n エラーが発生しました: {e}")

# 実際のコードは公式ドキュメントを参照してください。

Skyvernは、「壊れないRPA(ロボティック・プロセス・オートメーション)」を実現する、エンジニアにとって非常に魅力的なツールと言えるでしょう。


Skyvern-AI/skyvern




現場直結!Difyで始めるプロダクションレディなエージェントワークフロー入門

(現場は薄暗い取り調べ室。刑事役の私と、容疑者役のDifyが向かい合っています)私(刑事) さて、Difyくん。キミは一体何者なんだ?「Production-ready platform for agentic workflow development」… ソフトウェアエンジニアにとって、どういう意味があるのか、正直に話してもらおうか!


電波の届かない場所でも安心!魔法少女のための音楽ダウンロード術

今回のミッションは、そんな寂しい気持ちを吹き飛ばす、素敵な魔法アイテムのお話よ!みんな、お気に入りのアニメやゲームの主題歌ってあるでしょう?CDショップに探しに行っても、なかなか見つからなかったり、全部揃えるのが大変だったりするわよね。そんなとき、私たちの秘密兵器「Spotify-downloader」の出番よ!これは、魔法の呪文を唱えるだけで、Spotifyにある音楽を、YouTubeから探してきて、宝石みたいに輝くMP3ファイルとして手に入れられる、とっても便利な魔法の道具なの。


デジタル製品・SaaS開発を加速するオープンソース決済エンジン「Polar」

Polar は、デジタル製品やSaaSを販売するためのオープンソースのエンジンだよ。簡単に言うと、開発者が決済機能やサブスクリプションの管理、ユーザー管理などをイチから作る手間を省き、本業である製品開発に集中できるようにサポートしてくれるツールなの。


ソフトウェアエンジニア必見!PyTorch導入ガイドとGPU活用で実現する高速ディープラーニング

PyTorchは、FacebookのAI研究グループによって開発された、Pythonベースのオープンソース機械学習ライブラリです。特に深層学習(ディープラーニング)の研究や開発で非常に人気があります。ユーザーさんが指定してくださった説明にあるように、その核となる要素は以下の2点です。


【ソフトウェアエンジニア向け】ルパン三世に学ぶ、最強の自動取引ボット「Freqtrade」入門

「今から、とっておきの話をしようぜ。」「ヤツらの名は Freqtrade。」「ヤツらは、フリーでオープンソースの、暗号通貨取引を自動化する最強の味方だ。まるで、手練れの金庫破りみたいに、24時間365日、眠らずに取引してくれるんだぜ。お前も、もう夜中に価格を気にする必要はない。」


Kestra: ソフトウェア開発を効率化するワークフロー自動化ツール

ソフトウェアエンジニアの皆さん、こんにちは!Kestra について、まるで酒の飲み比べをするように、その特徴と魅力を分かりやすく解説します。今回は、特に Kestra を「仕事の効率を上げる最高の一杯」と見立てて、その味わいを深く探っていきましょう。


『LLMs-from-scratch』徹底解説:プログラマーのためのAI自作ガイド

勇者よ、お前が探求しているのは、この世界に古くから伝わる「賢者の石」ならぬ、「賢者の知恵」を創り出す秘術だ。それは、まるでハイラル王国の歴史書のように、あらゆる知識を理解し、お前に語りかけるだろう。今日、お前と共に旅するのは、その賢者の知恵を「ゼロ」から生み出すための魔法書、『rasbt/LLMs-from-scratch』だ。


【体験談】roboflow/supervisionが私のCVプロジェクトを変えた話

こんにちは!今回は、コンピュータービジョンのプロジェクトに取り組むソフトウェアエンジニアの皆さんにとって、まさに「痒い所に手が届く」ツールであるroboflow/supervisionについて、その魅力と使い方をたっぷりご紹介します。まるで、これまでバラバラだったパーツをピタッとつなぎ合わせてくれる接着剤のような存在で、開発効率がぐんとアップすること間違いなしですよ!


隊長と兵士の作戦会議:ccxtで挑む自動取引の世界

いいか、我々プログラマーは、暗号資産の取引所(例えば、Binance、Coinbaseなど)とプログラムでやりとりする必要がある。普通なら、それぞれの取引所のAPI仕様を調べて、その都度コードを書かなきゃいけない。これが、超面倒くさい。そこにccxtの出番だ!ccxtは、100以上の取引所のAPIを統一されたインターフェースで扱えるようにしてくれるライブラリだ。