Artificiell intelligens
Microsoft AutoGen: Multi-Agent AI Workflows med Avancerad Automatisering

Microsoft Research introducerade AutoGen i september 2023 som ett open-source Python-ramverk för att bygga AI-agenter som kan samarbeta i komplexa, multi-agentsamarbeten. AutoGen har redan fått ett stort genomslag bland forskare, utvecklare och organisationer, med över 290 bidragsgivare på GitHub och nästan 900 000 nedladdningar fram till maj 2024. Byggande på denna framgång, presenterade Microsoft AutoGen Studio, ett lågkodsgränssnitt som möjliggör för utvecklare att snabbt skapa prototyper och experimentera med AI-agenter.
Denna bibliotek är för utveckling av intelligenta, modulära agenter som kan interagera sömlöst för att lösa intrikata uppgifter, automatisera beslutsfattande och effektivt köra kod.
Microsoft har också nyligen introducerat AutoGen Studio som förenklar utvecklingen av AI-agenter genom att tillhandahålla en interaktiv och användarvänlig plattform. Till skillnad från sin föregångare, minimerar AutoGen Studio behovet av omfattande kodning, och erbjuder ett grafiskt användargränssnitt (GUI) där användare kan dra och släppa agenter, konfigurera arbetsflöden och testa AI-drivna lösningar utan ansträngning.
Vad gör AutoGen unikt?
Att förstå AI-agenter
I sammanhanget med AI, är en agent en autonom programkomponent som kan utföra specifika uppgifter, ofta med hjälp av naturlig språkbehandling och maskinlärande. Microsofts AutoGen-ramverk förbättrar funktionerna i traditionella AI-agenter, och möjliggör för dem att engagera sig i komplexa, strukturerade samtal och till och med samarbeta med andra agenter för att uppnå gemensamma mål.
AutoGen stöder en stor mängd agenttyper och samtalsmönster. Denna flexibilitet gör det möjligt att automatisera arbetsflöden som tidigare krävde mänskligt ingripande, vilket gör det idealiskt för applikationer inom olika branscher, såsom finans, reklam, programvaruteknik och mer.
Samtals- och anpassningsbara agenter
AutoGen introducerar begreppet “samtalsbara” agenter, som är utformade för att bearbeta meddelanden, generera svar och utföra åtgärder baserat på naturliga språkinstruktioner. Dessa agenter är inte bara kapabla att engagera sig i rika dialoger, utan kan också anpassas för att förbättra deras prestanda på specifika uppgifter. Denna modulära design gör AutoGen till ett kraftfullt verktyg för både enkla och komplexa AI-projekt.
Nyckelagenttyper:
- Assistentagent: En LLM-aktiverad assistent som kan hantera uppgifter som kodning, felsökning eller besvarande av komplexa frågor.
- Användarproxagent: Simulerar användarbetende, vilket möjliggör för utvecklare att testa interaktioner utan att involvera en faktisk användare. Den kan också köra kod autonomt.
- Gruppsamtalsagenter: En samling av agenter som samarbetar, idealiskt för scenarier som kräver flera färdigheter eller perspektiv.
Multi-agentsamarbete
En av AutoGens mest imponerande funktioner är dess stöd för multi-agentsamarbete. Utvecklare kan skapa ett nätverk av agenter, var och en med specialiserade roller, för att hantera komplexa uppgifter mer effektivt. Dessa agenter kan kommunicera med varandra, utbyta information och fatta beslut kollektivt, vilket strömlinjeformar processer som annars skulle vara tidskrävande eller felbenägna.
Kärnfunktioner i AutoGen
1. Multi-agentramverk
AutoGen underlättar skapandet av agentnätverk där varje agent antingen kan arbeta oberoende eller i samordning med andra. Ramverket erbjuder flexibiliteten att utforma arbetsflöden som är fullständigt autonoma eller innehåller mänsklig tillsyn när det behövs.
Samtalsmönster inkluderar:
- En-till-en-samtal: Enkla interaktioner mellan två agenter.
- Hierarkiska strukturer: Agenter kan delegera uppgifter till underagenter, vilket gör det lättare att hantera komplexa problem.
- Gruppsamtal: Multi-agentsamtal där agenter samarbetar för att lösa en uppgift.
2. Kodkörning och automatisering
Till skillnad från många AI-ramverk, tillåter AutoGen agenter att generera, köra och felsöka kod automatiskt. Denna funktion är ovärderlig för programvaruteknik och dataanalysuppgifter, eftersom den minimerar mänskligt ingripande och påskyndar utvecklingscykler. Användarproxagenten kan identifiera körbara kodblock, köra dem och till och med förbättra utdata autonomt.
3. Integrering med verktyg och API:er
AutoGen-agenter kan interagera med externa verktyg, tjänster och API:er, vilket avsevärt utökar deras funktioner. Oavsett om det handlar om att hämta data från en databas, göra webbförfrågningar eller integrera med Azure-tjänster, erbjuder AutoGen ett robust ekosystem för att bygga funktionstäta applikationer.
4. Mänsklig ingripande i problemlösning
I scenarier där mänskligt ingripande är nödvändigt, stöder AutoGen mänsklig-agentinteraktion. Utvecklare kan konfigurera agenter att begära vägledning eller godkännande från en mänsklig användare innan de fortsätter med specifika uppgifter. Denna funktion säkerställer att kritiska beslut fattas omsorgsfullt och med rätt nivå av tillsyn.
Hur AutoGen fungerar: En djupdykning
Agentinitiering och konfiguration
Det första steget i att arbeta med AutoGen är att konfigurera och initiera dina agenter. Varje agent kan anpassas för att utföra specifika uppgifter, och utvecklare kan anpassa parametrar som LLM-modellen som används, de aktiverade färdigheterna och körningsmiljön.
Orkestrering av agentinteraktioner
AutoGen hanterar flödet av samtal mellan agenter på ett strukturerat sätt. Ett typiskt arbetsflöde kan se ut så här:
- Uppgiftsintroduktion: En användare eller agent introducerar en fråga eller uppgift.
- Agentbearbetning: De relevanta agenterna analyserar indata, genererar svar eller utför åtgärder.
- Agentkommunikation: Agenter delar data och insikter, och samarbetar för att slutföra uppgiften.
- Uppgiftskörning: Agenterna kör kod, hämtar information eller interagerar med externa system som behövs.
- Avslut: Samtalet avslutas när uppgiften är slutförd, ett feltröskel nås eller ett avslutningsvillkor utlöses.
Felhantering och självförbättring
AutoGens agenter är utformade för att hantera fel på ett intelligent sätt. Om en uppgift misslyckas eller producerar ett felaktigt resultat, kan agenten analysera problemet, försöka åtgärda det och till och med iterera på sin lösning. Denna självhelande förmåga är avgörande för att skapa tillförlitliga AI-system som kan fungera autonomt under långa perioder.
Krav och installation
Innan du börjar arbeta med AutoGen, se till att du har en god förståelse för AI-agenter, orkestreringsramverk och grunderna i Python-programmering. AutoGen är ett Python-baserat ramverk, och dess fulla potential realiseras när det kombineras med andra AI-tjänster, som OpenAIs GPT-modeller eller Microsoft Azure AI.
Installera AutoGen med pip:
För ytterligare funktioner, såsom optimerad sökfunktion eller integrering med externa bibliotek:
Konfigurera din miljö
AutoGen kräver att du konfigurerar miljövariabler och API-nycklar på ett säkert sätt. Låt oss gå igenom de grundläggande stegen som behövs för att initiera och konfigurera din arbetsyta:
- Ladda miljövariabler: Spara känsliga API-nycklar i en
.env-fil och ladda dem med hjälp avdotenvför att upprätthålla säkerhet. (api_key = os.environ.get(“OPENAI_API_KEY”)) - Välj din språkmodellskonfiguration: Bestäm vilken LLM du ska använda, till exempel GPT-4 från OpenAI eller någon annan föredragen modell. Konfigurationsinställningar som API-slutpunkter, modellnamn och nycklar måste definieras tydligt för att möjliggöra smidig kommunikation mellan agenter.
Bygga AutoGen-agenter för komplexa scenarier
För att bygga ett multi-agentsystem, måste du definiera agenterna och specificera hur de ska bete sig. AutoGen stöder olika agenttyper, var och en med distinkta roller och funktioner.
Skapa Assistent- och Användarproxagenter: Definiera agenter med avancerade konfigurationer för kodkörning och hantering av användarinteraktioner:












