Freigeben über


Microsoft Agent Framework

Microsoft Agent Framework ist ein Open-Source Development Kit zum Erstellen von KI-Agents und Multi-Agent-Workflows für .NET und Python. Sie vereint Ideen aus Semantic Kernel - und AutoGen-Projekten und kombiniert ihre Stärken und fügt neue Funktionen hinzu. Von den gleichen Teams erstellt, ist es die einheitliche Grundlage für die zukünftige Erstellung von KI-Agents.

Agent Framework bietet zwei hauptkategorien von Funktionen:

  • KI-Agents: Einzelne Agents, die LLMs zum Verarbeiten von Benutzereingaben, Anruftools und MCP-Servern verwenden, um Aktionen auszuführen und Antworten zu generieren. Agents unterstützen Modellanbieter wie Azure OpenAI, OpenAI und Azure AI.
  • Workflows: Graphbasierte Workflows, die mehrere Agents und Funktionen verbinden, um komplexe, mehrstufige Aufgaben auszuführen. Workflows unterstützen typbasiertes Routing, Schachteln, Prüfpunkting und Anforderungs-/Antwortmuster für Szenarien mit menschlichen In-the-Loop-Szenarien.

Das Framework bietet auch grundlegende Bausteine, einschließlich Modellclients (Chatabschluss und Antworten), einen Agentthread für die Zustandsverwaltung, Kontextanbieter für Agentspeicher, Middleware zum Abfangen von Agentaktionen und MCP-Clients für die Toolintegration. Diese Komponenten bieten Ihnen gemeinsam die Flexibilität und Leistungsfähigkeit, interaktive, robuste und sichere KI-Anwendungen zu erstellen.

Warum ein anderes Agent-Framework?

Semantischer Kernel und AutoGen haben die Konzepte von KI-Agents und Multi-Agent-Orchestrierung pioniert. Das Agent Framework ist der direkte Nachfolger, der von denselben Teams erstellt wurde. Es kombiniert die einfachen Abstraktionen von AutoGen für Einzel- und Multi-Agent-Muster mit den Features des semantischen Kernels auf Unternehmensniveau, z. B. threadbasierte Zustandsverwaltung, Typsicherheit, Filter, Telemetrie und umfangreiche Unterstützung für Modell und Einbettung. Darüber hinaus führt Agent Framework Workflows ein, die Entwicklern explizite Kontrolle über Multi-Agent-Ausführungspfade bieten, sowie ein robustes Zustandsverwaltungssystem für lang andauernde und benutzerinterne Szenarien. Kurz gesagt, Agent Framework ist die nächste Generation von Semantic Kernel und AutoGen.

Weitere Informationen zum Migrieren von Semantikkernkern oder AutoGen finden Sie im Migrationshandbuch aus dem semantischen Kernel und dem Migrationshandbuch von AutoGen.

Sowohl der semantische Kernel als auch autoGen haben von der Open-Source-Community profitiert, und das gleiche wird für Das Agent Framework erwartet. Microsoft Agent Framework begrüßt Beiträge und verbessert weiterhin neue Features und Funktionen.

Hinweis

Microsoft Agent Framework befindet sich derzeit in der öffentlichen Vorschau. Bitte übermitteln Sie Feedback oder Probleme im GitHub-Repository.

Von Bedeutung

Wenn Sie Microsoft Agent Framework verwenden, um Anwendungen zu erstellen, die mit Servern oder Agents von Drittanbietern arbeiten, tun Sie dies auf eigene Gefahr. Es wird empfohlen, alle Daten zu überprüfen, die mit Servern oder Agents von Drittanbietern geteilt werden und die Praktiken dritter Parteien für die Aufbewahrung und den Speicherort von Daten erkennen. Es liegt in Ihrer Verantwortung, zu verwalten, ob Ihre Daten außerhalb der Azure-Compliance- und geografischen Grenzen Ihrer Organisation und alle damit verbundenen Auswirkungen fließen.

Installation

Python:

pip install agent-framework --pre

.NETTO:

dotnet add package Microsoft.Agents.AI

KI-Agenten

Was ist ein KI-Agent?

Ein KI-Agent verwendet eine LLM zum Verarbeiten von Benutzereingaben, Treffen von Entscheidungen, Anruftools und MCP-Servern zum Ausführen von Aktionen und Generieren von Antworten. Das folgende Diagramm veranschaulicht die Kernkomponenten und deren Interaktionen in einem KI-Agent:

KI-Agent-Diagramm

Ein KI-Agent kann auch mit zusätzlichen Komponenten wie einem Thread, einem Kontextanbieter und Middleware erweitert werden, um seine Funktionen zu verbessern.

Wann soll ein KI-Agent verwendet werden?

KI-Agents eignen sich für Anwendungen, die autonome Entscheidungsfindung, Ad-hoc-Planung, Test- und Fehlersuche und unterhaltungsbasierte Benutzerinteraktionen erfordern. Sie sind besonders nützlich für Szenarien, in denen die Eingabeaufgabe unstrukturiert ist und im Voraus nicht einfach definiert werden kann.

Im Folgenden finden Sie einige häufige Szenarien, in denen KI-Agents excelieren:

  • Kundensupport: KI-Agents können multi modale Abfragen (Text, Sprache, Bilder) von Kunden verarbeiten, Tools zum Nachschlagen von Informationen verwenden und Antworten auf natürliche Sprachen bereitstellen.
  • Bildung und Tutoring: KI-Agenten können externe Wissensbasen nutzen, um personalisierte Tutoring zu bieten und Schülerfragen zu beantworten.
  • Codegenerierung und Debugging: Für Softwareentwickler können KI-Agents die Implementierung, Codeüberprüfungen und Debugging mithilfe verschiedener Programmiertools und Umgebungen unterstützen.
  • Forschungsunterstützung: Für Forscher und Analysten können KI-Agenten das Web durchsuchen, Dokumente zusammenfassen und Informationen aus mehreren Quellen zusammenfassen.

Der Schlüssel ist, dass KI-Agents so konzipiert sind, dass sie in einer dynamischen und nicht spezifizierten Einstellung ausgeführt werden können, wobei die genaue Abfolge der Schritte zur Erfüllung einer Benutzeranforderung im Voraus nicht bekannt ist und möglicherweise eine Erkundung und enge Zusammenarbeit mit Benutzern erfordert.

Wann soll kein KI-Agent verwendet werden?

KI-Agents eignen sich nicht gut für Vorgänge, die hochgradig strukturiert sind und eine strikte Einhaltung vordefinierter Regeln erfordern. Wenn Ihre Anwendung eine bestimmte Art von Eingabe antizipiert und eine gut definierte Abfolge von Vorgängen ausführt, kann die Verwendung von KI-Agents unnötige Unsicherheit, Latenz und Kosten zur Folge haben.

Wenn Sie eine Funktion schreiben können, um die Aufgabe zu verarbeiten, führen Sie dies aus, anstatt einen KI-Agent zu verwenden. Sie können KI verwenden, um diese Funktion zu schreiben.

Ein einzelner KI-Agent kann mit komplexen Aufgaben kämpfen, die mehrere Schritte und Entscheidungspunkte umfassen. Solche Aufgaben erfordern möglicherweise eine große Anzahl von Tools (z. B. über 20), die ein einzelner Agent nicht verwalten kann.

In diesen Fällen sollten Sie stattdessen Workflows verwenden.

Workflows

Was ist ein Workflow?

Ein Workflow kann eine vordefinierte Abfolge von Vorgängen ausdrücken, die KI-Agents als Komponenten enthalten und gleichzeitig Konsistenz und Zuverlässigkeit beibehalten. Workflows sind so konzipiert, dass komplexe und langfristige Prozesse verarbeitet werden, die mehrere Agents, menschliche Interaktionen und Integrationen mit externen Systemen umfassen können.

Die Ausführungssequenz eines Workflows kann explizit definiert werden, sodass mehr Kontrolle über den Ausführungspfad möglich ist. Das folgende Diagramm veranschaulicht ein Beispiel für einen Workflow, der zwei KI-Agents und eine Funktion verbindet:

Workflow-Diagramm

Workflows können dynamische Sequenzen auch mithilfe von bedingtem Routing, modellbasierter Entscheidungsfindung und gleichzeitiger Ausführung ausdrücken. So werden Multi-Agent-Orchestrierungsmuster implementiert. Die Orchestrierungsmuster stellen Mechanismen bereit, um mehrere Agents zu koordinieren, um an komplexen Aufgaben zu arbeiten, die mehrere Schritte und Entscheidungspunkte erfordern und die Einschränkungen einzelner Agents behandeln.

Welche Probleme lösen Workflows?

Workflows bieten eine strukturierte Möglichkeit zum Verwalten komplexer Prozesse, die mehrere Schritte, Entscheidungspunkte und Interaktionen mit verschiedenen Systemen oder Agents umfassen. Die Arten von Aufgabenworkflows sind so konzipiert, dass häufig mehr als ein KI-Agent erforderlich ist.

Hier sind einige der wichtigsten Vorteile von Agent Framework-Workflows:

  • Modularität: Workflows können in kleinere, wiederverwendbare Komponenten unterteilt werden, wodurch es einfacher ist, einzelne Teile des Prozesses zu verwalten und zu aktualisieren.
  • Agent-Integration: Workflows können mehrere KI-Agents zusammen mit nicht-agentischen Komponenten integrieren, was eine komplexe Orchestrierung von Aufgaben ermöglicht.
  • Typsicherheit: Starke Typisierung stellt sicher, dass Nachrichten ordnungsgemäß zwischen Komponenten fließen, mit umfassenden Validierungen, die Laufzeitfehler verhindern.
  • Flexibler Fluss: Graphbasierte Architektur ermöglicht eine intuitive Modellierung komplexer Workflows mit executors und edges. Bedingtes Routing, parallele Verarbeitung und dynamische Ausführungspfade werden unterstützt.
  • Externe Integration: Integrierte Anforderungs-/Antwortmuster ermöglichen eine nahtlose Integration mit externen APIs und unterstützen Human-in-the-Loop-Szenarien.
  • Prüfpunkt: Speichern Sie Workflowzustände über Prüfpunkte, wodurch Wiederherstellung und Wiederaufnahme von lang ausgeführten Prozessen auf der Serverseite ermöglicht wird.
  • Multi-Agent Orchestration: Integrierte Muster für die Koordination mehrerer KI-Agents, einschließlich sequenzieller, gleichzeitiger, Übergabe und Magentic.
  • Kompositierbarkeit: Workflows können geschachtelt oder kombiniert werden, um komplexere Prozesse zu erstellen, was Skalierbarkeit und Anpassungsfähigkeit ermöglicht.

Nächste Schritte