Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Microsoft Agent Framework är ett utvecklingspaket med öppen källkod för att skapa AI-agenter och arbetsflöden för flera agenter för .NET och Python. Den sammanför och utökar idéer från Semantic Kernel - och AutoGen-projekt , kombinerar deras styrkor och lägger till nya funktioner. Den är byggd av samma team och är den enhetliga grunden för att skapa AI-agenter framöver.
Agent Framework erbjuder två primära kategorier av funktioner:
- AI-agenter: Enskilda agenter som använder LLM:er för att bearbeta användarindata, anropa verktyg och MCP-servrar för att utföra åtgärder och generera svar. Agenter stöder modellleverantörer som Azure OpenAI, OpenAI och Azure AI.
- Arbetsflöden: Grafbaserade arbetsflöden som ansluter flera agenter och funktioner för att utföra komplexa uppgifter i flera steg. Arbetsflöden har stöd för typbaserad routning, kapsling, kontrollpunkter och mönster för begäran/svar för scenarier med mänsklig in-the-loop.
Ramverket innehåller också grundläggande byggstenar, inklusive modellklienter (chattavslutningar och svar), en agenttråd för tillståndshantering, kontextprovidrar för agentminne, mellanprogram för avlyssning av agentåtgärder och MCP-klienter för verktygsintegrering. Tillsammans ger dessa komponenter dig flexibilitet och kraft att skapa interaktiva, robusta och säkra AI-program.
Varför ett annat agentramverk?
Semantisk kernel och AutoGen har banat väg för begreppen AI-agenter och orkestrering med flera agenter. AgentRamverket är den direkta efterföljare som skapats av samma team. Den kombinerar AutoGens enkla abstraktioner för enkel- och multiagentmönster med Semantic Kernels funktioner i företagsklass, till exempel trådbaserad tillståndshantering, typsäkerhet, filter, telemetri och omfattande modell- och inbäddningsstöd. Förutom att slå samman de två introducerar Agent Framework arbetsflöden som ger utvecklare explicit kontroll över körningsvägar för flera agenter, plus ett robust tillståndshanteringssystem för långvariga och mänskliga scenarier i loopen. Kort och väl är Agent Framework nästa generation av både semantisk kernel och AutoGen.
Mer information om hur du migrerar från semantisk kernel eller AutoGen finns i migreringsguiden från semantisk kernel och migreringsguide från AutoGen.
Både Semantic Kernel och AutoGen har dragit stor nytta av communityn med öppen källkod, och detsamma förväntas för Agent Framework. Microsoft Agent Framework välkomnar bidrag och kommer att fortsätta att förbättras med nya funktioner.
Anmärkning
Microsoft Agent Framework är för närvarande i offentlig förhandsversion. Skicka feedback eller problem på GitHub-lagringsplatsen.
Viktigt!
Om du använder Microsoft Agent Framework för att skapa program som fungerar med servrar eller agenter från tredje part gör du det på egen risk. Vi rekommenderar att du granskar alla data som delas med servrar eller agenter från tredje part och är medvetna om metoder från tredje part för kvarhållning och plats för data. Det är ditt ansvar att hantera om dina data kommer att flöda utanför organisationens Azure-efterlevnad och geografiska gränser och eventuella relaterade konsekvenser.
Installation
Pytonorm:
pip install agent-framework
.NÄT:
dotnet add package Microsoft.Agents.AI
AI-agenter
Vad är en AI-agent?
En AI-agent använder en LLM för att bearbeta användarindata, fatta beslut, anropa verktyg och MCP-servrar för att utföra åtgärder och generera svar. Följande diagram illustrerar kärnkomponenterna och deras interaktioner i en AI-agent:
En AI-agent kan också utökas med ytterligare komponenter, till exempel en tråd, en kontextprovider och mellanprogram för att förbättra dess funktioner.
När ska en AI-agent användas?
AI-agenter är lämpliga för program som kräver självständigt beslutsfattande, ad hoc-planering, utvärderings- och felgranskning och konversationsbaserade användarinteraktioner. De är särskilt användbara för scenarier där indataaktiviteten är ostrukturerad och inte enkelt kan definieras i förväg.
Här följer några vanliga scenarier där AI-agenter utmärker sig:
- Kundsupport: AI-agenter kan hantera multimodala frågor (text, röst, bilder) från kunder, använda verktyg för att söka efter information och tillhandahålla svar på naturligt språk.
- Utbildning och handledning: AI-agenter kan utnyttja externa kunskapsbaser för att tillhandahålla personlig handledning och besvara studentfrågor.
- Kodgenerering och felsökning: För programutvecklare kan AI-agenter hjälpa till med implementering, kodgranskningar och felsökning med hjälp av olika programmeringsverktyg och miljöer.
- Forskningshjälp: För forskare och analytiker kan AI-agenter söka på webben, sammanfatta dokument och pussla ihop information från flera källor.
Nyckeln är att AI-agenter är utformade för att fungera i en dynamisk och underspecifik inställning, där den exakta sekvensen med steg för att uppfylla en användarbegäran inte är känd i förväg och kan kräva utforskning och nära samarbete med användare.
När ska du inte använda en AI-agent?
AI-agenter passar inte bra för uppgifter som är mycket strukturerade och kräver strikt efterlevnad av fördefinierade regler. Om ditt program förväntar sig en specifik typ av indata och har en väldefinierad sekvens av åtgärder att utföra, kan användning av AI-agenter medföra onödig osäkerhet, svarstid och kostnad.
Om du kan skriva en funktion för att hantera uppgiften gör du det i stället för att använda en AI-agent. Du kan använda AI för att skriva den funktionen.
En enda AI-agent kan kämpa med komplexa uppgifter som omfattar flera steg och beslutspunkter. Sådana uppgifter kan kräva ett stort antal verktyg (till exempel över 20), som en enda agent inte kan hantera.
I dessa fall bör du överväga att använda arbetsflöden i stället.
Arbetsflöden
Vad är ett arbetsflöde?
Ett arbetsflöde kan uttrycka en fördefinierad sekvens av åtgärder som kan innehålla AI-agenter som komponenter samtidigt som konsekvens och tillförlitlighet bibehålls. Arbetsflöden är utformade för att hantera komplexa och långvariga processer som kan omfatta flera agenter, mänskliga interaktioner och integreringar med externa system.
Körningssekvensen för ett arbetsflöde kan definieras explicit, vilket ger mer kontroll över körningssökvägen. Följande diagram illustrerar ett exempel på ett arbetsflöde som ansluter två AI-agenter och en funktion:
Arbetsflöden kan också uttrycka dynamiska sekvenser med villkorlig routning, modellbaserat beslutsfattande och samtidig körning. Så här implementeras dirigeringsmönster för flera agenter . Orkestreringsmönstren tillhandahåller mekanismer för att samordna flera agenter för att arbeta med komplexa uppgifter som kräver flera steg och beslutspunkter, vilket tar itu med begränsningarna för enskilda agenter.
Vilka problem löser arbetsflöden?
Arbetsflöden är ett strukturerat sätt att hantera komplexa processer som omfattar flera steg, beslutspunkter och interaktioner med olika system eller agenter. De typer av uppgiftsarbetsflöden som är utformade för att hantera kräver ofta mer än en AI-agent.
Här är några av de viktigaste fördelarna med Agent Framework-arbetsflöden:
- Modularitet: Arbetsflöden kan delas upp i mindre, återanvändbara komponenter, vilket gör det enklare att hantera och uppdatera enskilda delar av processen.
- Agentintegrering: Arbetsflöden kan innehålla flera AI-agenter tillsammans med icke-agentiska komponenter, vilket möjliggör avancerad orkestrering av uppgifter.
- Typsäkerhet: Stark typning säkerställer att meddelanden flödar korrekt mellan komponenter, med omfattande validering som förhindrar körningsfel.
-
Flexibelt flöde: Grafbaserad arkitektur möjliggör intuitiv modellering av komplexa arbetsflöden med
executorsochedges. Villkorsstyrd routning, parallell bearbetning och dynamiska körningssökvägar stöds. - Extern integrering: Inbyggda mönster för begäran/svar möjliggör sömlös integrering med externa API:er och stöder scenarier som är mänskliga i loopen.
- Kontrollpunkter: Spara arbetsflödestillstånd via kontrollpunkter, vilket möjliggör återställning och återupptagande av långvariga processer på serversidan.
- Orkestrering med flera agenter: Inbyggda mönster för samordning av flera AI-agenter, inklusive sekventiell, samtidig, hand-off och Magentic.
- Sammansättning: Arbetsflöden kan kapslas eller kombineras för att skapa mer komplexa processer, vilket möjliggör skalbarhet och anpassningsbarhet.