ブラウザワークフローの堅牢性を高める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」… ソフトウェアエンジニアにとって、どういう意味があるのか、正直に話してもらおうか!


脱・プログラミング迷子!Python入門者が学ぶべき30のステップ

「煽り運転に注意」って、まるでコントの導入みたいですね(笑)。でも、焦ってプログラムを学ぶと、まるで後ろから煽られているような気分になるかもしれません。この「30 Days Of Python」は、そんなプレッシャーを感じることなく、自分のペースでじっくりとPythonをマスターするための頼もしい相棒です。


【ソフトウェアエンジニア向け】FastAPIとReactを即座に動かす魔法のテンプレート

先輩おい、新人!新しいプロジェクト、明日から始めろってさ。新人え、明日からですか!?先輩そう。フロントエンドはReact、バックエンドはFastAPI、データベースはPostgreSQLだって。Dockerコンテナで動かして、GitHub Actionsで自動デプロイも組んどけ。しかも本番環境はSSL証明書がいるからLet's Encryptで自動化しろってさ。


エンジニアの魔法を全人類へ。視覚的エージェント構築プラットフォーム「refly」入門

いいかい?これはただのツールじゃない。エンジニアが「裏方」で仕掛けた魔法を、技術に詳しくないクリエイターたちがキャンバス上で自由に操れるようにする、まさに「秘密兵器」なんだ。さあ、シャガデリックな世界へ飛び込もう!一言で言えば、「AIエージェントのワークフローを視覚的に構築できる、Vibe(ノリ)の良いプラットフォーム」だ。


PythonでOpenAI APIを使いこなす:公式ライブラリ入門ガイド

ただ、ソフトウェアエンジニアの視点から、OpenAIの公式Pythonライブラリがどのように役立つか、導入方法やサンプルコードの例を、分かりやすく丁寧に解説します!OpenAIの公式Pythonライブラリ、openai-pythonは、OpenAIが提供する強力なAPIを、Pythonを使って簡単に操作するためのツールです。


ソフトウェアエンジニア必見!Parlantで始める自律型AIエージェント入門

想像してみてください。あなたは巨大な湖(=現実世界の複雑なタスク)で、一人でたくさんの魚(=タスクの実行)を釣ろうとしています。これまでは、魚を一匹一匹、網で捕まえていたかもしれません。しかし、もし、あなたが指示を出すだけで、自動で複数の網を使いこなし、最適な場所で、効率よく魚を釣り上げてくれる優秀な「釣り名人」がいたらどうでしょう?


ゲームをどこでも!ラーメン屋に学ぶ「Sunshine」の導入と活用法

想像してみてください。あなたは最高に美味しいラーメンを作る天才的な職人。あなたのラーメン(ゲーム)を求めて、遠くからお客様(Moonlight)がやってきます。お客様 (Moonlight) 「あぁ、あの店のラーメンが食べたい!でも遠いな


AIアプリケーション開発のためのレシピブック

今日は「Haystack」という、AIの世界で最近話題の新しいカクテルを紹介させてください。これ、ただのAIじゃなくて、色々なAIの材料を組み合わせて、お客様の好みにぴったりの一杯を作り出すためのツールなんです。ソフトウェアエンジニアの視点から言えば、Haystackは例えるなら「AIアプリケーション開発のためのシェイカーとレシピブック」です。