Anthropic Computer Use Demo JP: Claude 3.5 Sonnetのコンピューター使用機能を体験しよう

## はじめに

Anthropicが提供するClaude 3.5 Sonnetの革新的な機能の1つである「Computer Use」を簡単に試せるデモ環境が公開されました。本記事では、この日本語版デモ環境「Anthropic Computer Use Demo JP」の概要と設定方法についてご紹介します。

<blockquote class="twitter-tweet" data-media-max-width="800"><p lang="ja" dir="ltr">WindowsのDockerでAnthropic Computer Use Demo動かしてみた！<br>お題：Amazonで昼寝枕をカートに入れて！<br>結果：成功<br>＊Windows用のパワーシェルのスクリプトや実行コマンドはリポジトリと一緒に公開します <a href="https://t.co/4Syo9rWSlx">https://t.co/4Syo9rWSlx</a> <a href="https://t.co/rDpXzuapDY">pic.twitter.com/rDpXzuapDY</a></p>&mdash; Maki@Sunwood AI Labs. (@hAru_mAki_ch) <a href="https://twitter.com/hAru_mAki_ch/status/1849073250535604649?ref_src=twsrc%5Etfw">October 23, 2024</a></blockquote>


## Computer Use機能とは

Computer Use機能は、Claude 3.5 Sonnetが実際のコンピューター環境を操作できるようにする画期的な機能です。ただし、現在はベータ版であり、以下のような点に注意が必要です：

- 標準的なAPIやチャットインターフェースとは異なるリスクが存在
- 特にインターネットとの対話時にはリスクが増加
- セキュリティ対策が重要

## 主な特徴

デモ環境には以下の要素が含まれています：

1. 必要な依存関係を含むDockerコンテナ
2. Claude 3.5 Sonnetモデルへのアクセス方法（複数のAPI対応）
   - Anthropic API
   - AWS Bedrock
   - Google Cloud Vertex AI
3. Anthropic定義のComputer Useツール
4. 操作用Streamlitアプリケーション

## セットアップ方法 (Linux)

### 必要な環境

- Docker
- Python 3.12以下
- 各種APIキーまたは認証情報

### Anthropic APIを使用する場合

```bash
export ANTHROPIC_API_KEY=<your_api_key>
docker run \
    -e ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY \
    -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
```

### デモ環境へのアクセス

コンテナ起動後、以下のURLでアクセス可能です：

- 統合インターフェース: http://localhost:8080
- Streamlitインターフェース: http://localhost:8501
- デスクトップビュー: http://localhost:6080/vnc.html
- VNC直接接続: vnc://localhost:5900


## セットアップ方法 (Windows)

### 必要な環境

- Docker Desktop for Windows
- Python 3.12以下
- PowerShell
- 各種APIキーまたは認証情報

### Windows環境でのセットアップ

#### PowerShellでの環境構築

`setup.ps1`を使用して開発環境をセットアップできます：

```powershell
# PowerShellを管理者として実行
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
# setup.ps1を実行
.\setup.ps1
```

`setup.ps1`の内容：
```powershell
# Pythonバージョンの確認
$pythonVersion = & python --version 2>&1
$pythonMinorVersion = [int]($pythonVersion -split '\.')[1]

if ($pythonMinorVersion -gt 12) {
    Write-Host "Python 3.$pythonMinorVersion が検出されました。setup.ps1の実行にはPython 3.12以下が必要です。"
    Write-Host "複数のPythonバージョンがインストールされている場合は、setup.ps1を編集して特定のバージョンを指定できます:"
    Write-Host "'python -m venv .venv' -> 'py -3.12 -m venv .venv'"
    exit 1
}

# Cargoの確認
if (-not (Get-Command cargo -ErrorAction SilentlyContinue)) {
    Write-Host "Cargo（Rustのパッケージマネージャー）が見つかりません。このモジュールの依存関係に必要です。"
    Write-Host "https://www.rust-lang.org/tools/install から入手できます。"
    exit 1
}

# 仮想環境の作成と有効化
python -m venv .venv
& .\.venv\Scripts\Activate.ps1

# pipのアップグレードと依存関係のインストール
python -m pip install --upgrade pip
pip install -r dev-requirements.txt
pre-commit install
```

### PowerShellでのAnthropicAPI使用例

```powershell
# APIキーの設定
$env:ANTHROPIC_API_KEY="your_api_key"

# Dockerコンテナの起動
docker run `
    -e ANTHROPIC_API_KEY=$env:ANTHROPIC_API_KEY `
    -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
```

### PowerShellでのAWS Bedrock使用例

```powershell
# AWS認証情報の設定
$env:AWS_PROFILE="your_aws_profile"
$env:AWS_REGION="us-west-2"

# Dockerコンテナの起動
docker run `
    -e API_PROVIDER=bedrock `
    -e AWS_PROFILE=$env:AWS_PROFILE `
    -e AWS_REGION=$env:AWS_REGION `
    -v ${HOME}/.aws/credentials:/home/computeruse/.aws/credentials `
    -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
```

### PowerShellでの画面サイズカスタマイズ例

```powershell
docker run `
    -e ANTHROPIC_API_KEY=$env:ANTHROPIC_API_KEY `
    -v ${HOME}/.anthropic:/home/computeruse/.anthropic `
    -p 5900:5900 `
    -p 8501:8501 `
    -p 6080:6080 `
    -p 8080:8080 `
    -e WIDTH=1920 `
    -e HEIGHT=1080 `
    -it ghcr.io/anthropics/anthropic-quickstarts:computer-use-demo-latest
```

### Windows環境での注意点

1. パスの指定
   - Windowsのパス区切り文字（`\`）ではなく、フォワードスラッシュ（`/`）を使用します
   - ホームディレクトリは`${HOME}`で指定します

2. PowerShellでの環境変数
   - `$env:`プレフィックスを使用して環境変数を設定します
   - バッククォート`` ` ``を使用して複数行のコマンドを記述します

3. Docker Desktop
   - WSL2バックエンドが推奨されます
   - 必要なポートが他のアプリケーションで使用されていないことを確認してください


## カスタマイズ

### 画面サイズの設定

環境変数でカスタマイズ可能です：

```bash
docker run \
    # ... 他のオプション ... \
    -e WIDTH=1920 \
    -e HEIGHT=1080 \
    -it ghcr.io/anthropics/anthropic-quickstarts:computer-use-demo-latest
```

## セキュリティ対策の推奨事項

1. 最小権限の原則に基づく専用の仮想環境の使用
2. 機密データへのアクセス制限
3. 許可されたドメインのみへのインターネットアクセス制限
4. 重要な操作における人間による確認プロセスの実装

## 開発者向け情報

開発環境のセットアップには以下のコマンドを使用します：

```bash
./setup.sh  # venvのセットアップと依存関係のインストール
docker build . -t computer-use-demo:local  # ローカルビルド用
```

## 注意事項

- ベータ版のため、APIは予告なく変更される可能性があります
- 画像のリサイズに関する制限があるため、適切な解像度設定が重要です
- プロンプトインジェクションなどのリスクに注意が必要です

## フィードバック

モデルの応答品質、API、またはドキュメントについてのフィードバックは、Anthropicの公式フォームから送信できます。

## まとめ

Anthropic Computer Use Demo JPは、Claude 3.5 Sonnetの革新的なComputer Use機能を安全に試験できる環境を提供します。適切なセキュリティ対策を講じた上で、AIとコンピューター操作の新しい可能性を探求してみましょう。

なお、この機能はまだベータ版であり、本番環境での使用には十分な検討と対策が必要です。今後のアップデートにも注目が集まります。

## 日本語版リポジトリ

https://github.com/Sunwood-ai-labs/computer-use-demo-jp

## 原点

https://github.com/anthropics/anthropic-quickstarts/tree/main/computer-use-demo

 <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>