🎉
MetaGPT使ってみた
目次
- MetaGPTとは
- 動かしてみる
- 次回の展望
MetaGPTとは
こちらの論文で紹介されているMetaGPTが気になったので調べてみました
- ChatGPT4ベースのメタプログラミングフレームワーク
- 人間の作業手順SOPsを参考に役割を特化させたエージェントを立てる
- プロダクトマネージャー、アーキテクト、プロジェクトマネージャー、エンジニア、QAエンジニアの5種類
- 各エージェントは構造化された厳格な出力を生成する
- 要件文書、フローチャートなど
- これによりエージェント間の情報欠落を防ぎ効率よくタスクをこなせる
- 出力した成果物はメッセージプールに入りいつでもアクセス可能
- コード生成後に段階的に改善することで品質を高める
- コード生成においてSOTA達成
- 必要なトークン数も少なくて済む
という内容です
うまく使えば、開発等の様々な場面で使えるかもしれませんね!
コードはこちらで公開されています
動かしてみる
早速Colabで動かしてみました
!git clone https://github.com/geekan/metagpt
%cd metagpt
!pip install -e.
import os
os.environ['OPENAI_API_KEY'] = "OpenAI APIの認証トークン"
!python /content/metagpt/startup.py "Create a simple calculator app" --run_tests True
これだけで実行できます
API叩くだけなのでGPUも使いません
指示は「Create a simple calculator app」としてシンプルな計算器を作ってもらいます
2023-11-16 06:18:41.098 | INFO | metagpt.const:get_project_root:27 - PROJECT_ROOT set to current working directory: /content
2023-11-16 06:18:41.319 | INFO | metagpt.config:__init__:44 - Config loading done.
2023-11-16 06:18:45.106 | INFO | metagpt.team:invest:39 - Investment: $3.0.
2023-11-16 06:18:45.107 | INFO | metagpt.roles.role:_act:207 - Alice(Product Manager): ready to WritePRD
## Original Requirements
The original requirement is to create a simple calculator app.
## Product Goals
```python
[
"Create a user-friendly calculator app",
"Ensure accurate calculations for basic arithmetic operations",
"Provide a visually appealing and intuitive interface"
]
```
## User Stories
```python
[
"As a user, I want to perform basic arithmetic operations so that I can solve simple mathematical problems",
"As a user, I want to clear my calculations so that I can start a new calculation",
"As a user, I want to see a history of my past calculations so that I can refer back to them",
"As a user, I want to use the calculator on various devices so that I can calculate anytime, anywhere"
]
```
このような標準出力が出力されてきます
約10分で完了
費用は1ドル弱
成果物はColab上にファイルでも出力されます
ローカルに落として動かしてみました
1行だけ修正が必要でしたが、こんな感じで計算器ができました(ちゃんと動きます)
次回の展望
こういった技術を様々な場面で使えるよう、練習も兼ねて
- Web UIにする
- 日本語対応させる
- ChatGPTでなく自前のモデルでも動かせるようにする
あたりに挑戦してみようと思います
Discussion