🍳 レシピカード
要確認検証 2026/4/6
モデル
Claude
ツール
Computer Use

Claude Computer UseをDockerで動かす|Firefox自動操作環境の構築と精度を左右するプロンプト設計

Docker(Ubuntu 24.04 + Xvfb + XFCE4 + noVNC)上にComputer Use用のデスクトップ環境を構築し、Firefoxの自動操作を検証しました。タスクは15イテレーションで成功。Ubuntu 24.04のsnap移行によるFirefox起動問題、macOS前提コードのLinux移植、そして精度を決めるシステムプロンプト設計をまとめています。

AIにパソコンを操作させる「Computer Use」は、APIを叩けば動くものではありません。操作対象となるデスクトップ環境そのものを用意する必要があります。

この検証では、Docker上にUbuntu+XFCE+Firefoxのデスクトップを構築し、noVNC経由で操作を可視化する環境を作りました。タスク「Firefoxでgoogle.comを開いてClaude AIを検索して」は15イテレーション・30メッセージ交換で成功しています。

この検証の概要

項目内容
検証日2026年4月6日(1日で完結)
対象Claude Computer Use(Anthropic API beta機能)
バージョンAPI beta flag computer-use-2025-01-24/モデル claude-sonnet-4-20250514
やりたかったことComputer Use APIの実用性を検証し、業務自動化PoCの基盤環境を構築する
結果タスク成功(15イテレーション・30メッセージ交換)
状況完了

結論:システムプロンプトが精度を決める

Computer Useを動かして最も強く感じたのはこれです。

システムプロンプトが非常に重要です。環境に合わない指示(macOSコマンド等)があると、エージェントが迷走します。

実際に効果があったのは、次のような明示的な制約でした。

  • 「使えるブラウザはFirefoxのみ」
  • 「macOSコマンドは使うな」

制約を書く理由は、失敗時の挙動にあります。エージェントは失敗するとChromiumのインストールやテキストブラウザに逃げがちです。放っておくと、本来の目的から離れた作業を始めます。プロンプトで先回りして封じておく必要があります。

Computer Useの精度は、モデルの能力だけでなく「環境の説明をどれだけ正確に与えたか」で変わります。

技術構成

コンポーネント技術
コンテナUbuntu 24.04(Docker)
仮想ディスプレイXvfb
デスクトップXFCE4
VNCサーバーx11vnc
WebアクセスnoVNC(websockify)
ブラウザFirefox 149.0(Mozilla公式バイナリ)
AI APIAnthropic Computer Use beta
Pythonpyautogui, Pillow, anthropic SDK

noVNCを挟むことで、http://localhost:6080 でFirefoxの操作がリアルタイムに可視化されます。AIが何をしているかを見られるのは、検証段階では重要です。

Ubuntu 24.04でFirefoxが起動しない

最も時間を要した問題です。

Ubuntu 24.04の firefox パッケージはsnap版への移行パッケージであり、Dockerコンテナ内ではsnapdが動作しないため実体がありません。

試した対応は2つです。

試したこと結果
Mozilla Team PPA(ppa:mozillateam/ppaARM64でダウンロードが極端に遅く断念
Mozilla公式バイナリ直接ダウンロード成功

採用したDockerfileの記述は次のとおりです。

RUN ARCH=$(uname -m) && \
    if [ "$ARCH" = "aarch64" ]; then ARCH="linux64-aarch64"; else ARCH="linux64"; fi && \
    wget -q "https://download.mozilla.org/?product=firefox-latest-ssl&os=${ARCH}&lang=ja" \
      -O /tmp/firefox.tar.xz && \
    tar -xf /tmp/firefox.tar.xz -C /opt/ && \
    ln -sf /opt/firefox/firefox /usr/local/bin/firefox

追加で必要な依存は libdbus-glib-1-2libgtk-3-0libasound2t64xz-utils です。

Apple Silicon環境では linux64-aarch64 を指定する必要があります。アーキテクチャを判定して切り替える形にしておくと、環境をまたいでも動きます。

その他に遭遇した問題

エラー原因解決
ModuleNotFoundError: No module named 'computer_use'PYTHONPATH=/app だがパッケージは /app/src/computer_use/ に配置Dockerfileで ENV PYTHONPATH=/app/src に変更
pyautoguiのXauthority / tkinterエラー.Xauthority が存在しない+python3-tk 未インストールpython3-tkpython3-dev を追加、entrypoint.shで touch ~/.Xauthority

macOS前提のコードをLinuxへ移植する

元のコードは完全にmacOS前提(screencaptureosascriptpbcopy等)でした。修正が必要だったのは4ファイルです。

ファイル変更内容
agent.pyシステムプロンプトをLinux/Firefox/XFCE用に全面書き換え(ctrl系ショートカット、firefox起動方法等)
config.pyスクリーン検出を osascriptxdpyinfo +環境変数フォールバックに変更
computer.pyスクリーンショット: screencapturescrot/クリップボード: pbcopyxclip/キーマッピング: cmd → ctrl
DockerfileFirefox PPA → 公式バイナリ、xclip / x11-utils等を追加

注目すべきは agent.py です。コマンドの置き換えだけでなく、システムプロンプト自体を書き換える必要がありました。Computer Useでは、プロンプトが環境仕様の説明書になっています。

動作確認:15イテレーションで完了

タスク「Firefoxでgoogle.comを開いてClaude AIを検索して」を実行しました。

結果は成功(15イテレーション、30メッセージ交換で完了)。エージェントの動作フローは次のとおりです。

  1. スクリーンショットでデスクトップ確認
  2. firefox & でブラウザ起動
  3. アドレスバーにgoogle.comを入力
  4. 検索ボックスに「Claude AI」を入力
  5. 検索結果を確認・スクロール

スケーリングについては、Xvfbの解像度とClaudeの論理解像度が一致(1280x832)するためスケール1.0となり、座標変換の誤差はありませんでした。解像度を合わせておくと、クリック位置のずれを考えなくて済みます。

Computer UseのPoCに向くタスク

公式が推奨する条件は次のとおりです。

  • バッチ処理
  • 再試行可能
  • 低リスクデータ
  • 時間圧力なし

この4条件は、裏返すと「失敗してもやり直せる範囲で使う」という意味です。画面操作は環境の変化に弱く、100%の成功は前提にできません。

これを踏まえ、優先度の高いPoC候補として次を整理しています。

  1. レガシーシステムへのデータ入力自動化
  2. 行政ポータルの操作自動化
  3. 競合調査・市場情報収集

いずれもAPIが提供されていない画面が対象という共通点があります。API連携ができるならそちらが確実です。Computer Useが効くのは、その手段がない領域です。

よくある質問

Computer Useを動かすには何が必要ですか?

操作対象となるデスクトップ環境が必要です。この検証ではDocker上にUbuntu 24.04 + Xvfb + XFCE4 + x11vnc + noVNC + Firefoxを構築しました。

精度を上げるコツはありますか?

システムプロンプトに環境の制約を明示することです。「使えるブラウザはFirefoxのみ」「macOSコマンドは使うな」といった指示が効果的でした。エージェントは失敗すると別ブラウザのインストール等に逃げるため、先回りして封じます。

Docker内でFirefoxが起動しないのはなぜですか?

Ubuntu 24.04のfirefoxパッケージがsnap版への移行パッケージで、Dockerコンテナ内ではsnapdが動作しないためです。Mozilla公式バイナリを直接ダウンロードする方式が最も確実でした。

どんな業務に向いていますか?

バッチ処理・再試行可能・低リスクデータ・時間圧力なし、の4条件を満たすタスクです。レガシーシステムへのデータ入力、行政ポータルの操作、競合調査などが候補になります。

まとめ

  • Docker(Ubuntu 24.04 + Xvfb + XFCE4 + noVNC)上にComputer Use用のデスクトップ環境を構築
  • 「Firefoxでgoogle.comを開いてClaude AIを検索」は15イテレーション・30メッセージ交換で成功
  • システムプロンプトが精度を決める。環境に合わない指示があるとエージェントが迷走する
  • Ubuntu 24.04のfirefoxパッケージはsnap移行のためDocker内では実体がない。Mozilla公式バイナリの直接ダウンロードが確実(ARM64では linux64-aarch64
  • Xvfbの解像度とClaudeの論理解像度を一致させる(1280x832)とスケール1.0で座標変換の誤差なし
  • PoC適性はバッチ処理/再試行可能/低リスクデータ/時間圧力なしの4条件

Computer Useは、APIが用意されていない画面を自動化する手段です。環境構築とプロンプト設計に手間はかかりますが、他に手がない領域では有力な選択肢になります。

株式会社AI棒では、こうしたAI活用の検証を日々行い、企業の業務自動化を支援しています。ご相談はお問い合わせフォームから、継続的な伴走支援についてはAI参謀をご覧ください。

👁 4👍 0🔖 0

コメント0

ログイン してコメントする
まだコメントはありません。最初のコメントを投稿してみませんか?