EC2 インスタンス上で Computer Use Demo (Anthropic Quickstarts) を試す

記事タイトルとURLをコピーする

チャット型からエージェント型へ

生成 AI は文章の作成だけではなく外部のリソースにアクセスしたり、実際にアクションを実行する能力を獲得しつつあります。単なるチャットではなく、何かしらのアクションを起こす AI はエージェントと呼称されています。

AI がエージェントとしての機能を持つことができた 1 つの仕組みに Reasoning and Acting (ReAct) があります。これは、モデルが出力を生成する際に「推論(Reasoning)」パートと「行動(Action)」パートを交互に行うアプローチです。具体的には、モデルはまず「~すべきだろうか」と内部で考え、次に「では ○○ ツールを使おう」という行動を決めてアクションを出力します。

呼び出し側はそのアクションを実行し、結果をモデルに渡します。モデルは得られた結果を踏まえてまた次の思考を行う、というサイクルを、最終的に答えが得られるまで繰り返します。この一連の繰り返し処理が、エージェント型 AI の根幹的な仕組みになっています。

本記事で紹介する Computer Use という機能もエージェント型 AI の 1 つです。実際に EC2 インスタンスを立てて Anthropic Quickstarts の Computer Use Demo を試すまでの流れを記載します。

Computer Use Demo を使ってみる

事前準備

以降は、EC2 インスタンスを立てて Anthropic の Quickstarts (Computer Use) が実施するまでの手順を紹介します。すでに Docker がインストールされているサーバーを使用して実施する場合などは、余計な手順が含まれますので、適宜読み飛ばして実施ください。

EC2 インスタンスの起動

以下の設定値で EC2 インスタンスを起動します。

項目 設定値
名前 computer-use-demo-server
AMI Amazon Linnux 2023 AMI
インスタンスタイプ t3.medium
セキュリティグループを作成
SSG からのトラフィックを許可 ✅ ※ 自分の IP を選択
ストレージ 16 GiB

依存パッケージのインストール

$ sudo dnf update -y
$ sudo dnf install -y git docker unzip

Demo の実施

$ git clone https://github.com/anthropics/anthropic-quickstarts.git
$ cd anthropic-quickstarts/computer-use-demo

README の内容をそのまま実行した場合、Stremalit の UI に No such file or directory: 'aws' というエラー文が表示される可能性があります(2025.04.08 時点)。Dockerfile に AWS CLI をインストールするコマンドを追加し(apt-get clean の次の行)対応します。

# AWS CLI
RUN curl -sS "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o /tmp/aws.zip \
    && unzip -q /tmp/aws.zip -d /tmp \
    && /tmp/aws/install \
    && rm -rf /tmp/aws /tmp/aws.zip

クレデンシャル情報の設定

権限を持つユーザーを保有しない場合は、一時的に検証用のユーザーを作成してクレデンシャル情報を設定します。ここでは以下の設定で IAM ユーザーを作成します。

項目 設定値
ユーザー名 computer-use-demo-user
ポリシーを直接アタッチする
許可ポリシー AmazonBedrockFullAccess

「computer-use-demo-user」>「セキュリティ認証情報」>「アクセスキーを作成」を押下し、アクセスキーを作成します。アクセスキーとシークレットアクセスキーを控えて下さい。

~/.aws/credentials に以下の内容を記述します。

[computer-use-demo-user]
aws_access_key_id = <aws_access_key_id>
aws_secret_access_key = <aws_secret_access_key>

プレースホルダーは控えたキーにそれぞれ置き換えてください。

Demo アプリケーションを起動する

以下はサーバー内で Docker を初めて扱う場合の手順で、Docker の起動と、ログインユーザーに Docker の操作権限付与を実施しています。

$ sudo systemctl start docker
$ sudo usermod -aG docker $USER
$ newgrp docker

Docker イメージを computer-use-demo と命名してビルドします。

$ docker build --no-cache -t computer-use-demo .
$ docker image ls
REPOSITORY          TAG       IMAGE ID       CREATED          SIZE
computer-use-demo   latest    8729bac863bd   16 minutes ago   3.09GB

使用する AWS のプロファイルを指定してコンテナを起動します。

export AWS_PROFILE=computer-use-demo-user
docker run \
    -e API_PROVIDER=bedrock \
    -e AWS_PROFILE=$AWS_PROFILE \
    -e AWS_REGION=us-east-1 \
    -v $HOME/.aws:/home/computeruse/.aws \
    -v $HOME/.anthropic:/home/computeruse/.anthropic \
    -p 5900:5900 \
    -p 8501:8501 \
    -p 6080:6080 \
    -p 8080:8080 \
    -it ghcr.io/anthropics/anthropic-quickstarts:computer-use-demo-latest

VS Code で RemoteSSH プラグインにより接続している例になりますが、以下の図のように PORTS タブからポートフォワーディングの設定を追加します。 8080 は自動的に設定されると思われますが、それ以外の 5900, 6080, 8501 のフォワーディングを追加します。

実際に指示を出してみる

http://localhost:8501/http://localhost:6080/ にアクセスすると、それぞれチャットインターフェースとブラウザのエミュレータが表示されます(http://localhost:8080/ にアクセスするとこれらが統一された UI が表示される)。

Claude 3.5 Sonnet v2 は Inference Profile 経由で呼び出す必要があり、Model のフィールドを以下に書き換えて Enter を押下します。

us.anthropic.claude-3-5-sonnet-20241022-v2:0

チャット UI において以下の指示を出してみます。

Find out the current Nikkei Stock Average.

思考過程

Firefox を開く処理が進行

ブラウザ検索バーにカーソルを移動する処理が進行

検索欄に日経平均株価(nikkei 255 index)と入力する処理が進行

日経平均株価情報が表示される

まとめ

Claude の「Computer Use」機能は、AI にインターネットやアプリ操作といった現実のコンピュータ操作を代行させる強力な仕組みです。Amazon Bedrock を通じてこの機能を利用すれば、AWS 上で比較的簡単に試すことができます。

この記事では概要のみを追いましたが、実際に体験することで AI エージェントの可能性の広がりを感じることができました。

ベータ版ゆえの制限(安全な環境で実行すること、機密データを扱わせないことなど)はありますが、それらを踏まえてどのようにすれば安全に活用していけるかを考えていきたいと思いました。

2021年4月新卒入社。目に見えて、動かせるものが好き。