3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【AWS】Amazon Bedrockを使ってブラウザをプロンプトだけで操作してみた(bedrock_browser_agentの開発)

Last updated at Posted at 2025-01-12

この記事のポイント

  • Amazon BedrockのConverse APIを使ってChromeブラウザを開いたよ
  • どういう仕組みか解説しているよ

はじめに

この記事ではAmazon Bedrockを使ったブラウザ操作について書いています。

動作環境

  • chromedriver
  • anthropic.claude-3-haiku-20240307-v1:0
  • macOS 15.2
  • boto3 1.35.97

AIエージェントの流行りに乗って

巷ではAIエージェントて何かを自動化するのが流行っていると聞いたので今回はブラウザを操作してみることにしました。

実際にやったこと

Amazon BedrockのConverse APIでWebDriverのエンドポイントにリクエストを送り、お手元のChromeブラウザを起動するということをやってみました。

実演動画

検証の目的としては「プロンプトだけでE2Eテストできたらいいな」というのがありました。

既製品ですでにできることではありますが、やっぱ自分で作ってワクワクしたいってのもありますし、
既製品ではできないことを実現してみたいというモチベーションもありました。

実際のソースコード

今回はWebDriverを操作するモジュールとAmazon Bedrockの基盤モデルを操作するモジュールの2つを自作しました。

2つのモジュールを使ってブラウザをプロンプトだけで操作してみました。

import webdriver.tool as wd_tool
import bedrock.core.const as const
import bedrock.tool as bdr_tool

if __name__ == "__main__":
    print(wd_tool.help())
    print(bdr_tool.boto3_version())
    print(const.region_name["apne1"])

    agent = bdr_tool.agent_action()
    agent.set_query("https://www.google.com/ をGoogle Chromeのウィンドウで開く")
    res = agent.execute(const.claude_model_ids["claude-3-haiku"])

    print(res)
    if res:
        session_id = wd_tool.open_window(
            res[1].get("url"), res[1].get("browser"))
        print(session_id)

仕組みとしてはAmazon BedrockのConverse APIでTool UseしてWebDriverの機能を呼び出しています。

まとめ

今回はブラウザを起動するだけに留まりましたが、作り方次第でUIのクリックやファイル出力もできるのでもう少し拡張できたら良いなと思いました。

なお、WebDriverで作っていますが、Playwrightで作るのもいいなと思ったので後々考えていきたいと思います。

ちなみに

Google DeepMindさんがProject Marinerというプロジェクトをスタートさせており、簡単に説明するとブラウザを操作するAIエージェントを研究・開発するプロジェクトみたいです。もっと簡単に言うと、プロンプトひとつでAIがブラウザを操作できるようにするプロジェクトなので今回の記事でやっていることに近いのかなと思いました。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?