AGI a budoucnost AI

MetaGPT: Úplný Průvodce Nejlepším AI Agentem K Dispozici

mm
Přidejte Unite.AI mezi své preferované zdroje na Google

S velkými jazykovými modely (LLM) jako ChatGPT zaznamenala OpenAI nárůst podnikového a uživatelského přijetí,目前 generuje kolem 80 milionů dolarů měsíčních příjmů. Podle nedávné zprávy od The Information je sanfranciská společnost údajně na cestě k dosažení 1 miliardy dolarů ročních příjmů.

Minulýkrát jsme se ponořili do AutoGPT a GPT-Engineering, raných mainstream open-source LLM-založených AI agentů navržených pro automatizaci složitých úkolů. Ačkoli slibných, tyto systémy měly své vlastní problémy: nekonzistentní výsledky, výkonové úzká místa a omezení při zpracování multifaceted požadavků. Ukázaly se být schopné generovat kód, ale jejich schopnosti často končily tam. Chyběly jim kritické projektové manažerské funkcionality, jako je generování PRD, technické návrhové generování a prototypování rozhraní API.

Vstupuje MetaGPT — multi-agentní systém, který využívá velké jazykové modely od Siraui Honga, který kombinuje standardizované provozní postupy (SOP) s LLM-založenými multi-agentními systémy. Tento vznikající paradigmatický rámec narušuje stávající omezení LLM při podpoře efektivní spolupráce a rozdělení úkolů v komplexních, reálných aplikacích.

Krása MetaGPT spočívá ve své struktuře. Utilizuje meta-programovací techniky pro manipulaci, analýzu a transformaci kódu v reálném čase. Cílem je vytvořit agilní, flexibilní softwarovou architekturu, která se může přizpůsobit dynamickým programovacím úkolům.

Agile Development - Metagpt

Agile Development

SOPs zde fungují jako meta-funkce, koordinující agenty pro automatickou generaci kódu na základě definovaných vstupů. Jednoduše řečeno, je to jako byste měli vysoce koordinovaný tým softwarových inženýrů, kteří se změnili v adaptabilní, inteligentní softwarový systém.

Pochopení Rámce MetaGPT

Základní & Spolupráce Vrstvy

Architektura MetaGPT je rozdělena do dvou vrstev: Základní Komponenty Vrstvy a Spolupráce Vrstvy.

  1. Základní Komponenty Vrstva: Tato vrstva se zaměřuje na individuální operace agentů a usnadňuje systémový výměnný provoz. Zavádí základní stavební bloky, jako je Prostředí, Paměť, Role, Akce a Nástroje. Prostředí nastavuje scénu pro sdílené pracovní prostory a komunikační cesty, zatímco Paměť slouží jako historická datová archiva. Role zahrnují doménově specifické znalosti, Akce provádějí modulární úkoly a Nástroje nabízejí společné služby. Tato vrstva essenciálně slouží jako operační systém pro agenty. Více informací o tom, jak tyto prvky fungují společně, naleznete v článku ‘Beyond ChatGPT; AI Agent: A New World of Workers
  2. Spolupráce Vrstva: Postavená na základních komponentách, tato vrstva spravuje a optimalizuje spolupráci jednotlivých agentů. Zavádí dva mechanismy: Sdílení Znalostí a Zabalení Pracovních Procesů.
    • Sdílení Znalostí: Tato funkce funguje jako spolupráce, která spojuje agenty. Agenty mohou ukládat, načítat a sdílet informace na různých úrovních, a tím snižovat redundanci a zvyšovat provozní efektivitu.
    • Zabalení Pracovních Procesů: Toto je místo, kde se používají Standardizované Provozní Postupy (SOP). SOP fungují jako modrá tiskopisy, které rozdělují úkoly na zvládnutelné komponenty. Agenty jsou přiřazeny k těmto sub-úkolům a jejich výkon je sladěn se standardizovanými výstupy.

MetaGPT také používá “Role Definice” pro inicializaci různých specializovaných agentů, jako jsou Produktoví Manažeři, Architekti atd., jak jsme diskutovali výše. Tyto role jsou charakterizovány klíčovými atributy, jako je název, profil, cíl, omezení a popis.

Navíc, “Anchor Agenty” poskytuje roli-specifické vedení pro tyto agenty. Například, roli Produktového Manažera lze inicializovat s omezením “efektivně vytvářet úspěšný produkt.” Anchor agenty zajišťují, aby chování agentů bylo sladěno s cíli, a tím optimalizují výkon.

Kognitivní Procesy v MetaGPT Agentech

MetaGPT může pozorovat, myslet, reflektovat a jednat. Prostřednictvím specifických behaviorálních funkcí, jako jsou _think(), _observe(), _publish_message() atd., je tento kognitivní model vybaven agenty, aby se staly aktivními učiteli, kteří se mohou přizpůsobit a evolovat.

  1. Pozorovat: Agenty skenují své prostředí a začleňují klíčová data do své Paměti.
  2. Myslet & Reflektovat: Prostřednictvím _think() funkce, role uvažují, než podniknou akce.
  3. Vysílat Zprávy: Agenty používají _publish_message() k sdílení aktuálních stavů úkolů a souvisejících akčních záznamů.
  4. Znalostní Srážka & Jednat: Agenty hodnotí příchozí zprávy a aktualizují své vnitřní repozitáře, než se rozhodnou pro další kurz akce.
  5. Stavový Management: S funkcemi, jako je uzamčení úkolů a aktualizace stavu, mohou role zpracovat více akcí sekvenčně bez přerušení, což odráží spolupráci v reálném světě.

Kód-Recenze Mechanismy pro MetaGPT

Kód-Recenze je kritickou součástí softwarového vývojového cyklu, ale chybí v několika populárních rámcích. MetaGPT i AgentVerse podporují kód-Recenzi, ale MetaGPT jde o krok dále. Zahrnuje také prekompilační spuštění, které pomáhá při rané detekci chyb a následně zvyšuje kvalitu kódu. Vzhledem k iterativnímu charakteru kódování je tato funkce nejen doplňkem, ale požadavkem pro jakýkoli zralý vývojový rámec.

Kvantitativní experimenty provedené napříč několika úkoly odhalily, že MetaGPT překonal své protějšky v téměř všech scénářích. Pass@1 je mírou schopnosti rámce generovat přesný kód v jediné iteraci. Tento metrik nabízí více realistický odraz rámce ve praktickém nastavení. Vyšší míra Pass@1 znamená méně ladění a více efektivity, což přímo ovlivňuje vývojové cykly a náklady. Když je srovnán s jinými pokročilými nástroji pro generování kódu, jako je CodeX, CodeT a dokonce GPT-4, MetaGPT překonal je všechny. Schopnost rámce dosáhnout 81,7%82,3% míry Pass@1 na HumanEval a MBPP benchmarcích.

Comparing MBPP and HumanEval Metrics b/w MetaGPT and other Leading Models (https://arxiv.org/pdf/2308.00352.pdf)

Comparing MBPP and HumanEval Metrics b/w MetaGPT and other Leading Models (https://arxiv.org/pdf/2308.00352.pdf)

Rámec také využívá méně tokenů a výpočetních zdrojů, dosahuje vysoké míry úspěchu za zlomek tradičních nákladů na softwarové inženýrství. Data ukazovala průměrné náklady ve výši pouhých $1,09 na projekt s MetaGPT, což je zlomek toho, co by vývojář účtoval za stejnou úlohu.

Kroky pro Místní Instalaci MetaGPT na Vašem Systému

NPM, Python Instalace

  1. Zkontrolujte & Nainstalujte NPM: Nejdříve zkontrolujte, zda je NPM nainstalován na vašem systému. Pokud ne, budete muset nainstalovat node.js. Chcete-li zkontrolovat, zda máte npm, spusťte tento příkaz v terminálu: npm --version. Pokud uvidíte číslo verze, jste v pořádku.
  2. Chcete-li nainstalovat mermaid-js, závislost pro MetaGPT, spusťte: sudo npm install -g @mermaid-js/mermaid-cli nebo npm install -g @mermaid-js/mermaid-cli
  3. Ověření Verze Pythonu: Ujistěte se, že máte Python 3.9 nebo novější. Chcete-li zkontrolovat verzi Pythonu, otevřete terminál a zadejte: python --version. Pokud nejste aktuální, stáhněte nejnovější verzi z oficiálních stránek Pythonu.
  4. Klonování Repozitáře MetaGPT: Začněte klonováním repozitáře MetaGPT na GitHubu pomocí příkazu git clone https://github.com/geekan/metagpt. Ujistěte se, že máte Git nainstalován ve svém systému pro tento krok. Pokud ne, navštivte zde.
  5. Navigace do Adresáře: Jakmile jste naklonovali, navigujte do adresáře MetaGPT pomocí příkazu cd metagpt.
  6. Instalace: Spusťte skript nastavení Pythonu pro instalaci MetaGPT pomocí příkazu python setup.py install.
  7. Vytvořte Aplikaci: Spusťte python startup.py "ENTER-PROMPT" --code_review True

Poznámka:

  • Vaše nová projektová složka by nyní měla být v workspace/ adresáři.
  • --code_review True umožní modelu GPT provést další operace, které zajistí, že kód běží přesně, ale poznamenejte si, že to bude stát více.
  • Pokud během instalace narazíte na chybu oprávnění, zkuste spustit python setup.py install --user jako alternativu.
  • Pro přístup k konkrétním verzím a dalším podrobnostem navštivte oficiální stránku vydání MetaGPT na GitHubu: MetaGPT Releases.

Docker Instalace

Pro ty, kteří preferují kontejnerizaci, Docker zjednodušuje proces:

  • Stáhněte Docker Image: Stáhněte oficiální obraz MetaGPT a připravte konfigurační soubor:
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
  • Spuštění Kontejneru MetaGPT: Spusťte kontejner pomocí následujícího příkazu:
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

Konfigurace MetaGPT s Vaším OpenAI API Klíčem

Po počáteční instalaci budete muset integrovat MetaGPT s Vaším OpenAI API Klíčem. Zde jsou kroky, jak to udělat:

  1. Najděte nebo Vygenerujte Svůj OpenAI Klíč: Můžete tento klíč najít ve svém OpenAI Dashboardu v části API nastavení.
  2. Nastavte API Klíč: Máte možnost umístit API klíč do config/key.yaml, config/config.yaml nebo nastavit ho jako proměnnou prostředí (env). Přednostní pořadí je config/key.yaml > config/config.yaml > env.
  3. Chcete-li nastavit klíč, navigujte do config/key.yaml a nahraďte placeholder text svým OpenAI klíčem: OPENAI_API_KEY: "sk-..."

Pamatujte, abyste chránili svůj OpenAI API Klíč. Nikdy ho nekomitujte do veřejného repozitáře nebo nesdílejte ho s neoprávněnými osobami.

Příklad Použití

Dal jsem cíl vyvinout CLI-založenou hru kámen, nůžky, papír a MetaGPT úspěšně splnila úkol.

Níže je video, které ukazuje skutečný běh vygenerovaného herního kódu.

MetaGPT Demo Run

MetaGPT poskytla systémový návrhový dokument v Markdown — běžně používaném lehkém značkovacím jazyce. Tento Markdown soubor byl plný UML diagramů, což nabízelo podrobný pohled na architektonický plán. Kromě toho byly specifikace API detailně popsány s HTTP metodami, koncovými body, objekty požadavků a odpovědí a stavovými kódy

MetaGPT Output - System Design

MetaGPT Output – System Design Markdown

Třída diagramu podrobně popisuje atributy a metody naší Game třídy, poskytující abstrakci, která je snadná na pochopení. Dokonce vizualizuje tok volání programu, efektivní přeměnu abstraktních nápadů na konkrétní kroky.

Nejenže toto výrazně snižuje manuální zátěž při plánování, ale také urychluje proces rozhodování, zajišťuje, aby váš vývojový proces zůstal agilní. S MetaGPT nejste pouze automatizujete generování kódu, ale také inteligentní projektové plánování, což poskytuje konkurenční výhodu v rychlém vývoji aplikací.

Závěr: MetaGPT — Revolucionalizuje Softwarový Vývoj

MetaGPT předefinuje krajinu generativního AI a softwarového vývoje, nabízející bezproblémovou kombinaci inteligentní automatizace a agilního projektového managementu. Překonává schopnosti ChatGPT, AutoGPT a tradičních LangChain modelů, vyniká v rozdělení úkolů, efektivní generaci kódu a projektovém plánování. Další informace najdete na

Zde jsou klíčová zjištění z tohoto článku:

  1. Síla Meta-Programování: Používáním meta-programování MetaGPT poskytuje agilní a adaptabilní softwarovou architekturu. Překonává úzkou funkčnost zastaralých nástrojů a představuje transformační přístup, který zahrnuje nejen kódování, ale také projektový management a rozhodovací aspekty.
  2. Dvouvrstvá Architektura: S svými základními a spolupráce vrstvami MetaGPT efektivně vytváří synergický ekosystém, ve kterém agenty mohou pracovat koordinovaně, podobně jako expertně řízený softwarový tým.
  3. Optimalizovaná Kód-Recenze: Kromě generování kódu MetaGPT nabízí také prekompilační spuštění, což je v podstatě systém pro ranou detekci chyb. To nejen šetří čas ladění, ale také zajišťuje kvalitu kódu.
  4. Kognitivní Agenty: Inteligentní agenty MetaGPT, vybavené kognitivními funkcemi, jako je _observe(), _think() a _publish_message(), se vyvíjejí a přizpůsobují, zajišťují, aby vaše softwarová řešení nebyla pouze kódována, ale také “inteligentní”.
  5. Instalace & Nasazení: Ukázali jsme, že MetaGPT lze snadno nainstalovat, ať už preferujete lokální instalaci pomocí npm a Pythonu, nebo kontejnerizaci pomocí Dockeru.

Já pět let se ponořím do fascinujícího světa strojového učení a hlubokého učení. Mé vášně a odborné znalosti mě vedly k tomu, abych se podílel na více než 50 různých projektech softwarového inženýrství, se zvláštním zaměřením na AI/ML. Mé pokračující zvědavosti mě také přivedly k přirozenému jazykovému zpracování, oblasti, kterou jsem ochoten prozkoumat dále.