LangGraph թե CrewAI․ գրաֆային վերահսկո՞ւմ, թե դերային թիմ

|Հեղինակ: QUASA-ի խմբագրական թիմ|5 րոպե ընթերցանություն
LangGraph թե CrewAI․ գրաֆային վերահսկո՞ւմ, թե դերային թիմ

Եթե բազմագործակալ հոսքը պետք է պահի հստակ վիճակ, ճյուղավորվի ըստ կանոնների և խափանումից հետո շարունակվի որոշակի քայլից, ընտրեք LangGraph։ LangGraph-ի պաշտոնական նկարագրությունը այն ներկայացնում է որպես երկարատև, վիճակ պահող գործակալային գործընթացների ցածր մակարդակի կառավարման համակարգ՝ պահպանմամբ և մարդու մասնակցությամբ։ Այդ կառուցվածքի գինը հանգույցները, անցումները և վիճակի սխեման նախապես նկարագրելու աշխատանքն է։

Եթե նախ ուզում եք արագ պարզել, թե մասնագիտացված գործակալներն ինչպես կբաժանեն աշխատանքը, CrewAI-ի դերային Crew-ը հարմար մեկնարկ է։ Բայց CrewAI-ը միայն դերերի մոդել չէ. CrewAI-ի պաշտոնական փաստաթղթերը առանձնացնում են նաև Flow-ը, որը կառավարում է քայլերը, վիճակը և երկարատև հոսքի շարունակումը։ Ուստի արտադրական ընտրության ժամանակ համեմատության առարկան LangGraph-ի գրաֆն ու CrewAI-ի Flow-ն են, իսկ Crew-ը կարող է կատարել դրանց ներսում պատվիրակված գործը։

Նույն աջակցության հարցումը՝ երկու կառուցվածքով

Դիտարկենք պայմանական օրինակ։ Հաճախորդը վիճարկում է գանձումը, համակարգը ստուգում է հաշվի տվյալները և կազմում պատասխան։ Եթե պատասխանը խոստանում է գումարի վերադարձ, աշխատակիցը պետք է հաստատի հենց այդ նախագիծը, իսկ հաստատված պատասխանը պետք է ուղարկվի մեկ անգամ։ Սա ճարտարապետական սցենար է, ոչ թե երկու համակարգերի կատարողականության փորձարկում։

  • LangGraph. Հարցում → տվյալների ստուգման հանգույց → պատասխանի նախագծի հանգույց → պայմանական անցում → աշխատակցի հաստատման կանգառ → ուղարկման հանգույց։ Համատեղ վիճակը պահում է հարցման նույնացուցիչը, ստուգման արդյունքը, նախագծի տարբերակը, հաստատման որոշումը և առաքման կարգավիճակը։ Յուրաքանչյուր անցման պայմանը երևում է գրաֆի տրամաբանության մեջ։
  • CrewAI. Crew-ի մի գործակալ ուսումնասիրում է հաշվի տվյալները, մյուսը կազմում է պատասխանը։ Արտաքին Flow-ը պահում է հարցման վիճակը, որոշում է՝ արդյոք անհրաժեշտ է հաստատում, սպասում է աշխատակցի որոշմանը և հետո է կանչում ուղարկման մեթոդը։ Դերերը նկարագրում են աշխատանքի բաժանումը, իսկ Flow-ը՝ պարտադիր հերթականությունը։

Այս սխեմաներում հաստատման տեղը նույնն է՝ պատասխանի կազմման և ուղարկման միջև։ Տարբերությունը կառավարման միավորն է. LangGraph-ում ճյուղն ու կանգառը ձևակերպվում են հանգույցների անցումներով, CrewAI-ում՝ Flow-ի երթուղղմամբ և վիճակով։ Եթե այդ կանոնը թողնվի միայն գործակալին տրված լեզվային հրահանգի մեջ, ճարտարապետությունից պարզ չի լինի՝ որ պայմանն է իրականում թույլ տալիս ուղարկել պատասխանը։

Որտե՞ղ է պահվում վիճակը և ինչպե՞ս է հոսքը շարունակվում

LangGraph-ի դեպքում վիճակը կապում է հանգույցները, իսկ պահպանված checkpoint-ները հնարավորություն են տալիս շարունակել ընդհատված կատարումը։ Նախագծողը որոշում է՝ որ տվյալներն են անհրաժեշտ հաջորդ քայլերին, ինչն է պետք պահպանել հաստատմանը սպասելիս և որ հանգույցը կարելի է կրկին աշխատեցնել։ Ավելի փոքր հանգույցներն օգնում են առանձնացնել խափանման սահմանները, սակայն ավելացնում են սխեմայի ու անցումների նախագծման ծավալը։

CrewAI-ում Crew-ի գործակալների փոխանակած արդյունքը պետք է տարբերել Flow-ի պահպանվող վիճակից։ CrewAI Flows-ի ուղեցույցը նկարագրում է կառուցվածքային վիճակ, պայմանական երթուղղում, @persist-ով պահպանում և մարդու արձագանքին սպասող քայլ։ Նույն էջի համաձայն՝ պահպանման լռելյայն հիմքը տեղային SQLite-ն է, իսկ այլ պահոցի համար կարելի է տրամադրել սեփական իրականացում։ Հետևաբար CrewAI Flow-ը նույնպես կարող է պահել և վերականգնել երկար հոսք. դրա առկայությունը պետք է հաշվի առնել, երբ գնահատում եք արտադրական տարբերակը։

Երկու կառուցվածքում էլ վիճակը պետք է պատասխանի գործնական հարցին՝ ինչ է արդեն կատարվել։ «Նախագիծը պատրաստ է», «հաստատումը տրված է», «ուղարկման փորձ է եղել» և «առաքումը հաստատված է» կարգավիճակները տարբեր իմաստ ունեն։ Եթե պահվում է միայն ընդհանուր «ավարտված է» նշումը, խափանումից հետո հնարավոր չէ վստահ որոշել՝ շարունակել ուղարկո՞ւմը, թե նախ ճշտել արտաքին ծառայության արդյունքը։

Հաստատման և ուղարկման սահմանը

Գումարի վերադարձ խոստացող պատասխանի հաստատումը պետք է լինի ծրագրային պայման՝ անկախ ընտրված framework-ից։ LangGraph-ում այդ պայմանը կարող է ընտրել հաջորդ հանգույցը, CrewAI Flow-ում՝ համապատասխան երթուղին։ Գործակալը կարող է առաջարկել պատասխան, բայց ուղարկման թույլտվությունը պետք է բխի գրանցված որոշումից, ոչ թե նրա ինքնուրույն եզրակացությունից։

Հաստատումը նաև պետք է կապվի աշխատակցի տեսած կոնկրետ տեքստին։ Եթե նախագիծը հաստատումից հետո փոխվել է, նախկին որոշումը չի նկարագրում նոր տարբերակը։ Երկար սպասման ընթացքում կարող են փոխվել նաև հաշվի տվյալները. համակարգի սպասարկման կանոնը պետք է որոշի՝ ուղարկելուց առաջ արդյոք նոր ստուգում է պետք, և այդ որոշումը պետք է արտացոլվի վիճակում։

Ամենաբարդ խզումը տեղի է ունենում տեղական վիճակի պահոցի և արտաքին ուղարկման ծառայության միջև։ Ծառայությունը կարող է ընդունել պատասխանը, իսկ կատարումը խափանվել մինչև «ուղարկված է» կարգավիճակի պահպանումը։ Հաջորդ փորձը այդ դեպքում կարող է կրկնել ուղարկումը. checkpoint-ը կամ Flow-ի պահպանված վիճակը ինքնուրույն չեն ապահովում արտաքին գործողության միանգամյա կատարում։

Այս սցենարի համար առաքման կանչին պետք է կապել նույն հարցման և նույն հաստատված տարբերակի կայուն նույնացուցիչը։ Եթե արտաքին ծառայությունն աջակցում է կրկնվող կանչերը ճանաչող բանալի, կրկնափորձերում պետք է փոխանցել նույն բանալին։ Եթե նման հնարավորություն չկա, նախ պետք է արտաքին ծառայության գրառումներով պարզել առաջին փորձի արդյունքը, ապա միայն որոշել՝ արդյոք ուղարկումը կրկնել։ Սա կիրառական համակարգի գործարքային սահմանն է, ոչ թե որևէ framework-ի ավտոմատ խոստումը։

Հետագիծը և abstraction-ի արժեքը

Արտադրական հոսքի հետագիծը պետք է թույլ տա վերականգնել որոշումների հերթականությունը՝ ընտրված ճյուղը, հաստատված նախագիծը, կրկնափորձը և առաքման պատասխանը։ LangGraph-ի բացահայտ հանգույցներն ու վիճակի անցումները հարմար միավորներ են այդ իրադարձությունները կապելու համար։ CrewAI-ի հետագծման ուղեցույցը նկարագրում է Crew-ի և Flow-ի կատարումների հետքերը՝ ներառյալ գործակալների քայլերը, գործիքների կանչերն ու սխալները։ Հետագիծը ցույց է տալիս, թե ինչ է տեղի ունեցել, մինչդեռ կրկնակի ուղարկումը կանխող կանոնը պետք է գործի առաքման սահմանում։

Ուսուցման բարդությունը տարբեր տեղում է հայտնվում։ LangGraph-ը վաղ փուլում պահանջում է մտածել վիճակի սխեմայով, հանգույցներով և անցումներով։ CrewAI-ի դերերով հեշտ է նկարագրել առաջին նախատիպը, բայց հաստատման, պահպանման և վերականգնման պահանջներն ավելացնելիս անհրաժեշտ է նախագծել նաև Flow-ի վիճակն ու մեթոդները։ Նախատիպի կարճ կոդը, հետևաբար, դեռ չի նկարագրում ամբողջ սպասարկման հոսքի իրական ծավալը։

Ընտրությունը որոշում է հոսքի ձևը

LangGraph-ը հիմնավոր ընտրություն է, երբ համակարգի հիմնական խնդիրը երկարատև, բացահայտ կառավարվող ընթացակարգն է՝ ճյուղերով, կրկնափորձերով, հաստատման կանգառով և վերականգնմամբ։ CrewAI-ը հարմար է, երբ նախ պետք է արագ փորձել դերային համագործակցությունը. եթե այդ փորձը դառնում է պարտադիր կանոններով ծառայություն, Crew-ը տեղավորվում է վիճակն ու երթուղին կառավարող Flow-ի մեջ։ Երկու տարբերակների գնահատման ժամանակ նույն հարցման համար նկարագրեք նաև խափանումը արտաքին ուղարկման պահին. հենց այդ սահմանն է բացահայտում հավելվածի լրացուցիչ պարտավորությունները։

Ավելի պարզ գործիքային հոսքի համար գրաֆի կառուցումը կարող է ավելորդ աշխատանք լինել։ LangGraph-ի գործնական կիրառությունների հետազոտությունը նույնպես այն չի առաջարկում որպես համընդհանուր ելակետ և նշում է, որ պարզ դեպքերում սովորական SDK-ի ցիկլը կարող է ավելի տեղին լինել։ Framework-ի ընտրությունը սկսվում է պահանջվող վիճակից և արտաքին գործողությունների սահմաններից, հետո միայն՝ գործակալների քանակից։

Կիսվել:

Բաժանորդագրվեք մեր տեղեկագրին

Ստացեք Web3-ի, ԱԲ-ի և կրիպտոյի վերջին լուրերն անմիջապես ձեր էլ. փոստին։

0