Modely a platformy AI
AutoGen: Pohánějí další generaci aplikací velkých jazykových modelů

Velké jazykové modely (LLM) jsou v současné době jedním z nejdiskutovanějších témat v oblasti umělé inteligence. Vývojáři po celém světě zkoumají potenciální aplikace LLM. Tyto modely jsou algoritmy umělé inteligence, které využívají hlubokého učení a rozsáhlých trénovacích dat k pochopení, souhrnu, předpovědi a generování širokého spektra obsahu, včetně textu, audio, obrázků, videí a dalších.
Velké jazykové modely jsou složitými algoritmy umělé inteligence. Vývoj takového modelu je vyčerpávajícím úkolem a vytváření aplikace, která využívá schopnosti LLM, je stejně náročné. Vyžaduje značné odborné znalosti, úsilí a zdroje k navržení, implementaci a optimalizaci pracovního postupu, který je schopen využít plný potenciál velkého jazykového modelu a dosáhnout nejlepších výsledků. Vzhledem k rozsáhlému času a zdrojům potřebným k vytvoření pracovních postupů pro aplikace, které využívají sílu LLM, automatizace těchto procesů má obrovskou hodnotu. To je zvláště pravdivé, protože pracovní postupy se očekává, že se stanou ještě složitějšími v blízké budoucnosti, kdy vývojáři vytvářejí stále sofistikovanější LLM-založené aplikace. Kromě toho je designový prostor nezbytný pro tyto pracovní postupy složitý a rozsáhlý, což dále zvyšuje výzvy spojené s vytvořením optimálního a robustního pracovního postupu, který splňuje očekávané výkony.
AutoGen je framework vyvinutý týmem Microsoftu, který má za cíl zjednodušit orchestraci a optimalizaci pracovních postupů LLM tím, že zavádí automatizaci do pracovního postupu. Framework AutoGen nabízí konverzační a přizpůsobitelné agenty, kteří využívají sílu pokročilých LLM, jako je GPT-3 a GPT-4, a zároveň řeší jejich současné omezení integrací LLM s nástroji a lidskými vstupy pomocí automatizovaných rozhovorů k iniciaci konverzací mezi několika agenty.
Při použití frameworku AutoGen stačí pouze dva kroky pro vývoj komplexního multi-agentního konverzačního systému.
Krok 1: Definujte sadu agentů, každý s jeho úlohami a schopnostmi.
Krok 2: Definujte interakční chování mezi agenty, tj. agent by měl vědět, co odpovědět, když obdrží zprávu od jiného agenta.
Oba výše uvedené kroky jsou modulární a intuitivní, což činí tyto agenty komponovatelnými a opakovaně použitelnými. Níže uvedená figura demonstruje vzorový pracovní postup, který řeší kódové otázky při optimalizaci dodavatelského řetězce. Jak je vidět, spisovatel nejprve píše kód a interpretaci, Safeguard zajišťuje bezpečnost a soukromí kódu, a kód je poté spuštěn velitelem po obdržení požadovaného schválení. Pokud systém narazí na problém během běhu, proces se opakuje, dokud není zcela vyřešen. Nasazení níže uvedeného frameworku vede ke snížení množství manuálních interakcí z 3x na 10x, když je nasazen v aplikacích, jako je optimalizace dodavatelského řetězce. Kromě toho použití AutoGen také snižuje množství kódovacích úsilí až o čtyři krát.

Framework AutoGen může být herním měničem, protože se snaží transformovat vývojový proces komplexních aplikací, které využívají sílu LLM. Použití AutoGen může nejen snížit množství manuálních interakcí potřebných k dosažení požadovaných výsledků, ale také snížit množství kódovacích úsilí potřebných k vytvoření takových komplexních aplikací. Použití AutoGen pro vytváření LLM-založených aplikací může nejen urychlit proces významně, ale také pomoci snížit množství času, úsilí a zdrojů potřebných k vývoji těchto komplexních aplikací.
V tomto článku se budeme hlouběji zabývat frameworkem AutoGen a prozkoumáme jeho základní komponenty a architekturu, spolu s jeho potenciálními aplikacemi. Takže začněme.
Úvod do AutoGen: Pohánějí další generaci aplikací velkých jazykových modelů
AutoGen je otevřený framework vyvinutý týmem Microsoftu, který vybavuje vývojáře možností vytvářet aplikace, které využívají sílu LLM, pomocí více agentů, kteří mohou mít konverzace navzájem, aby úspěšně provedli požadované úkoly. Agenti v AutoGen jsou konverzační, přizpůsobitelní a mohou fungovat v různých režimech, které využívají kombinaci nástrojů, lidských vstupů a LLM. Vývojáři mohou také použít framework AutoGen k definování interakčního chování agentů a vývojáři mohou použít jak počítačový kód, tak přirozený jazyk k programování flexibilních konverzačních vzorců nasazených v různých aplikacích. Jako otevřený framework může být AutoGen považován za obecný framework, který vývojáři mohou použít k vytváření aplikací a frameworků různých složitostí, které využívají sílu LLM.

Velké jazykové modely hrají klíčovou roli ve vývoji agentů, kteří využívají frameworky LLM k adaptaci na nové pozorování, použití nástrojů a odůvodňování v mnoha reálných aplikacích. Ale vývoj těchto aplikací, které mohou využít plný potenciál LLM, je složitou záležitostí a vzhledem k rostoucí poptávce a aplikacím LLM, spolu se zvyšující se složitostí úkolů, je důležité zvýšit sílu těchto agentů pomocí více agentů, kteří fungují v souladu navzájem.Ale jak lze použít multi-agentní přístup k vývoji LLM-založených aplikací, které lze poté aplikovat na širokou škálu domén s různou složitostí?Framework AutoGen se snaží odpovědět na výše uvedenou otázku pomocí multi-agentních konverzací.
AutoGen: Komponenty a framework
V rámci snahy snížit množství úsilí, které vývojáři potřebují k vytvoření komplexních aplikací pomocí schopností LLM napříč širokou škálou domén, je základní princip AutoGen konsolidovat a streamovat multi-agentní pracovní postupy pomocí multi-agentních konverzací, a tím také maximalizovat opakovaně použitelnost těchto implementovaných agentů. AutoGen používá více agentů, kteří mohou mít konverzace navzájem, aby úspěšně provedli požadované úkoly, a framework je postaven na dvou základních konceptech:Konverzační agentiaKonverzační programování.
Konverzační agenti
Konverzační agent v AutoGen je entita s předdefinovanou rolí, která může předávat zprávy k odesílání a přijímání informací z a do jiných konverzačních agentů. Konverzační agent udržuje svůj vnitřní kontext na základě přijatých nebo odeslaných zpráv a vývojáři mohou nakonfigurovat tyto agenty, aby měli jedinečnou sadu schopností, jako je například povolení LLM nástrojů nebo přijímání lidských vstupů.
Schopnosti agentů poháněné lidmi, nástroji a LLM
Schopnosti agentů jsou přímo spojeny s tím, jak zpracovávají a reagují na zprávy, což je primární důvod, proč agenti v frameworku AutoGen umožňují vývojářům flexibilitu při udělování různých schopností agentům. AutoGen podporuje řadu běžných komponovatelných schopností pro agenty, které zahrnují
- LLM:Agenti podporovaní LLM využívají schopnosti pokročilých frameworků LLM, jako je implicitní interference, role-playing, poskytování zpětné vazby a dokonce i kódování. Vývojáři mohou použít nové techniky pro kombinaci těchto schopností, aby zvýšili autonomii nebo dovednosti agenta.
- Lidé:Některé aplikace vyžadují nebo potřebují určitou míru lidské účasti a framework AutoGen umožňuje LLM-založeným aplikacím usnadnit lidskou účast v agentní konverzaci pomocí agentů podporovaných lidmi, kteří mohou vyžadovat lidské vstupy během určitých kol konverzace na základě konfigurace agenta.
- Nástroje:Agenti podporovaní nástroji obvykle mají schopnost používat kódové spuštění nebo funkci spuštění k provedení nástrojů.
Spolupráce a přizpůsobení agentů
Na základě specifických potřeb a požadavků aplikace mohou vývojáři nakonfigurovat jednotlivé agenty, aby měli kombinaci základních typů back-endu, aby zobrazili komplexní chování zapojené do multi-agentních konverzací. Framework AutoGen umožňuje vývojářům snadno vytvářet agenty se specializovanými úlohami a schopnostmi rozšiřováním nebo opakovaným použitím vestavěných agentů. Níže uvedená figura demonstruje základní strukturu vestavěných agentů v frameworku AutoGen. Třída ConversableAgent může použít lidi, nástroje a LLM jako výchozí, protože je nejvyšší úrovní abstrakce agenta. Třída UserProxyAgent a třída AssistantAgent jsou předkonfigurované třídy ConversableAgent a každá z nich reprezentuje běžný režim použití, tj. každý z nich funguje jako AI asistent (podporovaný LLM) a vyžaduje lidské vstupy nebo provede funkci volání nebo kódové spuštění (podporovaný nástroji a/nebo lidmi) fungováním jako lidský proxy.

Níže uvedená figura demonstruje, jak vývojáři mohou použít framework AutoGen k vývoji dvouagentního systému s vlastním reply funkcí, spolu s ilustrací výsledné automatizované agentní konverzace, která používá dvouagentní systém během spuštění programu.

Konverzační agenti slouží jako základní stavební kámen v frameworku AutoGen. Nicméně vývojáři potřebují specifikovat a formovat tyto multi-agentní konverzace, aby vyvinuli aplikace, ve kterých tito agenti mohou dosáhnout významného pokroku v požadovaných úkolech.
Konverzační programování
K řešení výše uvedeného problému framework AutoGen používá konverzační programování, výpočetní paradigmou založenou na dvou základních konceptech:výpočet, akce provedené agenty v multi-agentní konverzaci k výpočtu jejich odpovědi ařízení toku, podmínky nebo sekvence, za kterých tyto výpočty probíhají. Schopnost programovat tyto umožňuje vývojářům implementovat řadu flexibilních multi-agentních konverzačních vzorců. Kromě toho, v frameworku AutoGen, výpočty jsou konverzační. Akce provedené agentem jsou relevantní pro konverzace, ve kterých je agent zapojen, a akce provedené agenty potom vedou k předávání zpráv pro následující konverzace, dokud není splněna ukončovací podmínka. Kromě toho, řízení toku v frameworku AutoGen je řízeno konverzacemi, protože je rozhodnutí účastnických agentů, kteří budou odesílat a přijímat zprávy z výpočetního postupu.

Níže uvedená figura demonstruje jednoduchou ilustraci toho, jak jednotliví agenti provádějí své role-specifické operace a konverzační výpočty, aby vygenerovali požadované odpovědi, jako je například kódové spuštění a LLM interference volání. Úkol postupuje vpřed s pomocí konverzací, které jsou zobrazeny v dialogovém okně.
K usnadnění konverzačního programování framework AutoGen nabízí následující designové vzory.
- Auto-odpovědní mechanismy a sjednocený rozhraní pro automatizované agentní konverzace
Framework AutoGen má sjednocené rozhraní pro provádění příslušných výpočtů, které jsou konverzační, včetně„přijmout nebo odeslat funkci“pro přijetí nebo odeslání zpráv a„vygenerovat odpověď“funkce, která generuje odpověď na základě přijaté zprávy a provede požadovanou akci. Framework AutoGen také zavádí a nasazujeagentní auto-odpovědnímechanismus jako výchozí, aby realizoval konverzační řízení.
- Řízení pomocí kombinace přirozeného jazyka a programování
Framework AutoGen usnadňuje použití přirozeného jazyka a programování v různých vzorcích řízení toku, které zahrnujípřirozený jazyk řízení pomocí LLM, programovací jazyk řízenía přechod řízení mezi programováním a přirozeným jazykem.
Pokračujeme, kromě statických konverzací, které jsou obvykle doprovázeny předdefinovaným tokem, framework AutoGen také podporuje dynamické konverzační toky pomocí více agentů a framework poskytuje vývojářům dvě možnosti, jak toho dosáhnout
- Pomocí funkčních volání.
- Pomocí přizpůsobené generate-reply funkce.
Aplikace AutoGen
Za účelem ilustrace potenciálu frameworku AutoGen ve vývoji komplexních multi-agentních aplikací jsou zde šest potenciálních aplikací AutoGen, které jsou vybrány na základě jejich relevance v reálném světě, schopnosti řešení problémů zvýšené frameworkem AutoGen a jejich inovačního potenciálu.
Tyto šest aplikací frameworku AutoGen jsou
- Řešení matematických problémů.
- Rozšířené konverzace.
- ALF konverzace.
- Multi-agentní kódování.
- Dynamická skupinová konverzace.
- Konverzační šachy.

Aplikace 1: Řešení matematických problémů
Matematika je jedním z základních oborů, které využívají modely LLM k pomoci při řešení komplexních matematických problémů, což otevírá celou novou oblast potenciálních aplikací, včetně asistence při výzkumu AI a personalizované asistence při učení AI.

Níže uvedená figura demonstruje aplikaci frameworku AutoGen k dosažení konkurenceschopného výkonu při řešení matematických problémů.
Aplikace 2: Získání odpovědí a generování kódu s rozšířenou konverzací
V posledních měsících se získání odpovědí a generování kódu s rozšířenou konverzací stalo účinným a praktickým přístupem k překonání omezení LLM při začleňování externích dokumentů. Níže uvedená figura demonstruje aplikaci frameworku AutoGen pro efektivní rozšíření a zvýšení výkonu při získávání odpovědí.

Aplikace 3: Rozhodování v textových prostředích
Framework AutoGen lze použít k vytvoření aplikací, které fungují s online nebo interaktivním rozhodováním. Níže uvedená figura demonstruje, jak vývojáři mohou použít framework AutoGen k navržení tříagentního konverzačního systému se zakotvením agenta, aby významně zvýšili výkon.

Aplikace 4: Multi-agentní kódování
Vývojáři pracující na frameworku AutoGen mohou použít framework OptiGuide k vytvoření multi-agentního kódovacího systému, který je schopen psát kód pro implementaci optimalizovaných řešení a zodpovězení uživatelských otázek. Níže uvedená figura demonstruje, že použití frameworku AutoGen k vytvoření multi-agentního designu pomáhá zvýšit celkový výkon, zejména při provádění kódovacích úkolů, které vyžadují bezpečnostní opatření.

Aplikace 5: Dynamická skupinová konverzace
Framework AutoGen poskytuje podporu pro komunikační vzorec, který se točí kolem dynamické skupinové konverzace, ve které se účastní více agentů, kteří sdílejí kontext a místo toho, aby následovali sadu předdefinovaných příkazů, konverzují navzájem v dynamickém způsobem. Tyto dynamické skupinové konverzace se spoléhají na probíhající konverzace, aby řídily tok interakce mezi agenty.

Níže uvedená figura ilustruje, jak framework AutoGen podporuje dynamické skupinové konverzace mezi agenty pomocíGroupChatManager, speciálního agenta.
Aplikace 6: Konverzační šachy
Vývojáři frameworku AutoGen použili jej k vytvoření aplikace Konverzační šachy, která je přirozenou interferenční hrou, která obsahuje vestavěné agenty pro hráče, kteří mohou být buď LLM nebo lidský, a existuje také třetí agent, který poskytuje relevantní informace a ověřuje tahy na šachovnici na základě předem definovaných standardních pravidel. Níže uvedená figura demonstruje Konverzační šachy, přirozenou interferenční hru vytvořenou pomocí frameworku AutoGen, která umožňuje hráčům používat vtipy, roli hraní nebo dokonce meme odkazy k vyjádření svých tahů kreativně, což činí hru šachů zajímavější nejen pro hráče, ale také pro diváky a pozorovatele.

Závěr
V tomto článku jsme hovořili o AutoGen, otevřeném frameworku, který využívá konceptů konverzačního programování a konverzačních agentů, aby zjednodušil orchestraci a optimalizaci pracovních postupů LLM tím, že zavádí automatizaci do pracovního postupu. Framework AutoGen nabízí konverzační a přizpůsobitelné agenty, kteří využívají sílu pokročilých LLM, jako je GPT-3 a GPT-4, a zároveň řeší jejich současné omezení integrací LLM s nástroji a lidskými vstupy pomocí automatizovaných rozhovorů k iniciaci konverzací mezi několika agenty.
Ačkoli framework AutoGen je stále ve svých raných experimentálních fázích, otevírá cestu pro budoucí výzkum a výzkumné příležitosti v oboru a AutoGen by mohl být nástrojem, který pomůže zlepšit rychlost, funkčnost a snadnost vývoje aplikací, které využívají schopnosti LLM.












