Արհեստական ընդհանուր հետախուզություն
MetaGPT. Ամբողջական ուղեցույց այս պահին առկա լավագույն AI գործակալի համար
Լեզուների խոշոր մոդելների (LLM) միջոցով, ինչպիսին է ChatGPT-ն, OpenAI-ն ականատես է եղել ձեռնարկությունների և օգտատերերի ընդունման աճին, որը ներկայումս կազմում է շուրջ 80 միլիոն դոլար ամսական եկամուտ: Ըստ Ա վերջին զեկույցը Ըստ The Information-ի, Սան Ֆրանցիսկոյում գտնվող ընկերությունը, ըստ հաղորդվում է, տեմպերով հասել է 1 միլիարդ դոլարի տարեկան եկամուտ:
Վերջին անգամ մենք խորացել ենք AutoGPT և GPT-Engineering, վաղ հիմնական բաց կոդով LLM-ի վրա հիմնված AI գործակալները, որոնք նախատեսված են բարդ առաջադրանքների ավտոմատացման համար: Թեև խոստումնալից էին, այս համակարգերն ունեին խնդիրների իրենց բաժինը. անհամապատասխան արդյունքներ, կատարողական խոչընդոտներ և բազմաբնույթ պահանջների լուծման սահմանափակումներ: Նրանք տիրապետում են կոդերի ստեղծմանը, բայց նրանց հնարավորությունները հաճախ դադարում են այնտեղ: Նրանք չունեն ծրագրի կառավարման կարևոր գործառույթներ, ինչպիսիք են PRD-ի ստեղծումը, տեխնիկական դիզայնի ստեղծումը և API ինտերֆեյսի նախատիպավորումը:
Մտնել MetaGPT— Multi-agent համակարգ, որն օգտագործում է Sirui Hong-ի Large Language մոդելները, միացնում է ստանդարտացված գործառնական ընթացակարգերը (SOPs) LLM-ի վրա հիմնված բազմագործակալ համակարգերի հետ: Այս ձևավորվող պարադիգմը խաթարում է LLM-ների առկա սահմանափակումները՝ խթանելու արդյունավետ համագործակցությունը և առաջադրանքների տարրալուծումը բարդ, իրական աշխարհի ծրագրերում:
MetaGPT-ի գեղեցկությունը կայանում է նրա կառուցվածքի մեջ: Այն կապիտալացնում է մետածրագրավորման տեխնիկան՝ իրական ժամանակում ծածկագիրը շահարկելու, վերլուծելու և փոխակերպելու համար: Նպատակը? Արագաշարժ, ճկուն ծրագրային ճարտարապետություն իրականացնելու համար, որը կարող է հարմարվել դինամիկ ծրագրավորման առաջադրանքներին:
SOP-ները այստեղ գործում են որպես մետա-գործառույթ՝ համակարգելով գործակալներին՝ սահմանված մուտքերի հիման վրա կոդ ավտոմատ գեներացնելու համար: Պարզ բառերով, ասես դուք ծրագրային ապահովման ինժեներների խիստ համակարգված թիմը վերածել եք հարմարվող, խելացի ծրագրային համակարգի:
Հասկանալով MetaGPT շրջանակը
Հիմնադրամի և համագործակցության շերտեր
MetaGPT-ի ճարտարապետությունը բաժանված է երկու շերտի՝ Հիմնադրամի բաղադրիչների շերտ և համագործակցության շերտ:
- Հիմնարար բաղադրիչների շերտԱյս շերտը կենտրոնանում է առանձին գործակալների գործառնությունների վրա և հեշտացնում է ամբողջ համակարգի տեղեկատվության փոխանակումը: Այն ներկայացնում է հիմնական շինարարական բլոկները, ինչպիսիք են շրջակա միջավայրը, հիշողությունը, դերերը, գործողությունները և գործիքները: Շրջակա միջավայրը հիմք է ստեղծում ընդհանուր աշխատանքային տարածքների և հաղորդակցման ուղիների համար, մինչդեռ Հիշողությունը ծառայում է որպես պատմական տվյալների արխիվ: Դերերն ամփոփում են տիրույթի հատուկ փորձաքննությունը, Գործողությունները կատարում են մոդուլային առաջադրանքներ, իսկ Գործիքներն առաջարկում են ընդհանուր ծառայություններ: Այս շերտը հիմնականում ծառայում է որպես գործակալների օպերացիոն համակարգ: Լրացուցիչ մանրամասներ այն մասին, թե ինչպես են դրանք աշխատում միասին, հասանելի են հոդվածում 'ChatGPT-ից այն կողմ; AI գործակալ. Աշխատողների նոր աշխարհ'
- Համագործակցության շերտԿառուցված հիմնարար բաղադրիչների վրա՝ այս շերտը կառավարում և հեշտացնում է առանձին գործակալների համատեղ ջանքերը: Այն ներդնում է երկու մեխանիզմ՝ Գիտելիքների փոխանակում և աշխատանքային հոսքերի ամփոփում:
- Գիտելիքների փոխանակումՍա գործում է որպես համատեղ սոսինձ, որը կապում է գործակալներին: Գործակալները կարող են պահել, առբերել և տարածել տեղեկատվություն տարբեր մակարդակներում, հետևաբար նվազեցնելով ավելորդությունը և բարձրացնելով գործառնական արդյունավետությունը:
- Կափսուլացնող աշխատանքային հոսքերՀենց այստեղ են գործում ստանդարտացված գործառնական ընթացակարգերը (SOPs): SOP-ները գործում են որպես նախագծեր, որոնք բաժանում են առաջադրանքները կառավարելի բաղադրիչների: Գործակալներին հանձնարարված են այս ենթախադրանքները, և նրանց կատարումը համահունչ է ստանդարտացված արդյունքներին:
MetaGPT-ն օգտագործում է նաև «Դերի սահմանումներնախաձեռնել տարբեր մասնագիտացված գործակալներ, ինչպիսիք են արտադրանքի մենեջերները, ճարտարապետները և այլն, ինչպես մենք քննարկեցինք վերևում: Այս դերերը բնութագրվում են հիմնական հատկանիշներով, ինչպիսիք են անունը, պրոֆիլը, նպատակը, սահմանափակումները և նկարագրությունը:
Ավելին, «Խարիսխ Գործակալներ», այս գործակալներին տրամադրում է հատուկ դերի ուղեցույց: Օրինակ, արտադրանքի մենեջերի դերը կարող է սկզբնավորվել «հաջող արտադրանքի արդյունավետ ստեղծման» սահմանափակմամբ: Խարիսխ գործակալները ապահովում են, որ գործակալների վարքագիծը համընկնում է գերակա նպատակների հետ՝ դրանով իսկ օպտիմալացնելով կատարումը:
Ճանաչողական գործընթացները MetaGPT գործակալներում
MetaGPT-ն կարող է դիտարկել, մտածել, արտացոլել և գործել: Նրանք գործում են հատուկ վարքային գործառույթների միջոցով, ինչպիսիք են _think()
, _observe()
, _publish_message()
Այս ճանաչողական մոդելավորումը պատրաստում է գործակալներին լինել ակտիվ սովորողներ, որոնք կարող են հարմարվել և զարգանալ:
- ՊահպանելԳործակալները սկանավորում են իրենց միջավայրը և հիմնական տվյալները ներառում իրենց հիշողության մեջ:
- Մտածիր և արտացոլիրՄիջոցով
_think()
գործառույթը, դերերը կանխամտածված են գործողություններ ձեռնարկելուց առաջ: - Հեռարձակման հաղորդագրություններՕգտագործված գործակալներ
_publish_message()
ընթացիկ առաջադրանքների կարգավիճակները և համապատասխան գործողությունների գրառումները կիսելու համար: - Գիտելիքներ տեղումներ և ակտԳործակալները գնահատում են մուտքային հաղորդագրությունները և թարմացնում իրենց ներքին պահոցները՝ նախքան գործողությունների հաջորդ ընթացքը որոշելը:
- Պետական կառավարումՀատկություններով, ինչպիսիք են առաջադրանքների կողպումը և կարգավիճակի թարմացումը, դերերը կարող են առանց ընդհատումների հաջորդաբար մշակել բազմաթիվ գործողություններ՝ արտացոլելով իրական աշխարհի մարդկային համագործակցությունը:
Կոդի վերանայման մեխանիզմներ MetaGPT-ի համար
Կոդի վերանայումը կարևոր բաղադրիչ է ծրագրային ապահովման մշակման կյանքի ցիկլի մեջ, սակայն այն բացակայում է մի քանի հանրաճանաչ շրջանակներում: Ինչպես MetaGPT, այնպես էլ AgentVerse աջակցում է կոդի վերանայման հնարավորություններին, բայց MetaGPT-ն մի քայլ առաջ է գնում: Այն նաև ներառում է նախնական կոմպիլյացիայի կատարումը, որն օգնում է սխալների վաղ հայտնաբերմանը և հետագայում բարձրացնում կոդի որակը: Հաշվի առնելով կոդավորման կրկնվող բնույթը, այս հատկությունը ոչ միայն հավելում է, այլ պահանջ է ցանկացած հասուն զարգացման շրջանակի համար:
Մի քանի առաջադրանքների վրա իրականացված քանակական փորձերը ցույց տվեցին, որ MetaGPT-ն գերազանցում է իր գործընկերներին գրեթե բոլոր սցենարներում: Pass@1-ը շրջանակի ունակության չափումն է մեկ կրկնությամբ ճշգրիտ կոդ ստեղծելու համար: Այս չափիչն առաջարկում է շրջանակի օգտակարության ավելի իրատեսական արտացոլում գործնական միջավայրում: Pass@1-ի ավելի բարձր դրույքաչափը նշանակում է ավելի քիչ վրիպազերծում և ավելի արդյունավետություն՝ ուղղակիորեն ազդելով զարգացման ցիկլերի և ծախսերի վրա: Երբ կուտակվում է այլ առաջադեմ կոդերի ստեղծման գործիքների հետ, ինչպիսիք են Կոդեքս, CodeT, և նույնիսկ GPT-4, MetaGPT գերազանցում է առեւտրի կենտրոն. Շրջանակի կարողությունը հասնելու մի 81.7% դեպի 82.3% Անցում@1 տոկոսադրույքը միացված է HumanEval և MBPP չափանիշներ
Շրջանակը նաև օգտագործում է ավելի քիչ նշաններ և հաշվողական ռեսուրսներ՝ հասնելով հաջողության բարձր մակարդակի ավանդական ծրագրային ճարտարագիտության ծախսերի մի մասի դեպքում: Տվյալները ցույց են տվել, որ միջին արժեքը ընդամենը $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
. Եթե դուք արդի չեք, ներբեռնեք վերջին տարբերակը Python-ի պաշտոնական կայք. - Կլոնավորել 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
Նշում:
- Ձեր նոր նախագիծն այժմ պետք է լինի
workspace/
Հայաստան. --code_review True
թույլ կտա GPT մոդելին կատարել լրացուցիչ գործողություններ, որոնք կապահովեն ծածկագրի ճշգրիտ գործարկումը, բայց նշեք, որ այն ավելի թանկ կարժենա:- Եթե տեղադրման ժամանակ թույլտվության սխալի հանդիպեք, փորձեք գործարկել
python setup.py install --user
որպես այլընտրանք: - Հատուկ թողարկումներին և լրացուցիչ մանրամասներին ծանոթանալու համար այցելեք MetaGPT GitHub-ի թողարկումների պաշտոնական էջը. MetaGPT թողարկումներ.
Դոկերի տեղադրում
Նրանց համար, ովքեր նախընտրում են կոնտեյներացումը, Docker-ը պարզեցնում է գործընթացը.
- Քաշեք Docker Image-ըՆերբեռնեք 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
MetaGPT-ի կարգավորում ձեր OpenAI API բանալիով
Նախնական կարգավորումից հետո դուք պետք է ինտեգրեք MetaGPT ձեր OpenAI API բանալիով: Ահա քայլերը դա անելու համար.
- Գտեք կամ ստեղծեք ձեր OpenAI բանալինԴուք կարող եք գտնել այս բանալին ձեր OpenAI Dashboard-ում՝ API-ի կարգավորումներում:
- Սահմանեք 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 Demo Run
MetaGPT-ն տրամադրեց համակարգի նախագծման փաստաթուղթ Markdown-ում՝ սովորաբար օգտագործվող թեթև նշագրման լեզու: Այս Markdown ֆայլը հագեցած էր UML գծապատկերներով՝ դրանով իսկ առաջարկելով ճարտարապետական նախագծման հատիկավոր տեսք: Ավելին, API-ի բնութագրերը մանրամասնվել են HTTP մեթոդների, վերջնակետերի, հարցում/պատասխանի օբյեկտների և կարգավիճակի կոդերի հետ։
Դասի դիագրամը մանրամասնում է մեր ատրիբուտներն ու մեթոդները Game
դասարան՝ ապահովելով հեշտ ընկալելի աբստրակցիա: Այն նույնիսկ պատկերացնում է ծրագրի զանգերի հոսքը՝ արդյունավետորեն վերացական գաղափարները վերածելով շոշափելի քայլերի:
Սա ոչ միայն զգալիորեն նվազեցնում է ձեռնարկի ծախսերը պլանավորման ժամանակ, այլ նաև արագացնում է որոշումների կայացման գործընթացը՝ ապահովելով, որ ձեր զարգացման խողովակաշարը մնա ճկուն: MetaGPT-ի միջոցով դուք ոչ միայն ավտոմատացնում եք կոդերի ստեղծումը, այլև ավտոմատացնում եք նախագծի խելացի պլանավորումը՝ այդպիսով ապահովելով մրցակցային առավելություն հավելվածների արագ զարգացման գործում:
Եզրակացություն. MetaGPT-Հեղափոխական ծրագրային ապահովման մշակում
MetaGPT-ն վերաիմաստավորում է գեներատիվ AI-ի և ծրագրային ապահովման մշակման լանդշաֆտը` առաջարկելով խելացի ավտոմատացման և արագաշարժ նախագծերի կառավարման միաձուլում: Շատ գերազանցելով ChatGPT, AutoGPT և ավանդական LangChain մոդելների հնարավորությունները, այն գերազանցում է առաջադրանքների տարրալուծման, արդյունավետ կոդի ստեղծման և նախագծի պլանավորմանը: Իմացեք ավելին
Ահա այս հոդվածի հիմնական կետերը.
- Մետածրագրավորման ուժըՕգտագործելով մետածրագրավորում՝ MetaGPT-ն ապահովում է ճկուն և հարմարվողական ծրագրային շրջանակ: Այն գերազանցում է ժառանգական գործիքների նեղ ֆունկցիոնալությունը և ներկայացնում է փոխակերպող մոտեցում, որը վերաբերում է ոչ միայն կոդավորմանը, այլև ծրագրի կառավարմանը և որոշումների կայացմանը:
- Երկշերտ ճարտարապետությունԻր հիմնարար և համագործակցային շերտերով MetaGPT-ն արդյունավետորեն ստեղծում է սիներգետիկ էկոհամակարգ, որտեղ գործակալները կարող են համահունչ աշխատել՝ նման փորձով կառավարվող ծրագրային թիմի:
- Կոդի օպտիմիզացված վերանայումՊարզապես կոդ ստեղծելուց բացի, MetaGPT-ն առաջարկում է նախնական կոմպիլյացիայի կատարման առանձնահատկություններ, որոնք, ըստ էության, վաղ նախազգուշացման համակարգ են սխալների համար: Սա ոչ միայն խնայում է վրիպազերծման ժամանակը, այլև ապահովում է կոդի որակը:
- Ճանաչողական գործակալներMetaGPT-ի խելացի գործակալները, որոնք հագեցած են ճանաչողական գործառույթներով, ինչպիսիք են _observe(), _think() և _publish_message(), զարգանում և հարմարվում են՝ ապահովելով, որ ձեր ծրագրային լուծումը ոչ միայն կոդավորված է, այլև «խելացի»:
- Տեղադրում և տեղակայումՄենք ցույց ենք տվել, որ MetaGPT-ը կարող է հեշտությամբ կարգավորվել՝ անկախ նրանից՝ դուք նախընտրում եք տեղական տեղադրում npm-ի և Python-ի միջոցով, կամ կոնտեյներացմանը՝ Docker-ի միջոցով: