人工知能
MetaGPT: 現在利用可能な最高の AI エージェントの完全ガイド
ChatGPT のような大規模言語モデル (LLM) により、OpenAI は企業とユーザーの導入が急増し、現在、月収約 80 万ドルを稼いでいます。 によると 最近の報告 The Information によると、サンフランシスコに本拠を置く同社は、年間収益が 1 億ドルに達するペースで進んでいると報じられています。
前回は詳しく調べました AutoGPT と GPT エンジニアリング、複雑なタスクを自動化するように設計された初期の主流のオープンソース LLM ベースの AI エージェント。 これらのシステムには有望な一方で、一貫性のない結果、パフォーマンスのボトルネック、多面的な要求の処理における制限など、それなりの問題がありました。 彼らはコード生成に熟練していることを示しますが、多くの場合、その能力はそこで止まります。 PRD 生成、技術設計生成、API インターフェイス プロトタイピングなどの重要なプロジェクト管理機能が欠けています。
入力します メタGPT— Sirui Hon による大規模言語モデルを利用するマルチエージェント システムは、標準化操作手順 (SOP) と LLM ベースのマルチエージェント システムを融合しています。 この新たなパラダイムは、複雑な現実世界のアプリケーションで効果的なコラボレーションとタスクの分解を促進する際の LLM の既存の制限を打ち破ります。
MetaGPT の美しさはその構造にあります。 メタプログラミング技術を利用して、コードをリアルタイムで操作、分析、変換します。 狙い? 動的プログラミングタスクに適応できる機敏で柔軟なソフトウェアアーキテクチャを実現します。
ここで SOP はメタ関数として機能し、定義された入力に基づいてコードを自動生成するようにエージェントを調整します。 簡単に言うと、高度に調整されたソフトウェア エンジニアのチームを適応性のあるインテリジェントなソフトウェア システムに変えたようなものです。
MetaGPT フレームワークを理解する
基礎層とコラボレーション層
MetaGPT のアーキテクチャは、基礎コンポーネント層とコラボレーション層の XNUMX つの層に分かれています。
- 基礎コンポーネント層: この層は個々のエージェントの操作に焦点を当て、システム全体の情報交換を促進します。 環境、メモリ、ロール、アクション、ツールなどのコア構成要素が導入されています。 環境は共有ワークスペースと通信経路の準備を整え、メモリは履歴データのアーカイブとして機能します。 ロールはドメイン固有の専門知識をカプセル化し、アクションはモジュール型タスクを実行し、ツールは共通のサービスを提供します。 この層は基本的にエージェントのオペレーティング システムとして機能します。 これらがどのように連携するかについての詳細は、「」の記事を参照してください。ChatGPT を超えて; AI エージェント: 労働者の新しい世界'
- コラボレーション層: 基本コンポーネントの上に構築されたこのレイヤーは、個々のエージェントの共同作業を管理および合理化します。 ナレッジ共有とワークフローのカプセル化という XNUMX つのメカニズムが導入されています。
- 知識共有: これは、エージェントを結び付ける共同接着剤として機能します。 エージェントはさまざまなレベルで情報を保存、取得、共有できるため、冗長性が削減され、運用効率が向上します。
- ワークフローのカプセル化: ここで標準化運用手順 (SOP) が登場します。 SOP は、タスクを管理可能なコンポーネントに分割する青写真として機能します。 エージェントにはこれらのサブタスクが割り当てられ、エージェントのパフォーマンスは標準化された出力と一致します。
MetaGPT では「」も使用されます。役割の定義」を使用して、上で説明したように、プロダクト マネージャー、アーキテクトなどのさまざまな専門エージェントを開始します。 これらの役割は、名前、プロフィール、目標、制約、説明などの主要な属性によって特徴付けられます。
さらに、 "アンカーエージェント」は、これらのエージェントに役割固有のガイダンスを提供します。 たとえば、プロダクト マネージャーの役割は、「成功する製品を効率的に作成する」という制約で初期化される場合があります。 アンカー エージェントは、エージェントの動作が包括的な目標と一致していることを確認し、パフォーマンスを最適化します。
MetaGPT エージェントの認知プロセス
MetaGPT は観察し、考え、反映し、行動することができます。 これらは、次のような特定の行動機能を通じて動作します。 _think()
, _observe()
, _publish_message()
この認知モデリングにより、エージェントは適応し進化できる能動的学習者となることができます。
- 観察する: エージェントは環境をスキャンし、主要なデータをメモリに組み込みます。
- 考えて考える: を通って
_think()
機能、役割は、行動を起こす前に熟慮する必要があります。 - ブロードキャストメッセージ: 使用したエージェント
_publish_message()
現在のタスクのステータスと関連するアクション記録を共有します。 - 知識の蓄積と行動: エージェントは受信メッセージを評価し、内部リポジトリを更新してから、次のアクションを決定します。
- 国家管理: タスクのロックやステータスの更新などの機能を使用すると、ロールは複数のアクションを中断することなく連続して処理でき、現実世界の人間のコラボレーションを反映できます。
MetaGPT のコードレビューメカニズム
コード レビューはソフトウェア開発ライフ サイクルにおいて重要なコンポーネントですが、いくつかの一般的なフレームワークには含まれていません。 MetaGPT と エージェントバース コードレビュー機能をサポートしていますが、MetaGPT はさらに一歩進んでいます。 また、プリコンパイルの実行も組み込まれているため、早期のエラー検出に役立ち、その後コードの品質が向上します。 コーディングの反復的な性質を考慮すると、この機能は単なるアドオンではなく、成熟した開発フレームワークの要件となります。
いくつかのタスクにわたって行われた定量的実験により、MetaGPT がほぼすべてのシナリオで同等のパフォーマンスを上回っていることが明らかになりました。 Pass@1 は、1 回の反復で正確なコードを生成するフレームワークの能力の尺度です。 この指標は、実際の設定におけるフレームワークの有用性をより現実的に反映しています。 Pass@XNUMX 率が高いほど、デバッグが減り効率が向上することを意味し、開発サイクルとコストに直接影響します。 他の高度なコード生成ツールとスタックした場合 コードX, コードT、さらには GPT-4、MetaGPT 優れたパフォーマンス モール。 フレームワークが達成できる能力 視聴者の38%が 〜へ 視聴者の38%が Pass@1 レートをオンにする HumanEval および MBPP ベンチマーク。
また、このフレームワークは使用するトークンと計算リソースが少なく、従来のソフトウェア エンジニアリング コストの数分の XNUMX で高い成功率を達成します。 データによると、平均コストはちょうど $1.09 MetaGPT を使用したプロジェクトごとの料金は、開発者が同じタスクに対して請求する料金のほんの一部です。
MetaGPT をシステムにローカルにインストールする手順
NPM、Python のインストール
- NPM の確認とインストール: まず最初に、NPM がシステムにインストールされていることを確認してください。そうでない場合は、インストールする必要があります Node.jsの。 npm があるかどうかを確認するには、ターミナルで次のコマンドを実行します。
npm --version
。 バージョン番号が表示されたら、準備完了です。 - インストールするには
mermaid-js
、MetaGPT の依存関係、次を実行します。sudo npm install -g @mermaid-js/mermaid-cli
ornpm install -g @mermaid-js/mermaid-cli
- Python のバージョンを確認する: Python 3.9 以降を使用していることを確認してください。 Python のバージョンを確認するには、ターミナルを開いて次のように入力します。
python --version
。 最新でない場合は、次のサイトから最新バージョンをダウンロードしてください。 パイソン公式サイト. - MetaGPT リポジトリのクローンを作成する: コマンドを使用して MetaGPT GitHub リポジトリのクローンを作成することから始めます。
git clone https://github.com/geekan/metagpt
。 このために、システムに Git がインストールされていることを確認してください。 そうでない場合は、訪問してください こちら. - ディレクトリに移動します: クローンを作成したら、次のコマンドを使用して MetaGPT ディレクトリに移動します。
cd metagpt
. - インストール: 次のコマンドで Python セットアップ スクリプトを実行し、MetaGPT をインストールします。
python setup.py install
. - アプリケーションの作成: 実行
python startup.py "ENTER-PROMPT" --code_review True
Note:
- 新しいプロジェクトは現在、
workspace/
ディレクトリにあります。 --code_review True
GPT モデルは追加の操作を実行できるようになり、コードが正確に実行されるようになりますが、コストが高くなることに注意してください。- インストール中に権限エラーが発生した場合は、実行してみてください。
python setup.py install --user
代わりに。 - 特定のリリースへのアクセスと詳細については、公式 MetaGPT GitHub リリース ページにアクセスしてください。 MetaGPT リリース.
Docker のインストール
コンテナ化を好む人のために、Docker はプロセスを簡素化します。
- Docker イメージをプルする: MetaGPT 公式イメージをダウンロードし、構成ファイルを準備します。
docker pull metagpt/metagpt:v0.3.1
mkdir -p /opt/metagpt/{config,workspace}
docker run --rm metagpt/metagpt:v0.3.1 cat /app/metagpt/config/config.yaml > /opt/metagpt/config/key.yaml
vim /opt/metagpt/config/key.yaml
- MetaGPTコンテナを実行する: 次のコマンドを使用してコンテナを実行します。
docker run --rm --privileged \
-v /opt/metagpt/config/key.yaml:/app/metagpt/config/key.yaml \
-v /opt/metagpt/workspace:/app/metagpt/workspace \
metagpt/metagpt:v0.3.1 \
python startup.py "Create a simple and interactive CLI based rock, paper and scissors game" --code_review True
OpenAI API キーを使用した MetaGPT の構成
初期セットアップ後、MetaGPT を OpenAI API キーと統合する必要があります。 その手順は次のとおりです。
- OpenAI キーを検索または生成する: このキーは、API 設定の下の OpenAI ダッシュボードにあります。
- APIキーを設定する: API キーを次のいずれかに配置するオプションがあります。
config/key.yaml
,config/config.yaml
、または環境変数として設定します (env
)。 優先順位はconfig/key.yaml > config/config.yaml > env
. - キーを設定するには、次の場所に移動します。
config/key.yaml
そして、プレースホルダーのテキストを OpenAI キーに置き換えます。OPENAI_API_KEY: "sk-..."
OpenAI API キーを忘れずに保護してください。 公開リポジトリにコミットしたり、権限のない個人と共有したりしないでください。
使用例の図
CLI ベースのじゃんけんゲームを開発するという目標を与えたところ、MetaGPT はそのタスクを正常に実行しました。
以下は、生成されたゲーム コードの実際の実行を紹介するビデオです。
MetaGPT デモの実行
MetaGPT は、一般的に使用される軽量マークアップ言語である Markdown でシステム設計ドキュメントを提供しました。 この Markdown ファイルには UML 図が豊富に含まれているため、アーキテクチャの青写真を詳細に表示できます。 さらに、HTTP メソッド、エンドポイント、リクエスト/レスポンス オブジェクト、ステータス コードなどの API 仕様が詳細に説明されました。
クラス図は、私たちのクラスの属性とメソッドを詳しく説明しています。 Game
クラスを使用して、理解しやすい抽象化を提供します。 プログラムの呼び出しフローも視覚化し、抽象的なアイデアを効果的に具体的なステップに変換します。
これにより、計画における手動のオーバーヘッドが大幅に削減されるだけでなく、意思決定プロセスが加速され、開発パイプラインの機敏性が確保されます。 MetaGPT を使用すると、コード生成を自動化するだけでなく、インテリジェントなプロジェクト計画も自動化できるため、迅速なアプリケーション開発における競争力が高まります。
結論: MetaGPT — ソフトウェア開発に革命を起こす
MetaGPT は生成 AI とソフトウェア開発の状況を再定義し、インテリジェントな自動化とアジャイルなプロジェクト管理のシームレスな融合を提供します。 ChatGPT、AutoGPT、従来の LangChain モデルの機能をはるかに上回り、タスクの分解、効率的なコード生成、プロジェクト計画に優れています。 詳しくはこちら
この記事の主なポイントは次のとおりです。
- メタプログラミングの力: MetaGPT は、メタプログラミングを採用することで、機敏で適応性のあるソフトウェア フレームワークを提供します。 従来のツールの狭い機能を超え、コーディングだけでなくプロジェクト管理や意思決定の側面も扱う革新的なアプローチを導入します。
- XNUMX層アーキテクチャ: MetaGPT は、その基礎層と協調層により、専門家が管理するソフトウェア チームのように、エージェントが連携して作業できる相乗効果のあるエコシステムを効果的に作成します。
- 最適化されたコードレビュー: MetaGPT はコードを生成するだけでなく、本質的にエラーの早期警告システムであるプリコンパイル実行機能を提供します。 これにより、デバッグ時間が節約されるだけでなく、コードの品質も保証されます。
- 認知エージェント: MetaGPT のインテリジェント エージェントは、_observe()、_think()、_publish_message() などのコグニティブ機能を備え、進化して適応し、ソフトウェア ソリューションがコーディングされているだけでなく「インテリジェント」であることを保証します。
- インストールと展開: npm と Python によるローカル インストールでも、Docker によるコンテナ化でも、MetaGPT を簡単にセットアップできることを説明しました。