AI・機械学習
上級
MetaGPT(メタジーピーティー)
ソフトウェア開発チームをシミュレートするマルチエージェントLLMフレームワーク。プロダクトマネージャー・アーキテクト・エンジニア・QAなどの役割を持つエージェントが協調し、自然言語の要件からコードを自動生成する。
0 回閲覧
0 いいね
2026/6/7 更新
関連タグ
マルチエージェント
ソフトウェア開発自動化
LLM
コード生成
SOP
MetaGPTとは
MetaGPTはDeepWisdom社が2023年8月に発表したマルチエージェントフレームワーク。論文「MetaGPT: Meta Programming for A Multi-Agent Collaborative Framework」として学術的にも発表された。
設計哲学: SOPのメタプログラミング
MetaGPTの核心はSOP(Standard Operating Procedure: 標準作業手順)をコードで定義するという発想。人間のソフトウェア開発チームがPRD→設計→実装→テストという手順を守るように、MetaGPTのエージェントも構造化された手順に従って情報を引き継ぐ。
標準ロール
- ProductManager: 要件分析・PRD作成
- Architect: システム設計・API定義
- ProjectManager: タスク分割・工数見積
- Engineer: コード実装
- QaEngineer: テスト設計・実行
基本的な使い方
# インストール
pip install metagpt
# 設定
metagpt --init-config
# ソフトウェア開発の自動実行
metagpt "スネークゲームをPythonで作って"
これだけで/workspace以下にPRD・設計書・実装コード・テストが生成される。
Pythonでのカスタム利用
import asyncio
from metagpt.roles import ProductManager, Architect, Engineer
from metagpt.team import Team
async def main():
team = Team()
team.hire([ProductManager(), Architect(), Engineer()])
team.invest(investment=3.0) # LLM APIコスト上限(USD)
team.run_project("タスク管理Webアプリ(React + FastAPI)を作って")
await team.run(n_round=5)
asyncio.run(main())
カスタムRoleの定義
from metagpt.roles import Role
from metagpt.actions import Action
class CodeReviewer(Role):
name: str = "コードレビュアー"
profile: str = "Senior Engineer"
def __init__(self, **kwargs):
super().__init__(**kwargs)
self._init_actions([ReviewCode])
DataInterpreter
2024年にリリースされた特殊エージェント。データ分析タスクに特化し、コードを段階的に生成・実行しながら問題を解決する。
from metagpt.roles.di.data_interpreter import DataInterpreter
di = DataInterpreter()
await di.run("titanic.csvを分析して生存率に影響する要因をビジュアライズして")
SWE-Bench評価での成果
MetaGPTはSWE-Bench(実際のGitHubイシューを解決するベンチマーク)でAutoGenやChatDevを上回るスコアを記録している。
他フレームワークとの比較
- MetaGPT: SOP構造化・ソフトウェア開発特化
- AutoGen: 会話型・汎用タスク向け
- CrewAI: 役割宣言型・ビジネスワークフロー向け