先日、Claude
というLLM
を開発しているAnthropic社
からニュースリリースがありました。新しいLLM
の公開と既存モデルのアップデートに加え、特筆すべきは「computer use
」という新機能です。この機能は、LLM
がPCを操作できるようになるというものです。現状はベータ版とのことですが、LLM
が「会話するだけのアシスタント(?)」から「実際に行動できるアシスタント」へと変貌を遂げるのではないかと感じました。
今後は、RPA(ロボティック・プロセス・オートメーション)やヘルプデスク業務といった分野で大きな変革が予想されます。私たちはAIとの協業における新しいステージに立ち会っているのかもしれません。技術の進化を注意深く見守りながら、その可能性を探っていきたいと思います。
- ニュースリリースの内容の要約
- 💪Claude 3.5 Sonnetがパワーアップ!
- 🚀新モデルClaude 3.5 Haikuとは?
- 💻新機能computer use(コンピューター操作)の追加🌟
- computer useがめちゃ気になる
- Dockerでイメージ構築・起動を行う
- プロンプト例(1)
- プロンプト例(2)
- おわりに
ニュースリリースの内容の要約
- 既存の
LLM
であるClaude 3.5 Sonnet
の性能アップグレード🌟 - 新モデル
Claude 3.5 Haiku
の登場🌟 - 新機能
computer use(コンピューター操作)
の追加🌟
💪Claude 3.5 Sonnetがパワーアップ!
コーディング能力が向上したとのこと。
記事では - コード関連のベンチマークテストで、他の有名なAIモデルを上回る成績を達成 - 複数のステップが必要なソフトウェア開発タスクが得意に - 料金や処理速度は据え置き
(私見)使ってみないと差がわからないかもしれません。というか、リリース直後からWebでも新しいモデルが使用できていますので、普通に使ってみて違いを感じてくださいってことですかね。
🚀新モデルClaude 3.5 Haiku
とは?
新しいLLMモデル
であるHaiku
は、速度重視。以前のClaude 3 Haiku
と同じくらいの速さと料金で提供されているようです。
- 高速な応答が必要なサービス向け
- 大量のデータ(購入履歴や価格情報など)を扱う作業に適している
- コーディング能力も予想以上に高い
💻新機能computer use(コンピューター操作)
の追加🌟
新機能computer use
。は簡単に言うと、Claude
(LLM)が人間のように画面状態を確認しながら、マウスを動かし、クリックしたり、文字を入力することが可能です。
例えば - スプレッドシートのデータを確認 - ウェブブラウザを開いて情報を検索 - フォームに必要な情報を入力
現時点ではベータ版なので過度な期待はできませんが、かなり攻めた機能です。
ここまでで要約は終了(全然要約してないかも🙄)
computer use
がめちゃ気になる
そんな中でも、computer use
がひときわキニナル存在です。実際のところ、LLMのモデルのアップデートについては差異はそこまで明確はわかるものでもないのですが、少し異質なcomputer use
に関してはかなり興味をそそられます。
以下にcomputer use
のドキュメントがありました。
これに基づいて実験をしていこうと思いますが、ベータ版の機能なので自己責任の範疇で行いましょう。サイト内には以下のような注意書きがあります。
Computer use is a beta feature. Please be aware that computer use poses unique risks that are distinct from standard API features or chat interfaces. These risks are heightened when using computer use to interact with the internet.
リスク予防策としては以下のものがあるようです。
システムに対する直接的な攻撃や事故を防ぐため、最小限の権限しか持たない専用の仮想マシンやコンテナを使用する。
情報窃盗を防ぐため、アカウントのログイン情報などの機密データへのアクセスをモデルに与えないようにする。悪意のあるコンテンツにさらされるのを防ぐため、インターネットへのアクセスを許可リストのドメインに制限する。
クッキーの受け入れ、金融取引の実行、利用規約への同意など、肯定的な同意を必要とするタスクだけでなく、実世界で意味のある結果をもたらす可能性のある決定についても、人間に確認を求める。
状況によっては、Claudeはユーザの指示と矛盾していてもコンテンツにあるコマンドに従います。例えば、ウェブページ上のClaudeの指示や画像に含まれるClaudeの指示は、Claudeの指示を上書きしたり、Claudeのミスを引き起こす可能性があります。プロンプトインジェクションに関連するリスクを回避するために、Claudeを機密データやアクションから隔離するための予防策を講じることをお勧めします。
この機能は悪用も可能なものなので、注意は必要以上に行う必要あると思います。
以下ではGitHub
を見ながら作業をしていくことになります。
このリポジトリのドキュメントには、使用するにあたっての必要な機能を持つDockerコンテナ
の作り方を説明しています。また、computer use
は以下の方法でのLLM(Claude 3.5 Sonnet)
からのアクセスが可能です。これらの情報が必要になるので、持ってない方はご準備ください。
Anthropic API
Bedrock(AWS)
Vertex(Google)
動作の環境
LLM
へのアクセス …Anthropic API
からLLM
にアクセスします。API_KEY
は事前に準備しておいてください(登録時に付与される無料のAPIクレジットではエラーがでたので、もしかしたら使用できないかもしれません)OS … Ubuntu 24.04 LTS
- Docker ... Docker version 27.3.1, build ce12230
余裕があればWindows11のWSL
上でも動作させてみたいです。(環境変数のセット以外の違いはないように感じます)
【参考・Windowsで動作させる場合】
PS1> set ANTHROPIC_API_KEY=your_api_key PS1> docker run -e ANTHROPIC_API_KEY=%ANTHROPIC_API_KEY% -v %USERPROFILE%/.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
Docker
でイメージ構築・起動を行う
ターミナルで以下のように実行すればDocker
のコンテナが起動します。イメージファイルをpull
していない場合でも実行時に取得してくれます。個人的にはこのあたりはshファイルにしておくと便利かなと思うのと、docker runコマンド
で作成したイメージも一時的なので、--rmオプション
で終了したら消す運用にしたほうが良いかもってところです。ベータ版ですのですぐに環境も変わるでしょうし。
$ export ANTHROPIC_API_KEY=%ここは事前に準備した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
自分が使用しているshファイル … claude_computer_use.sh
#!/usr/bin/env bash export ANTHROPIC_API_KEY=%ここは事前に準備したapi_keyをいれてください% # --rmオプションを使用することで終了時にコンテナが削除されます(次回起動もこのシェルで可能) docker run --rm\ -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へブラウザからアクセスします。
ブラウザからURLにアクセスするとプロンプト入力とともにDockerコンテナでのテスト用OS(Linux)が起動します。
では、プロンプトを使って指示をだしてみましょう。
プロンプト例(1)
以下のようにプロンプトを入力して実行してみました。
"https://uepon.hatenadiary.com/entry/2024/10/22/010143"にアクセスしてアクセスして記事を400字程度に要約したものをスプレッドシートにペーストしてください。
1)プロンプトの入力(プロンプトエリアの【紙飛行機】アイコンをクリック)
無事、LLMがプロンプトの内容を認識してくれました。
以降の操作はcomputer use
が自動的に動作を行います。
2)ブラウザ(Firefoxの起動)
3)URLを入力し、該当のページの表示
4)スプレッドシートを使うためにLibreOfficeを起動
初回起動なのでガイドのダイアログも表示されますが、それも認識して消してくれます。
5)リンク先の要約した内容をスプレッドシートにペーストして、ファイルの保存を行う
プロンプトで指示しないとGUIアプリは終了しないようです。
プロンプトの実行が完了すると以下のような表示が行われます。
ちゃんとファイルも保存されていました。以下のターミナルは手動操作で開いていますのでcomputer use
の機能ではありません。
順次作業の様子がプロンプト側でも確認で切るようになっているので、どこで間違ったかなども確認出来ます。
プロンプト例(2)
続いては以下のようなプロンプトを試してみました。
FizzBuzzのPythonのコードを作成し、名前をfizzbuzz.pyという名前で保存してください。作業終了後はターミナル、エディタは終了させてください。
先程よりはアプリを使用しないものですが、ソースコードを考えてもらって、エディタを開いてファイルにセーブするというものです。
こちらはサクッと終了しました。というかGUI側からは全く実くエディタが開く様子はわからなかったです。実際にファイルはちゃんと出来ています。
おわりに
computer use
機能の試用を通じて、AIの可能性が大きく広がったことを実感しました。単純なテキスト入力やブラウザ操作でさえ、人間のような自然な動きでコンピュータを操作する様子は近未来っぽくも感じます。
まだベータ版ですし、制限や課題もあります。また、セキュリティの観点からも制限された環境での動作に限るべきでしょう。また、複雑な操作になると人間がやったほうがいい場面はかなりあります。(今回の例はうまく行ったものを出しています)
とはいえ、この機能の可能性はかなり世界を変えてしまうかも。特に、反復的な業務の自動化やヘルプデスク業務など、具体的なユースケースが見えている分野では、大きな変革をもたらす可能性は十分にあると思います。