目次

概要

AIでPCを操作できるということだ

通常のClaudeのチャットからは、メニューが見当たらない。

aiに、Computer useを使ってみたいと質問したところ以下のURLを紹介してもらえた

https://docs.anthropic.com/en/docs/build-with-claude/computer-use

(英文)

まだ、beta版のようである。(この記事を書いているのは、2024/10/25)

推奨スペック

dockerでPC内に仮想PC入れる感じになるので、

本格的に使うのであれば、

32GBぐらいのRAMと、コア数の多めのPCを別途用意したほうが良さそうに思えた。

そうしないと、スワップ処理で、もっさり動作になってしまい。ほぼ停止しているかのような錯覚を感じた。

デモのソースコード

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

ご意見はこちら、、、だそうだ

https://docs.google.com/forms/d/e/1FAIpQLSeD3IqITWsuepB19SEv889HsBvN9WOi6HRblPrJNyA9G7q02w/viewform

セットアップ

APIキーを用意

https://console.anthropic.com/dashboard

Dockerを呼ぶ

Docker本体のインストール手順は割愛する。他を見てほしい。

dockerが使える状態前提。

シェルの場合

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

実行結果

Xvfb started successfully on display :1
Xvfb PID: 9
starting tint2 on display :1 ...
starting mutter
starting vnc
PORT=5900
starting noVNC
noVNC started successfully
✨ Computer Use Demo is ready!
➡️  Open http://localhost:8080 in your browser to begin

noVNCはオープンソースで開発されている、ブラウザ上で動作するHTML5製のVNCクライアントです。 このnoVNCをサーバー側にインストールして、HTTPサーバーで公開しておけば、クライアント側はブラウザでアクセスするだけでリモートデスクトップ環境を使えるようになります

ブラウザで、http://localhost:8080 を開いてみると、おそらくdockerのイメージだと思うが、dockerで立ち上げたであろうPCが立ち上がる。

dockerの中身を操作するだけならば、セキュリティは大丈夫そうだ。

claude_use_computer.png

会話してみる

ブラウザで表示した上記の画面の左側のChat欄に、どのようなことができるのか質問したら、教えてくれた。

アカウントの作成やログイン関連については、手伝えないといわれた。

OSは何ですか?と聞いたところ以下の回答だった。

Ubuntu 22.04.5 LTS

gitは、すでにインストール済みのようだ。

言語のインストール状況

インストール済み:

pyenvを使用して管理されています

多数のPythonパッケージがインストールされています(numpy, pandas, streamlit, requests など)

未インストール:

vi

テキストエディタのVIはインストールされていないようだ。

「viをインストールしてみて」

とお願いしてみた。できた。

「viのカラースキームをmonokaiにして」

とお願いしてみた。できた。日本語に対応してなかったので、まだ設定が必要そうだ

CPUのプロセスが100%に!

PCのメモリが16GBだと、ブラウザを立ち上げようとすると、固まってしまった。

VmmemVSLというプロセスがめちゃめちゃ占有している。

dockerがフリーズしてしまった。メモリを食いすぎ

PCにメモリはたくさん積んでおいたほうがいいだろう。

VmmemVSLのメモリ対策の記事

暫定対応

https://zenn.dev/quantum/articles/b29722e8795335

power shell用のコマンド

# WSLに入るコマンド。すでにWSLに入っている場合は不要
wsl

# メモリをフラッシュするコマンド
sudo sh -c "/usr/bin/echo 3 > /proc/sys/vm/drop_caches"

懸念点

チャットが複数セッションに分かれていないので、上限に来た場合にどうするのか? 長文のチャットだと会話の継続はできなくなってくるが、dockerでたちあげた環境に紐づいてしまっていると、チャットだけクリアすることはできるのだろうか?

自主的にどんどんファイルを更新してくれたりするのは頼もしいが、複雑になってくると、やらかしてしまった場合、戻る方法はどうするのだろうか? ソースコードならば、gitがインストールされているので、都度コミットしましょうというルールでいけそうだが、設定ファイルなどを改変されると、バックアップしていないと戻せなくなってしまう。

処理が進むと重くなってくる、となると、これを使った開発は、課題を1つ解決したらまたリセットして使う仕組みならば行けそうだ。

自分だったらこう使う。を考えてみた

AIとコラボ用にGitLabサーバを立てる

AI用に最低32GBのPCを用意する。

並列で作業させたい場合もあるから、もしかしたら複数台用意したほうがいいかもしれない

問題解決に近い環境をdockerのイメージを作る

関連するファイルは自分で見に行ってもらうように指示する

Issue経由などで課題を与える

課題を手伝ってもらう

gitにコミットする

githabなどに pushする

不本意ながら、AIの処理できるトークン数に限界がくるので、次の課題に向けリセットし、上記の手順を 再度行う

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS