Skip to main content

The Multi-Agent Framework

Project description

MetaGPT: The Multi-Agent Framework

MetaGPT logo: Enable GPT to work in a software company, collaborating to tackle more complex tasks.

Assign different roles to GPTs to form a collaborative entity for complex tasks.

CN doc EN doc FR doc JA doc License: MIT roadmap Discord Follow Twitter Follow

Open in Dev Containers Open in GitHub Codespaces Hugging Face

News

🚀 Feb. 19, 2025: Today we are officially launching our natural language programming product: MGX (MetaGPT X) - the world's first AI agent development team. Offical website Twitter

🚀 Feb. 17, 2025: We introduced two papers: SPO and AOT, check the code!

🚀 Jan. 22, 2025: Our paper AFlow: Automating Agentic Workflow Generation accepted for oral presentation (top 1.8%) at ICLR 2025, ranking #2 in the LLM-based Agent category.

🚀 Oct. 29, 2024: We introduced three papers: AFLOW, FACT, and SELA, check the code!

🚀 Mar. 29, 2024: v0.8.0 released. Now you can use Data Interpreter (arxiv, example, code) via pypi package import. Meanwhile, we integrated the RAG module and supported multiple new LLMs.

🚀 Feb. 08, 2024: v0.7.0 released, supporting assigning different LLMs to different Roles. We also introduced Data Interpreter, a powerful agent capable of solving a wide range of real-world problems.

🚀 Jan. 16, 2024: Our paper MetaGPT: Meta Programming for A Multi-Agent Collaborative Framework accepted for oral presentation (top 1.2%) at ICLR 2024, ranking #1 in the LLM-based Agent category.

🚀 Jan. 03, 2024: v0.6.0 released, new features include serialization, upgraded OpenAI package and supported multiple LLM, provided minimal example for debate etc.

🚀 Dec. 15, 2023: v0.5.0 released, introducing some experimental features such as incremental development, multilingual, multiple programming languages, etc.

🔥 Nov. 08, 2023: MetaGPT is selected into Open100: Top 100 Open Source achievements.

🔥 Sep. 01, 2023: MetaGPT tops GitHub Trending Monthly for the 17th time in August 2023.

🌟 Jun. 30, 2023: MetaGPT is now open source.

🌟 Apr. 24, 2023: First line of MetaGPT code committed.

Software Company as Multi-Agent System

  1. MetaGPT takes a one line requirement as input and outputs user stories / competitive analysis / requirements / data structures / APIs / documents, etc.
  2. Internally, MetaGPT includes product managers / architects / project managers / engineers. It provides the entire process of a software company along with carefully orchestrated SOPs.
    1. Code = SOP(Team) is the core philosophy. We materialize SOP and apply it to teams composed of LLMs.

A software company consists of LLM-based roles

Software Company Multi-Agent Schematic (Gradually Implementing)

Get Started

Installation

Ensure that Python 3.9 or later, but less than 3.12, is installed on your system. You can check this by using: python --version.
You can use conda like this: conda create -n metagpt python=3.9 && conda activate metagpt

pip install --upgrade metagpt
# or `pip install --upgrade git+https://github.com/geekan/MetaGPT.git`
# or `git clone https://github.com/geekan/MetaGPT && cd MetaGPT && pip install --upgrade -e .`

For detailed installation guidance, please refer to cli_install or docker_install

Configuration

You can init the config of MetaGPT by running the following command, or manually create ~/.metagpt/config2.yaml file:

# Check https://docs.deepwisdom.ai/main/en/guide/get_started/configuration.html for more details
metagpt --init-config  # it will create ~/.metagpt/config2.yaml, just modify it to your needs

You can configure ~/.metagpt/config2.yaml according to the example and doc:

llm:
  api_type: "openai"  # or azure / ollama / groq etc. Check LLMType for more options
  model: "gpt-4-turbo"  # or gpt-3.5-turbo
  base_url: "https://api.openai.com/v1"  # or forward url / other llm url
  api_key: "YOUR_API_KEY"

Usage

After installation, you can use MetaGPT at CLI

metagpt "Create a 2048 game"  # this will create a repo in ./workspace

or use it as library

from metagpt.software_company import generate_repo, ProjectRepo
repo: ProjectRepo = generate_repo("Create a 2048 game")  # or ProjectRepo("<path>")
print(repo)  # it will print the repo structure with files

You can also use Data Interpreter to write code:

import asyncio
from metagpt.roles.di.data_interpreter import DataInterpreter

async def main():
    di = DataInterpreter()
    await di.run("Run data analysis on sklearn Iris dataset, include a plot")

asyncio.run(main())  # or await main() in a jupyter notebook setting

QuickStart & Demo Video

https://github.com/geekan/MetaGPT/assets/34952977/34345016-5d13-489d-b9f9-b82ace413419

Tutorial

Support

Discord Join US

📢 Join Our Discord Channel! Looking forward to seeing you there! 🎉

Contributor form

📝 Fill out the form to become a contributor. We are looking forward to your participation!

Contact Information

If you have any questions or feedback about this project, please feel free to contact us. We highly appreciate your suggestions!

We will respond to all questions within 2-3 business days.

Citation

To stay updated with the latest research and development, follow @MetaGPT_ on Twitter.

To cite MetaGPT or Data Interpreter in publications, please use the following BibTeX entries.

@inproceedings{hong2024metagpt,
      title={Meta{GPT}: Meta Programming for A Multi-Agent Collaborative Framework},
      author={Sirui Hong and Mingchen Zhuge and Jonathan Chen and Xiawu Zheng and Yuheng Cheng and Jinlin Wang and Ceyao Zhang and Zili Wang and Steven Ka Shing Yau and Zijuan Lin and Liyang Zhou and Chenyu Ran and Lingfeng Xiao and Chenglin Wu and J{\"u}rgen Schmidhuber},
      booktitle={The Twelfth International Conference on Learning Representations},
      year={2024},
      url={https://openreview.net/forum?id=VtmBAGCN7o}
}
@misc{teng2025atom,
      title={Atom of Thoughts for Markov LLM Test-Time Scaling}, 
      author={Fengwei Teng and Zhaoyang Yu and Quan Shi and Jiayi Zhang and Chenglin Wu and Yuyu Luo},
      year={2025},
      eprint={2502.12018},
      archivePrefix={arXiv},
      primaryClass={cs.CL},
      url={https://arxiv.org/abs/2502.12018}, 
}
@misc{xiang2025self,
      title={Self-Supervised Prompt Optimization}, 
      author={Jinyu Xiang and Jiayi Zhang and Zhaoyang Yu and Fengwei Teng and Jinhao Tu and Xinbing Liang and Sirui Hong and Chenglin Wu and Yuyu Luo},
      year={2025},
      eprint={2502.06855},
      archivePrefix={arXiv},
      primaryClass={cs.CL},
      url={https://arxiv.org/abs/2502.06855}, 
}
@inproceedings{wang2025fact,
      title={FACT: Examining the Effectiveness of Iterative Context Rewriting for Multi-fact Retrieval}, 
      author={Jinlin Wang and Suyuchen Wang and Ziwen Xia and Sirui Hong and Yun Zhu and Bang Liu and Chenglin Wu},
      booktitle={The 2025 Annual Conference of the Nations of the Americas Chapter of the ACL},
      year={2025},
      url={https://openreview.net/forum?id=VXOircx5h3}
}
@misc{chi2024sela,
      title={SELA: Tree-Search Enhanced LLM Agents for Automated Machine Learning}, 
      author={Yizhou Chi and Yizhang Lin and Sirui Hong and Duyi Pan and Yaying Fei and Guanghao Mei and Bangbang Liu and Tianqi Pang and Jacky Kwok and Ceyao Zhang and Bang Liu and Chenglin Wu},
      year={2024},
      eprint={2410.17238},
      archivePrefix={arXiv},
      primaryClass={cs.AI},
      url={https://arxiv.org/abs/2410.17238}, 
}
@inproceedings{zhang2025aflow,
      title={{AF}low: Automating Agentic Workflow Generation},
      author={Jiayi Zhang and Jinyu Xiang and Zhaoyang Yu and Fengwei Teng and Xiong-Hui Chen and Jiaqi Chen and Mingchen Zhuge and Xin Cheng and Sirui Hong and Jinlin Wang and Bingnan Zheng and Bang Liu and Yuyu Luo and Chenglin Wu},
      booktitle={The Thirteenth International Conference on Learning Representations},
      year={2025},
      url={https://openreview.net/forum?id=z5uVAKwmjf}
}
@misc{hong2024data,
      title={Data Interpreter: An LLM Agent For Data Science}, 
      author={Sirui Hong and Yizhang Lin and Bang Liu and Bangbang Liu and Binhao Wu and Danyang Li and Jiaqi Chen and Jiayi Zhang and Jinlin Wang and Li Zhang and Lingyao Zhang and Min Yang and Mingchen Zhuge and Taicheng Guo and Tuo Zhou and Wei Tao and Wenyi Wang and Xiangru Tang and Xiangtao Lu and Xiawu Zheng and Xinbing Liang and Yaying Fei and Yuheng Cheng and Zongze Xu and Chenglin Wu},
      year={2024},
      eprint={2402.18679},
      archivePrefix={arXiv},
      primaryClass={cs.AI},
      url={https://arxiv.org/abs/2402.18679}, 
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

metagpt-0.8.2.tar.gz (434.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

metagpt-0.8.2-py3-none-any.whl (587.5 kB view details)

Uploaded Python 3

File details

Details for the file metagpt-0.8.2.tar.gz.

File metadata

  • Download URL: metagpt-0.8.2.tar.gz
  • Upload date:
  • Size: 434.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.21

File hashes

Hashes for metagpt-0.8.2.tar.gz
Algorithm Hash digest
SHA256 e7a7b39288b0494657bf94f22cf82a70e34459faadcf2ff263be193c814a2ef2
MD5 4b38af5dd4a052655953b5d0bb87377f
BLAKE2b-256 7830771db8e7c604a11b49d6f57ef70160d660e077afc8454906284fa51cb902

See more details on using hashes here.

File details

Details for the file metagpt-0.8.2-py3-none-any.whl.

File metadata

  • Download URL: metagpt-0.8.2-py3-none-any.whl
  • Upload date:
  • Size: 587.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.21

File hashes

Hashes for metagpt-0.8.2-py3-none-any.whl
Algorithm Hash digest
SHA256 aa077423aad6ed5e2cef762a71f028b54105adb3776a76cdcadc80aa716ff611
MD5 f14054030f81ac8300e702366bad3ce5
BLAKE2b-256 6fea46c937897f56c3a8b51aa4e14c6cefd3eb5b2843e73ed4565d24b7fa62f2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page