Kunstig intelligens
Microsoft AutoGen: Multi-Agent AI Workflows med avanceret automatisering

Microsoft Research introducerede AutoGen i september 2023 som et open-source Python-rammeark til opbygning af AI-agenter, der kan udføre komplekse, multi-agentsamarbejder. AutoGen har allerede fået godt fodfæste blandt forskere, udviklere og organisationer, med over 290 bidragsydere på GitHub og næsten 900.000 downloads pr. maj 2024. Bygget på denne succes introducerede Microsoft AutoGen Studio, et lavkode-grænseflade, der giver udviklere mulighed for at hurtigt oprette prototyper og eksperimentere med AI-agenter.
Denne bibliotek er til udvikling af intelligente, modulære agenter, der kan interagere sammen uden problemer for at løse komplekse opgaver, automatisere beslutningstagning og effektivt udføre kode.
Microsoft introducerede også AutoGen Studio, der forenkler AI-agents udvikling ved at give en interaktiv og brugervenlig platform. I modsætning til sin forgænger minimiserer AutoGen Studio behovet for omfattende kodning, og tilbyder en grafisk brugerflade (GUI), hvor brugere kan trække og slippe agenter, konfigurere arbejdsgange og teste AI-drevne løsninger uden besvær.
Hvad gør AutoGen unikt?
Forståelse af AI-agenter
I sammenhæng med AI er en agent en selvstændig softwarekomponent, der kan udføre bestemte opgaver, ofte ved hjælp af naturlig sprogbehandling og maskinel læring. Microsofts AutoGen-rammeark udvider kapaciteten af traditionelle AI-agenter, så de kan engagere sig i komplekse, strukturerede samtaler og endda samarbejde med andre agenter for at opnå fælles mål.
AutoGen understøtter en bred vifte af agenttyper og samtalemodeller. Denne fleksibilitet giver det mulighed for at automatisere arbejdsgange, der tidligere krævede menneskelig indgriben, hvilket gør det ideelt for anvendelser på tværs af diverse brancher som finans, reklame, software-ingeniørarbejde og mere.
Samtale- og tilpassede agenter
AutoGen introducerer begrebet “samtalende” agenter, der er designet til at behandle beskeder, generere svar og udføre handlinger baseret på naturlige sprogbeskeder. Disse agenter er ikke kun i stand til at engagere sig i rigelige dialoger, men kan også tilpasses for at forbedre deres præstation på bestemte opgaver. Denne modulære design gør AutoGen til et kraftfuldt værktøj til både simple og komplekse AI-projekter.
Nøgleagenttyper:
- Assistentagent: En LLM-drevet assistent, der kan håndtere opgaver som kodning, fejlfinding eller besvare komplekse spørgsmål.
- Brugerproxyagent: Simulerer brugeradfærd, hvilket giver udviklere mulighed for at teste interaktioner uden at involvere en rigtig bruger. Den kan også udføre kode selvstændigt.
- Gruppechatagent: En samling af agenter, der arbejder sammen, ideel for scenarier, der kræver multiple færdigheder eller perspektiver.
Multi-agent-samarbejde
En af AutoGens mest imponerende funktioner er dens understøttelse af multi-agent-samarbejde. Udviklere kan oprette et netværk af agenter, hver med specialiserede roller, for at løse komplekse opgaver mere effektivt. Disse agenter kan kommunikere med hinanden, udveksle information og træffe kollektive beslutninger, hvilket strømliner processer, der ellers ville være tidskrævende eller fejlbehæftede.
Kernefunktioner i AutoGen
1. Multi-agent-rammeark
AutoGen faciliterer oprettelsen af agentnetværk, hvor hver agent kan enten arbejde uafhængigt eller i koordination med andre. Rammearket giver fleksibilitet til at designe arbejdsgange, der er fuldstændigt autonome eller inkluderer menneskelig overvågning, når det er nødvendigt.
Samtalemodeller inkluderer:
- En-til-en-samtaler: Simple interaktioner mellem to agenter.
- Hierarkiske strukturer: Agenter kan delegere opgaver til underagenter, hvilket gør det lettere at håndtere komplekse problemer.
- Gruppesamtaler: Multi-agent-gruppesamtaler, hvor agenter samarbejder om at løse en opgave.
2. Kodekørsel og automatisering
I modsætning til mange AI-rammeark giver AutoGen agenter mulighed for at generere, køre og fejlfinde kode automatisk. Denne funktion er uvurderlig for software-ingeniørarbejde og dataanalyseopgaver, da den minimiserer menneskelig indgriben og accelererer udviklingscyklerne. Brugerproxyagenten kan identificere kørbare kodeblokke, køre dem og endda forfine outputtet selvstændigt.
3. Integration med værktøjer og API’er
AutoGen-agenter kan interagere med eksterne værktøjer, tjenester og API’er, hvilket udvider deres kapaciteter betydeligt. Uanset om det er at hente data fra en database, foretage webforespørgsler eller integrere med Azure-tjenester, giver AutoGen en robust økosystem for opbygning af funktionelle applikationer.
4. Menneske-i-løkken-problemløsning
I scenarier, hvor menneskelig indgriben er nødvendig, understøtter AutoGen menneske-agents-interaktioner. Udviklere kan konfigurere agenter til at anmode om vejledning eller godkendelse fra en menneskelig bruger, før de fortsætter med bestemte opgaver. Denne funktion sikrer, at kritiske beslutninger træffes omhyggeligt og med det rette niveau af overvågning.
Hvordan AutoGen fungerer: En dybdeundersøgelse
Agentinitialisering og konfiguration
Det første skridt i arbejdet med AutoGen indebærer opsætning og konfiguration af agenterne. Hver agent kan tilpasses til at udføre bestemte opgaver, og udviklere kan tilpasse parametre som LLM-modellen, der bruges, færdighederne, der er aktiveret, og kørselsmiljøet.
Koordinering af agents-interaktioner
AutoGen håndterer informationsflowet mellem agenter på en struktureret måde. En typisk arbejdsgang kunne se således ud:
- Opgaveindføring: En bruger eller agent introducerer en opgave eller spørgsmål.
- Agentbehandling: De relevante agenter analyserer input, genererer svar eller udfører handlinger.
- Inter-agents-kommunikation: Agenter deler data og indsigt, samarbejder om at fuldføre opgaven.
- Opgavekørsel: Agenterne udfører kode, henter information eller interagerer med eksterne systemer, som det er nødvendigt.
- Afslutning: Samtalen afsluttes, når opgaven er fuldført, en fejlgrænse er nået eller en afslutningsbetingelse udløses.
Fejlhåndtering og selvforbedring
AutoGens agenter er designet til at håndtere fejl intelligent. Hvis en opgave mislykkes eller producerer et forkert resultat, kan agenten analysere problemet, forsøge at løse det og endda iterere på sin løsning. Denne selvhelbredende kapacitet er afgørende for at skabe pålidelige AI-systemer, der kan fungere selvstændigt over længere perioder.
Forudsætninger og installation
Før du arbejder med AutoGen, skal du sikre, at du har en solid forståelse for AI-agenter, orkestreringsrammeark og grundlæggende Python-programmering. AutoGen er et Python-baseret rammeark, og dens fulde potentiale realiseres, når den kombineres med andre AI-tjenester, som OpenAIs GPT-modeller eller Microsoft Azure AI.
Installér AutoGen ved hjælp af pip:
Til ekstra funktioner, såsom optimeret søgefunktion eller integration med eksterne biblioteker:
Konfiguration af miljø
AutoGen kræver, at du konfigurerer miljøvariabler og API-nøgler sikkert. Lad os gå igennem de grundlæggende skridt, der er nødvendige for at initialisere og konfigurere arbejdsområdet:
- Indlæsning af miljøvariabler: Gem følsomme API-nøgler i en
.env-fil og indlæs dem ved hjælp afdotenvfor at opretholde sikkerheden. (api_key = os.environ.get(“OPENAI_API_KEY”)) - Valg af sprogmodelkonfiguration: Beslut, hvilken LLM du vil bruge, såsom GPT-4 fra OpenAI eller en anden foretrukken model. Konfigurationsindstillinger som API-endpoints, modelnavne og nøgler skal defineres tydeligt for at muliggøre problemfri kommunikation mellem agenter.
Opbygning af AutoGen-agenter til komplekse scenarier
For at opbygge et multi-agent-system skal du definere agenterne og specificere, hvordan de skal opføre sig. AutoGen understøtter forskellige agenttyper, hver med distinkte roller og kapaciteter.
Oprettelse af assistent- og brugerproxyagenter: Definér agenter med avancerede konfigurationer for at udføre kode og håndtere brugerinteraktioner:












