MetaGPT入門とインストールのメモ
MetaGPTはプロダクトではなくミドルウェアです。このメモでは Role、Trigger、Callback と、実際に動くローカルインストールについて書きます。
このページの内容
#背景
これは DeepWisdom の無料公開講座『MetaGPTエージェント開発入門』の学習メモです。わたしは申し込みました。リポジトリは geekan/MetaGPT です。
#MetaGPTとは何か?
AIエージェントは、2024年でもっとも盛り上がっている応用分野だと言えるでしょう。一文の要望を与えて、結果が出てくるのを待つのです。ChatGPTは、あなたが言ったその一文に返答します。一方エージェントは、その後ろの部分を自分で補ってくれます。たとえば「2048を作りたい」と言えば、ただ一段落の文章を返すのではなく、自分で実装の道筋を見つけてくれるのです。
MetaGPTは、一部の実装ロジックがすでに書かれた道具箱だと考えるとよいでしょう。お店に入ってウェイターに注文すると、ウェイターが厨房の大規模言語モデルに伝え、できあがった料理を運んでくる、という仕組みです。
これはミドルウェア、ミドルウェア、ミドルウェアです。 AIプロダクトではありません。厨房にいるLLMは、自分で設定しなければなりません。モデルがなければ、何も作れません。ですから、概念と安装の両方で苦労することになります。
#購読エージェントの三つの要素
入門の講義を聞いたとき、わたしは嬉しくなりました。毎日たくさんの情報を処理しているので、購読やレコメンドに大いに頼っています。もしMetaGPTを使って質の高い情報購読エージェントを作れれば、学習はずっと速くなり、コンテンツの質も自分の基準により近づくはずです。
講座全体を通して、二つの目的を持って取り組むのが適切でしょう。
- エージェントの概念を身につけ、関連するソースコードを読めるようになる
- MetaGPTを使って、GPTsよりも豊かなワークフローのオーケストレーションを作る
購読エージェントを作るには、Role、Trigger、Callbackという三つの単位が必要です。つまり、エージェントそのもの、トリガー、そしてデータのコールバックです。
- Role。 Watcherを作ります。人気のあるオープンソースプロジェクトを追跡して分析し、読む価値のある情報があればプッシュします。
- Trigger。 Watcherがいつ、どんな条件で動作するかを指定します。
- Callback。 Watcherが集めた情報を整理してから、WeChatやDiscordに送ります。
全体の形はこのとおりです。あとはすべて配線の作業です。
#リポジトリをローカルに取得する
オープンソースプロジェクトに取り組むとき最初にすることは、自分のGitHubにフォークし、それをローカルにクローンすることです。この文が初めてという方は、まずGitを学んでください。
- プロジェクトのアドレス:MetaGPTのコードリポジトリ
- 講座のドキュメント:MetaGPTエージェント開発入門
#インストールと初期化
依存関係は requirements.txt に書かれています。ご自分のマシンにPython 3が必要です。新しい仮想環境を作ることを強くおすすめします。MetaGPTは依存関係が多く、元の環境を汚してしまうことがあるからです。
python -m venv your-name-env
git clone https://github.com/geekan/MetaGPT.git
cd /your/path/to/MetaGPT
pip install -e .
ターミナルで行が次々と流れ始めたら、インストールが始まった合図です。眺めていると、なかなか気持ちがいいものです。
初めてインストールしたときは、一部の依存関係でエラーが出て、バージョンを変えても解決しませんでした。独立した仮想環境に切り替えたら直りました。
#環境変数の設定
MetaGPTはあくまでフレームワークです。実際に仕事をするのは、厨房の料理人、つまりChatGPTやClaudeのようなモデルです。環境変数は、それらを呼び出すためのキーとモデル名を入力する場所です。
config フォルダを新しく作り、config.yaml をコピーして key.yaml という名前に変更し、ファイルの項目に従って記入してください。そのうえで、次のように設定します。
export OPENAI_API_KEY="YOUR_OPENAI_API_KEY"
export OPENAI_API_MODEL="gpt-4"
キーはご自分のものを入力してください。お使いのネットワークからデフォルトのOpenAIエンドポイントに接続できない場合は、OPENAI_API_BASE を自分で設定し、実際に使っているゲートウェイを指定してください。出所の怪しい公共プロキシを設定に貼り付けるのは避けてください。
インストールが終わったら、一度実行してみましょう。
cd /your/path/to/MetaGPT/metagpt
python startup.py --idea "write a cli blackjack game"
うまくいけば、各ロールが手順ごとにログを出力するのが見えるはずです。これが「起動できた」という状態です。講座の後半は、これらのロールに、本来なら自分でやらなければならないことを実行させる内容になります。