自然言語の数行でMacを操作できると想像してみてください。その夢は、Claudeの新しいコンピュータ使用ツールのおかげで現実になりました。面倒なUIワークフローの自動化、ユーザー入力のシミュレーション、macOSインターフェースと対話するデモの作成など、このツールは強力で驚くほど直感的な解決策を提供します。
この記事では、この機能が何であるか、どのように使用するか、そしてツールのコアの内部動作について詳しく説明します。反復的な作業を自動化したい開発者であれ、ハンズフリーでアプリを操作したい人であれ、このガイドは始めるための包括的な手引きです。

Claudeのコンピュータ使用とは何ですか?
コンピュータ使用は、AnthropicによってリリースされたClaude特有のベータツールで、AIエージェントがMacのキーボード、マウス、画面と直接対話できるようにします。この対話は、macOSのコマンドラインユーティリティを使用してプログラム的に実現されます。
Claudeはこのツールを使用して:
- 特定のキーをタイプしたり押すことをシミュレートする
- マウスカーソルを特定の位置に移動させる
- 左クリック、右クリック、またはダブルクリックを行う
- 現在の画面のスクリーンショットを撮る
- カーソルの位置を取得する
これらのすべてのアクションは、APIのようなインターフェースを介して公開され、Anthropicエージェントが呼び出せるPythonベースのツールにラップされています。
ClaudeでmacOSを自動化する理由は何ですか?
AppleScriptやAutomatorのような従来のmacOS自動化ツールは強力ですが、もろい、アプリケーション固有、または範囲が限られていることが多いです。Claudeのコンピュータ使用APIを使用すれば、これらのルールに制約されることはありません。アプリをナビゲートしたり、クリックしたり、タイプしたり、ドラッグしたり、画面を視覚的に解釈したりすることができ、まるで人間のようにシステム全体と対話できます。
Claudeはスマートなコ-pilotとして機能し、画面上の情報を解釈し、自然言語の指示と低レベルのシステムコマンドを使用してタスクをリアルタイムで実行します。
必要なもの
始めるために、以下のものを用意してください:
- macOS 12 (Monterey)以降を実行しているMac
- Python 3.8+がインストールされていること
- Homebrew(macOSパッケージマネージャー)
- Terminal.appやiTerm2のようなターミナルアプリケーション
ClaudeのComputer Use APIへのアクセスとAPIキー
また、キーボード入力やマウス制御などの低レベルの対話のためにcliclick
というコマンドラインユーティリティを使用します。
macOS環境の設定
ClaudeがMacを操作する前に、ターミナルにアクセシビリティ権限を付与する必要があります:
- システム設定を開く
- プライバシーとセキュリティ → アクセシビリティに進む
- 使用しているターミナルアプリケーションの制御を有効にする
これらの権限がないと、自動化は機能しません。
動作の仕組み: Claude + cliclick + Python
このシステムは、以下の三つの主要な層で構築されています:
- Claudeのコンピュータ使用API – 画面の解釈を行い、どのようなアクションを取るかを決定します。
- cliclick – マウスの動き、クリック、キーボード入力をシミュレートするコマンドラインツールです。
- Pythonブリッジ (
computer.py
) – ClaudeのコマンドとcliclickおよびmacOSシステムを接続します。
Claude APIは視覚情報(どのアプリが開いているか、ボタンがどこにあるかなど)を解釈し、高レベルのコマンドを発行します。これらのコマンドは、cliclickを介してMac上で実行され、Python層によって調整されます。
ツールのインストール
自動化設定をインストールして実行するための手順は以下の通りです:
1. cliclick
をインストール
brew install cliclick
2. クイックスタートリポジトリをクローン
git clone https://github.com/anthropics/anthropic-quickstarts.git
cd anthropic-quickstarts/computer-use-demo
3. コアスクリプトを置き換える
既存のcomputer.py
ファイルを、Claudeコンピュータ使用によるmacOSの自動化ガイドで提供されている修正されたバージョンに置き換えます。
4. セットアップスクリプトを実行
./setup.sh
このスクリプトはPythonの仮想環境を作成し、依存関係をインストールします。
5. 環境をアクティブにする
source .venv/bin/activate
6. 環境変数を設定する
プレースホルダーを実際のデータに置き換えます。
export ANTHROPIC_API_KEY=sk-xxxxxx
export WIDTH=1512 # あなたの画面の幅
export HEIGHT=982 # あなたの画面の高さ
解像度はAppleメニュー > このMacについて > ディスプレイで確認できます。
7. Streamlitアプリを起動
python -m streamlit run computer_use_demo/streamlit.py
ローカルブラウザが開き、Claudeにコマンドを発行し始めることができます。
macOS上の現実のタスクを自動化
すべてが動作しているので、何ができるか見てみましょう。
1. アプリケーションを起動
Claudeに「Safariを開いて」や「Spotifyを起動して」と頼んでみてください。Claudeはアイコンやメニューエントリを視覚的に識別し、必要なクリックやキー入力をシミュレートします。

2. アプリでテキストを入力
Claudeにノートを開いてメッセージを入力させることができます。これは自動ログや日記を作成するのに役立ちます。
3. メニューやウィンドウのナビゲート
Claudeはキーボードショートカットのシミュレーション、メニューのクリック、ウィンドウの特定の位置へのドラッグを行うことができます。これは、ファイルのエクスポートや作業スペースの設定などのマルチステップのワークフローを作成するのに最適です。
コンピュータ使用に興味がありますか?さらに深く掘り下げましょう:
computer.py
スクリプトはミドルウェアとして機能し、以下の処理を行います:
- 解像度に基づく画面座標の変換
- 正確なタイミングでのマウスやキーボードのアクションの実行
- 視覚的確認のためのスクリーンショットのキャプチャとエンコード
- Claudeによって発行された各コマンド(例:
left_click
、mouse_move
、type
)は検証され、解析され、その後cliclickに渡されます。
例: Claudeに「Safariを開いて」と指示します。セットアップが完了すると、次のようにClaudeにコマンドを送信できます:
"Safariを開いて、apple.comに移動し、スクリーンショットを撮ってください."
裏では、Claudeは:
cliclick
を使用してCmd+Space
を押す- "Safari"と入力する
Enter
を押す- ブラウザがロードされるのを待つ
- "apple.com"と入力する
Enter
を押すscreenshot()
を使用して画面をキャプチャする
これらのすべてのステップは自然言語で抽象化されています。
また、現在のマウス位置や画面のスクリーンショットを返すようなフィードバックループもサポートしているため、Claudeは「何が起こったか」を「見る」ことができ、インテリジェントに応答します。Claudeのコンピュータ使用があなたに何をもたらすか考えてみてください:
- コンテンツ作成: Photoshopを開き、テンプレートをロードし、デザインをエクスポートすることを自動化します。
- 会議: Zoomを開き、会議に参加し、簡単なプロンプトでミュート/ミュート解除を行います。
- コーディング: IDEを開き、プロジェクトをロードし、コンパイル — すべて自然言語の指示によってトリガーされます。
- システムのクリーンアップ: Finderを開き、ダウンロードに移動して古いファイルを削除します。
Claudeのコンピュータ利用の裏側の仕組み
この機能の中心には、computer.py
ファイルがあり、AIエージェントにAPIのようなインターフェースを提供するツール実装です。
computer.py
の主要なコンポーネントを分解してみましょう。
1. ツールの設定とセットアップ
class ComputerTool(BaseAnthropicTool):
name: Literal["computer"] = "computer"
api_type: Literal["computer_20241022"] = "computer_20241022"
このクラスはツールの名称とAPIタイプを設定します。BaseAnthropicTool
から継承され、ツールがClaudeと通信する方法を標準化します。
コンストラクタは環境変数から画面の幅、高さ、表示番号を読み込みます。これにより、高解像度のディスプレイでもマウス座標のマッピングが正しく機能します。
self.width = int(os.getenv("WIDTH") or 0)
self.height = int(os.getenv("HEIGHT") or 0)
2. アクションの実行
ツールはさまざまなアクション(mouse_move
、type
、key
、screenshot
など)を処理します。各アクションは異なるシェルコマンドをトリガーします:
if action == "mouse_move":
return await self.shell(f"cliclick m:{x},{y}")
テキスト入力は、入力されたテキストをチャンクに分割し、キー入力をシミュレートすることで処理されます:
for chunk in chunks(text, TYPING_GROUP_SIZE):
cmd = f"cliclick t:'{chunk}'"
results.append(await self.shell(cmd, take_screenshot=False))
これはユーザーが1文字ずつ入力することを模倣し、その後にスクリーンショットを撮ります。
3. スクリーンショット機能
screenshot()
関数は、screencapture
を使用してスクリーンショットを取り、ImageMagickのconvert
を使用してリサイズし、base64でエンコードされた状態で返します:
screenshot_cmd = f"{self._display_prefix}screencapture {path}"
await self.shell(f"convert {path} -resize {x}x{y}! {path}")
これにより、Claudeはアクションを実行する前または後に画面上で何が起こっているかを「見る」ことができます。
4. 座標のスケーリング
すべての画面が同じ解像度を持っているわけではありません。scale_coordinates()
メソッドは、表示間での一貫性を保持するために座標を調整します:
x_scaling_factor = target_dimension["width"] / self.width
y_scaling_factor = target_dimension["height"] / self.height
これにより、AIが「(400, 300)でクリック」と言った場合、実際の画面サイズに関わらず、正しい位置に到達します。
5. エラーハンドリングと検証
コード全体で、テキストが欠けている、または無効な座標のようなエラーは、役立つメッセージとともに早期にキャッチされます:
if text is None:
raise ToolError(f"text is required for {action}")
これはツールを保護し、Claudeがシステムと対話する際に予測可能な動作を確保します。
最後の考え
Claudeのコンピュータ使用APIは、自動化への未来的なアプローチを提供します — スクリプト作成は少なく、インテリジェンスは多く。画面ビジュアルを解釈し、人間のアシスタントのように反応することで、Claudeは深い技術スキルを必要とせずにあらゆるmacOSユーザーに強力な自動化をもたらします。
Pythonといくつかのツール、APIキーさえあれば、あなたの習慣や好みに適応したワークフローを構築でき、他の重要なことに集中する時間が増えます。