Modele și platforme AI
AutoGen: Punerea în mișcare a următoarei generații de aplicații cu modele de limbaj mare

Modelele de limbaj mare (LLM) sunt în prezent unul dintre cele mai discutate subiecte în inteligența artificială mainstream. Dezvoltatorii din întreaga lume explorează potențialele aplicații ale LLM-urilor. Aceste modele sunt algoritmi AI care utilizează tehnici de învățare profundă și cantități uriașe de date de antrenament pentru a înțelege, rezuma, prezice și genera o gamă largă de conținut, inclusiv text, audio, imagini, videoclipuri și multe altele.
Modelele de limbaj mare sunt algoritmi AI complexe. Dezvoltarea unui astfel de model este o sarcină epuizantă, iar construirea unei aplicații care utilizează capacitățile unui LLM este la fel de provocatoare. Aceasta necesită o expertiză semnificativă, efort și resurse pentru a proiecta, implementa și, în cele din urmă, optimiza un flux de lucru capabil să valorifice la maximum potențialul unui model de limbaj mare pentru a obține cele mai bune rezultate. Având în vedere timpul și resursele extinse necesare pentru a stabili fluxuri de lucru pentru aplicații care utilizează puterea LLM-urilor, automatizarea acestor procese are o valoare imensă. Acest lucru este în special adevărat, deoarece fluxurile de lucru se așteaptă să devină și mai complexe în viitorul apropiat, cu dezvoltatori care creează aplicații din ce în ce mai sofisticate bazate pe LLM. În plus, spațiul de proiectare necesar pentru aceste fluxuri de lucru este atât complex, cât și vast, ceea ce sporește provocările de a crea un flux de lucru optim și robust care să îndeplinească așteptările de performanță.
AutoGen este un cadru dezvoltat de echipa de la Microsoft (MSFT ) care are ca scop simplificarea orchestrării și optimizării fluxurilor de lucru LLM prin introducerea automatizării în pipeline-ul de lucru. Cadru AutoGen oferă agenți conversabili și personalizabili care valorifică puterea avansată a LLM-urilor, cum ar fi GPT-3 și GPT-4, și, în același timp, abordează limitările actuale prin integrarea LLM-urilor cu unelte și intrări umane prin utilizarea de conversații automate pentru a iniția conversații între mai mulți agenți.
Atunci când se utilizează cadru AutoGen, sunt necesare doar două pași pentru a dezvolta un sistem de conversație multi-agent complex.
Pașul 1: Definiți un set de agenți, fiecare cu rolurile și capacitățile sale.
Pașul 2: Definiți comportamentul de interacțiune între agenți, adică un agent ar trebui să știe ce să răspundă atunci când primește un mesaj de la un alt agent.
Ambele pași de mai sus sunt modulare și intuitive, ceea ce face ca acești agenți să fie compozabili și reutilizabili. Figura de mai jos demonstrează un flux de lucru de exemplu care abordează întrebările bazate pe cod în optimizarea lanțului de aprovizionare. Așa cum se poate vedea, scriitorul scrie mai întâi codul și interpretarea, Safeguard asigură confidențialitatea și securitatea codului, iar codul este apoi executat de Commander după ce a primit aprobarea necesară. Dacă sistemul întâmpină orice problemă în timpul rulării, procesul este repetat până când este rezolvat complet. Implementarea cadrului de mai jos duce la reducerea cantității de interacțiune manuală de la 3 la 10 ori atunci când este implementat în aplicații precum optimizarea lanțului de aprovizionare. În plus, utilizarea AutoGen reduce și cantitatea de efort de codare necesară pentru a crea astfel de aplicații complexe, până la patru ori.

AutoGen poate fi un jucător care schimbă regulile, deoarece are ca scop transformarea procesului de dezvoltare a aplicațiilor complexe care valorifică puterea LLM-urilor. Utilizarea AutoGen nu numai că poate reduce cantitatea de interacțiuni manuale necesare pentru a obține rezultatele dorite, dar poate reduce și cantitatea de efort de codare necesară pentru a crea astfel de aplicații complexe. Utilizarea AutoGen pentru crearea de aplicații bazate pe LLM poate nu numai să accelereze procesul în mod semnificativ, dar va ajuta și la reducerea cantității de timp, efort și resurse necesare pentru a dezvolta aceste aplicații complexe.
În acest articol, vom face o analiză mai profundă a cadrului AutoGen și vom explora componentele și arhitectura esențială a cadrului AutoGen, împreună cu aplicațiile sale potențiale. Deci, să începem.
Introducere în AutoGen: Punerea în mișcare a următoarei generații de aplicații cu modele de limbaj mare
AutoGen este un cadru open-source dezvoltat de echipa de la Microsoft care oferă dezvoltatorilor puterea de a crea aplicații care valorifică puterea LLM-urilor, utilizând mai mulți agenți care pot avea conversații unul cu celălalt pentru a executa cu succes sarcinile dorite. Agenții din AutoGen sunt conversabili, personalizabili și pot opera în moduri diferite care utilizează combinația de unelte, intrări umane și LLM-uri. Dezvoltatorii pot utiliza, de asemenea, cadru AutoGen pentru a defini comportamentul de interacțiune al agenților și pot utiliza atât codul de calculator, cât și limba naturală pentru a programa modele de conversație flexibile, utilizate în diverse aplicații. Fiind un cadru open-source, AutoGen poate fi considerat un cadru generic pe care dezvoltatorii îl pot utiliza pentru a construi aplicații și cadre de diverse complexități care valorifică puterea LLM-urilor.

Modelele de limbaj mare joacă un rol crucial în dezvoltarea de agenți care utilizează cadrele LLM pentru a se adapta la noi observații, utilizarea de unelte și raționament în numeroase aplicații din lumea reală. Dar dezvoltarea de aplicații care pot valorifica la maximum puterea LLM-urilor este o afacere complexă, și având în vedere cererea și aplicațiile în creștere ale LLM-urilor, împreună cu creșterea complexității sarcinilor, este vital să se mărească puterea acestor agenți prin utilizarea mai multor agenți care lucrează în sincronizare unul cu celălalt.Dar cum poate fi utilizată o abordare multi-agent pentru a dezvolta aplicații bazate pe LLM care pot fi apoi aplicate într-o gamă largă de domenii cu complexități diferite? Cadru AutoGen încearcă să răspundă la întrebarea de mai sus prin utilizarea de conversații multi-agente.
AutoGen: Componente și cadru
În încercarea de a reduce cantitatea de efort pe care dezvoltatorii trebuie să o depună pentru a crea aplicații complexe care utilizează capacitățile LLM-urilor într-o gamă largă de domenii, principiul fundamental al AutoGen este de a consolida și de a simplifica fluxurile de lucru multi-agente prin utilizarea de conversații multi-agente, ceea ce maximizează, de asemenea, reutilizarea acestor agenți implementați. AutoGen utilizează mai mulți agenți care pot avea conversații unul cu celălalt pentru a executa cu succes sarcinile dorite, iar cadrul este construit pe două concepte fundamentale: Agenți conversabili și Programare conversațională.
Agenți conversabili
Un agent conversabil în AutoGen este o entitate cu un rol predefinit care poate trimite mesaje pentru a trimite și primi informații de la și către alți agenți conversabili. Un agent conversabil menține contextul său intern pe baza mesajelor primite sau trimise, iar dezvoltatorii pot configura acești agenți pentru a avea o serie unică de capacități, cum ar fi fiind activate de LLM-uri sau primind intrări umane.
Capacități ale agenților, alimentate de oameni, unelte și LLM-uri
Capacitățile unui agent sunt direct legate de modul în care procesează și răspunde la mesaje, ceea ce este motivul pentru care agenții din cadrul AutoGen permit dezvoltatorilor să ofere diverse capacități agenților. AutoGen susține numeroase capacități comune și compozabile pentru agenți, care includ
- LLM-uri: Agenții susținuți de LLM-uri valorifică capacitățile avansate ale cadrului LLM, cum ar fi interferența implicită a stării, jocul de roluri, oferirea de feedback și chiar codarea. Dezvoltatorii pot utiliza tehnici de promptare noi pentru a combina aceste capacități în încercarea de a crește autonomia sau abilitățile unui agent.
- Oameni: Mai multe aplicații necesită sau doresc un anumit grad de implicare umană, iar cadrul AutoGen permite aplicațiilor bazate pe LLM să faciliteze participarea umană în conversațiile agenților prin utilizarea de agenți susținuți de oameni care ar putea solicita intrări umane în timpul anumitor rotunjiri de conversație, pe baza configurării agentului.
- Unelte: Agenții susținuți de unelte de obicei au capacitățile de a utiliza execuția de cod sau execuția de funcții pentru a executa unelte.
Cooperare și personalizare a agenților
Pe baza nevoilor și cerințelor specifice ale unei aplicații, dezvoltatorii pot configura agenți individuali pentru a avea o combinație de tipuri de backend esențiale pentru a afișa comportamentul complex implicat în conversațiile multi-agente. Cadrul AutoGen permite dezvoltatorilor să creeze cu ușurință agenți cu roluri și capacități specializate prin extinderea sau reutilizarea agenților încorporați. Figura atașată mai jos demonstrează structura de bază a agenților încorporați în cadrul AutoGen. Clasa ConversableAgent poate utiliza oameni, unelte și LLM-uri în mod implicit, deoarece este cea mai înaltă abstracție a agentului. UserProxyAgent și AssistantAgent sunt clase preconfigurate ale ConversableAgent, iar fiecare dintre ele reprezintă un mod de utilizare comun, adică fiecare dintre acești doi agenți acționează ca un asistent AI (atunci când este susținut de LLM-uri) și solicită intrări umane sau execută apeluri de funcții sau cod (când este susținut de unelte și/sau oameni), acționând ca un proxy uman.

Figura de mai jos demonstrează cum dezvoltatorii pot utiliza cadrul AutoGen pentru a dezvolta un sistem cu doi agenți care are o funcție de răspuns personalizată, împreună cu o ilustrare a conversației automate a agentului care utilizează sistemul cu doi agenți în timpul executării programului.

Prin permiterea utilizării de agenți personalizați care pot avea conversații unul cu celălalt, acești agenți conversabili servesc ca blocuri de construcție fundamentale în cadrul AutoGen. Cu toate acestea, dezvoltatorii trebuie să specifice și să modeleze aceste conversații multi-agente pentru a dezvolta aplicații în care acești agenți pot face progrese semnificative asupra sarcinilor specificate.
Programare conversațională
Pentru a rezolva problema menționată mai sus, cadrul AutoGen utilizează programarea conversațională, un paradigma de calcul bazat pe două concepte esențiale: calculul, acțiunile întreprinse de agenți într-o conversație multi-agentă pentru a-și calcula răspunsul și fluxul de control, condițiile sau secvența în care aceste calcule au loc. Capacitatea de a programa acestea permite dezvoltatorilor să implementeze diverse modele de conversație flexibile. În plus, în cadrul AutoGen, calculele sunt centrate pe conversație. Acțiunile întreprinse de un agent sunt relevante pentru conversațiile în care agentul este implicat, iar acțiunile întreprinse de agenți conduc la trimiterea de mesaje pentru conversații ulterioare până când este îndeplinită o condiție de terminare. În plus, fluxul de control în cadrul AutoGen este condus de conversații, deoarece este decizia agenților participanți cu privire la care agenți vor trimite mesaje de la și către procedura de calcul.

Figura de mai sus demonstrează o ilustrare simplă a modului în care agenții individuali efectuează operațiunile specifice rolului, calculele centrate pe conversație pentru a genera răspunsurile dorite, cum ar fi execuția de cod și apelurile de interferență LLM. Sarcina progresează cu ajutorul conversațiilor afișate în cutia de dialog.
Pentru a facilita programarea conversațională, cadrul AutoGen prezintă următoarele modele de proiectare.
- Mecanisme de răspuns automat și interfață unificată pentru conversații automate de agenți
Cadrul AutoGen are o interfață unificată pentru efectuarea calculelor corespunzătoare care sunt centrate pe conversație, inclusiv o funcție de “primire sau trimitere” pentru a primi sau trimite mesaje, împreună cu o funcție “generează_răspuns” care generează un răspuns pe baza mesajului primit și efectuează acțiunea necesară. Cadrul AutoGen introduce și implementează, de asemenea, mecanismul de răspuns automat al agentului în mod implicit pentru a realiza controlul condus de conversație.
- Control prin combinarea limbajului natural și a programării
Cadrul AutoGen facilitează utilizarea limbajului natural și a programării în diverse modele de gestionare a fluxului de control, care includ controale de limbaj natural utilizând LLM-uri, control de programare și tranziția de control între programare și limbaj natural.
În continuare, pe lângă fluxurile de conversație statice care sunt de obicei însoțite de un flux predefinit, cadrul AutoGen susține, de asemenea, fluxuri de conversație dinamice utilizând mai mulți agenți, iar cadrul oferă dezvoltatorilor două opțiuni pentru a atinge acest lucru
- Prin utilizarea de apeluri de funcții.
- Prin utilizarea unei funcții de răspuns personalizate.
Aplicații ale AutoGen
Pentru a ilustra potențialul cadrului AutoGen în dezvoltarea de aplicații multi-agente complexe, iată șase aplicații potențiale ale AutoGen, selectate pe baza relevanței lor în lumea reală, capacităților de rezolvare a problemelor îmbunătățite de cadrul AutoGen și a potențialului lor inovator.
Aceste șase aplicații ale cadrului AutoGen sunt
- Rezolvarea problemelor matematice.
- Conversații augmentate de recuperare.
- Conversații ALF.
- Codare multi-agent.
- Conversație de grup dinamică.
- Șah conversațional.

Aplicație 1: Rezolvarea problemelor matematice
Matematica este una dintre disciplinele fundamentale pentru a valorifica modelele LLM pentru a ajuta la rezolvarea de probleme matematice complexe, ceea ce deschide o lume întreagă de aplicații potențiale, inclusiv asistență pentru cercetare și tutoriat personalizat cu ajutorul inteligenței artificiale.

Figura de mai sus demonstrează aplicarea cadrului AutoGen pentru a obține performanțe competitive la rezolvarea problemelor matematice.
Aplicație 2: Întrebări și răspunsuri și generare de cod augmentată de recuperare
În ultimele luni, generarea de cod augmentată de recuperare a devenit o abordare eficientă și practică pentru a depăși limitările LLM-urilor în incorporarea de documente externe. Figura de mai jos demonstrează aplicarea cadrului AutoGen pentru o recuperare eficientă și pentru a îmbunătăți performanța la sarcinile de întrebări și răspunsuri.

Aplicație 3: Luarea deciziilor în medii de lume text
Cadrul AutoGen poate fi utilizat pentru a crea aplicații care lucrează cu luarea deciziilor online sau interactive. Figura de mai jos demonstrează cum dezvoltatorii pot utiliza cadrul AutoGen pentru a proiecta un sistem conversațional cu trei agenți cu un agent de ancorare pentru a îmbunătăți semnificativ performanța.

Aplicație 4: Codare multi-agent
Dezvoltatorii care lucrează pe cadrul AutoGen pot utiliza cadrul OptiGuide pentru a construi un sistem de codare multi-agent care poate scrie cod pentru a implementa soluții optimizate și pentru a răspunde la întrebările utilizatorilor. Figura de mai jos demonstrează că utilizarea cadrului AutoGen pentru a crea un design multi-agent ajută la îmbunătățirea performanței generale, în special la efectuarea de sarcini de codare care necesită un safeguard.

Aplicație 5: Conversație de grup dinamică
Cadrul AutoGen oferă suport pentru un model de comunicare care implică conversații de grup dinamice, în care agenții multipli participanți împărtășesc contextul și, în loc de a urma o serie de ordine predefinite, se angajează în conversații unul cu celălalt într-un mod dinamic. Aceste conversații de grup dinamice se bazează pe conversații continue pentru a ghida fluxul de interacțiune în cadrul agenților.

Figura de mai sus ilustrează cum cadrul AutoGen susține conversații de grup dinamice între agenți prin utilizarea unui Manager de conversație de grup, un agent special.
Aplicație 6: Șah conversațional
Dezvoltatorii cadrului AutoGen l-au utilizat pentru a dezvolta o aplicație de șah conversațional, care este un joc de interferență naturală care prezintă agenți încorporați pentru jucători care pot fi fie un LLM, fie un om, și există și un al treilea agent care oferă informații relevante și validează mișcările de pe tabla de șah pe baza unui set de reguli standard predefinite. Figura de mai jos demonstrează șahul conversațional, un joc de interferență naturală construit utilizând cadrul AutoGen, care permite jucătorilor să utilizeze glume, joc de roluri sau chiar referințe la meme pentru a-și exprima mișcările într-un mod creativ, ceea ce face jocul de șah mai interesant nu numai pentru jucători, ci și pentru spectatorii și observatorii jocului.

Concluzie
În acest articol am discutat despre AutoGen, un cadru open-source care utilizează conceptele de programare conversațională și agenți conversabili, care are ca scop simplificarea orchestrării și optimizării fluxurilor de lucru LLM prin introducerea automatizării în pipeline-ul de lucru. Cadrul AutoGen oferă agenți conversabili și personalizabili care valorifică puterea avansată a LLM-urilor, cum ar fi GPT-3 și GPT-4, și, în același timp, abordează limitările actuale prin integrarea LLM-urilor cu unelte și intrări umane prin utilizarea de conversații automate pentru a iniția conversații între mai mulți agenți.
Deși cadrul AutoGen este încă în stadiul experimental, el deschide calea pentru explorări și oportunități de cercetare viitoare în domeniu, iar AutoGen ar putea fi instrumentul care ajută la îmbunătățirea vitezei, funcționalităților și ușurinței de dezvoltare a aplicațiilor care valorifică capacitățile LLM-urilor.












