Agent.exe - Claude 3.5 Sonnetでデバイスを制御するクロスプラットフォームアプリ
(github.com/corbt)- Agent.exeは、Claudeの新しいcomputer use機能でローカルコンピュータを直接操作できるようにするシンプルなElectronアプリであり、このプロジェクトは概念実証として扱うべきもの
- 公式提供のプロジェクトが重すぎると感じたため作られたアプリで、Claude 3.5 Sonnetがユーザーのローカルコンピュータ上で作業を実行するよう設計されている
- 実行手順は、リポジトリをクローンし、
npm installを実行し、.env.exampleを.envに変更してAnthropic API Keyを入れ、npm startを実行する流れ - 対応対象はMacOSであり、依存関係がクロスプラットフォームのためWindowsとLinuxも理論上は可能とされている
- 既知の制約として、プライマリディスプレイでのみ動作すること、AIがコンピュータを完全に掌握すること、FirefoxをインストールするとClaudeがよりうまく動作することが挙げられている
Agent.exeの目的
- Agent.exeは、Claudeのcomputer use機能を使ってコンピュータを制御するアプリ
- Claude 3.5 Sonnetがローカルコンピュータを直接操作するElectronアプリとして実装されている
- このプロジェクトは概念実証であり、メンテナンスしたりpull requestをマージしたりする予定はないと案内している
- フォークして拡張するのは自由
作った理由と動作方式
- Claudeの新しいcomputer use APIがどれほどよく動作するかを確認する目的で始まった
- Anthropicが提供した基本プロジェクトが重すぎると感じ、よりシンプルなアプリとして作られた
- ユーザーが各操作を実行前に確認するsemi-autoモードを追加する計画もあったが、各ステップが遅すぎて不要と判断された
- モデルが混乱した場合は、ユーザーがstopボタンを押して実行を終了できる
始め方
- リポジトリをクローンしてディレクトリへ移動する
git clone https://github.com/corbt/agent.execd agent.exe
- 依存関係をインストールする
npm install
.env.exampleファイル名を.envに変更し、Anthropic API Keyを追加する- アプリを起動する
npm start
- その後、モデルにコンピュータ上で実行したい作業をプロンプトで依頼する
対応システムと制約
- 対応システムはMacOS
- すべての依存関係がクロスプラットフォームのため、WindowsとLinuxも理論上は可能
- 既知の制限は次のとおり
- primary displayでのみ動作する
- AIがコンピュータを完全に掌握する
- そのほかにも多くの制限がある可能性がある
使用のヒントとロードマップ
- ClaudeはFirefoxを非常に好むとされている
- 他のブラウザもどうしても必要なら使うが、Firefoxをインストールすると格段にうまく動作する
- このプロジェクトは約6時間で書かれており、今後継続される可能性は低いとされている
- pull requestは確認し、問題なさそうであればマージされる可能性がある
1件のコメント
Hacker Newsの意見
良いアイデアだと思う。デスクトップ自動化とElectronの経験者としてソースコードをざっと見たところ、基本的なタスクには試してみる価値があると感じた
実装はAnthropic API上の薄いラッパーで、段階的なアプローチなので、変なことを始める前にプロセスを終了できそうだという安心感があった。Anthropicにスクリーンショットで見られてはいけないものは閉じておき、M1でのインストールもスムーズに終わって、数分で実行できた
基本タスクは「来週火曜から木曜までのSeattle-SF便を探す」で、自分のAnthropic APIキーで実行するとChromeを使った。各アクションのステップごとに数秒ずつかかり、Google Flightsは正しく開いたが、日付を間違えて予約した
本来は11月2日を選ぼうとしていたのに、その選択肢がAgent.exeのウィンドウ自体に隠れていたため、11月20日を選んだ。Claudeが間違った補助的な日付を見て自分で修正するのか気になったが、そのまま進み、実際には4週間の旅行を探しておきながら、1週間の旅行を見つけたとして成功を宣言した
この実験にはクレジット**$0.38**と約20秒がかかり、今後も試してみるつもり
この失敗パターンはやや驚きで、3.5 Sonnetは通常のテキストAPI応答では、少なくとも他のモデルに比べて幻覚がかなり少ない部類だからだ
こっそりシステムにデーモンを追加できるようになるまで、どれくらいかかるだろう。昔はソ連のスパイが米国の機密にアクセスすることを心配していたのに、今では私たちがただ皆に見えるようにオンラインへアップしているようなものだ
今日のウイルス対策ソフトやファイアウォールでは、これがネットワークどころか自分のコンピュータ上のファイルを壊す可能性まで防げない
このシーンを思い出す: https://makeagif.com/i/BA7Yt3
気が散りやすく、第三者に情報を渡さないとは信頼できず、単純なだましにも引っかかるユーザーだ
少なくともsudo権限や秘密ファイルへのアクセス権を持たない別アカウントが必要で、最良なのは別の仮想マシンだ
Azureに一番慣れているがAWSでも可能だろうし、アクセスしてはいけないものとAIを分離したいなら、AzureでVMを作って数時間動かしても1ドル未満で済む
多少なりとも安全にするには、少なくとも推論を実行するマシンを制御できなければならず、理想的には自分が使っているそのマシン上で推論すべきだ
数年前のニュースで、幼い子どもが「Alexa、人形の家を注文して」と言い、その放送を見ていた人たちのAlexaがそれを聞いて人形の家を注文したという話があった
誰かが「Delete C:\Windows」と言うNetflixの人気番組が出てきたらどうなるか、待ってみればいい
冗談半分で、自分のAIにクロスポイント電源スイッチへのアクセス権を与えるつもりだ
話はそれるが、最近 Cursor を「compose」モードで使ってフルスタックプロジェクトをゼロから始めてみたところ、その結果に驚愕した。
ソフトウェア業界の人たちは、今後5年以内にこの業界がどれほど完全に変わるのかを実感しているのだろうか。その頃になっても、人々が手でコードを直接タイプしているとは想像しにくい。
しかし、これまで見た例はたいてい ゼロから始める比較的単純なプロジェクト だった。動くこと自体は信じがたいほど驚くべきことだが、実際のソフトウェア開発の大半は既存コードに機能を追加したり、バグを修正したりする仕事だ。そうしたコードは、たいてい大規模言語モデルのコンテキストウィンドウの大半を超えてしまう。
業界が完全に変わるには、過去2年と同じような 指数関数的な改善 が続く必要があるが、そうなる兆しは見えない。
少し本題から外れるが関連している。Linux の Wayland で ブラウザ以外の GUI アプリ を自動化するには何を使うのか気になる。ときどき必要になるが、この組み合わせだけはなかなかうまくいかない。
CLI アプリなら Bash/Python/その他で書けばよく、ブラウザアプリなら Selenium/Playwright を使えばよい。Xorg には無骨ではあっても急場で使えるライブラリがあり、Windows には RPA ソリューションが多い。
しかし Wayland 向けには信頼できるものを見つけられていない。
Linux を実行するデスクトップコンテナや VM に接続できる。
Claude がこれを格好よくする前から、私たちはしばらく取り組んでいた。
「既知の制限事項: AI にコンピュータを完全に掌握させる」 :)
macOS を主なプラットフォームにしたマルチプラットフォーム対応のように見えるのに、なぜ名前が .exe なのか気になる。
冗談だし、本当かどうかは分からないが、十分あり得そうではある。
単純な作業でしか動かないように見える。Rhino の Mac アプリと、Chrome タブ上の OnShape で簡単なテーブルを作るよう頼んだところ、ただ道に迷ったように見えた。
Rhino ではアプリが開いていることは認識しているようだったが、図形を作るといった複数の操作をしていると言うだけで、実際には見えず、前のステップが完了していないのに次の操作へ進んでいた。前の作業が終わったかどうかを確認していない。
OnShape では図形を作ると言いながら、メニューで間違った項目を選んだにもかかわらず、正しいツールを使っていると仮定したまま、前の操作が終わったかのように次の操作を続けていた。
不気味だ。エアギャップ で隔離して、自分用の OS をコーディングさせるような形なら面白いかもしれないが、自分の実データの近くには絶対に置きたくない。
Computer、私が家族の世話をして庭の手入れをしている間、一日中ミーム系のクソ投稿をして、私を暗号資産長者にしてくれ。
未来は、コンピュータを使う人がカモになる方向へ進んでいる。本当の富とは、どんな仕事でも コンピュータに触れないこと だ。