Freigeben über


Semantic-Kernel-Agenten-Framework

Wichtig

Einzel-Agent-Features wie ChatCompletionAgent und OpenAIAssistantAgent befinden sich in der Veröffentlichungskandidatenphase. Diese Features sind nahezu vollständig und allgemein stabil, obwohl sie geringfügige Verfeinerungen oder Optimierungen durchlaufen können, bevor sie die vollständige allgemeine Verfügbarkeit erreichen. Agent-Chatmuster befinden sich jedoch noch in der experimentellen Phase. Diese Muster befinden sich in der aktiven Entwicklung und können sich erheblich ändern, bevor sie zur Vorschau- oder Veröffentlichungskandidatenstufe wechseln.

Das Semantic Kernel-Agent-Framework bietet eine Plattform innerhalb des Semantischen Kernel-Ökosystems, die die Erstellung von KI--Agents und die Möglichkeit, agentische Muster in jede Anwendung zu integrieren, die auf denselben Mustern und Eigenschaften basiert, die im zentralen Semantic Kernel-Framework vorhanden sind.

Was ist ein KI-Agent?

Ein KI-Agent ist eine Softwareentität, die zum autonomen oder halbautonen Ausführen von Aufgaben entwickelt wurde, indem Sie Eingaben, Verarbeitungsinformationen erhalten und Maßnahmen ergreifen, um bestimmte Ziele zu erreichen.

Agents können Nachrichten senden und empfangen, Antworten mithilfe einer Kombination aus Modellen, Tools, menschlichen Eingaben oder anderen anpassbaren Komponenten generieren.

Agents sind so konzipiert, dass sie zusammenarbeiten und komplexe Workflows ermöglichen, indem sie miteinander interagieren. Die Agent Framework ermöglicht die Erstellung sowohl einfacher als auch anspruchsvoller Agenten und verbessert die Modularität sowie die Wartungsfreundlichkeit.

Welche Probleme lösen KI-Agents?

KI-Agents bieten verschiedene Vorteile für die Anwendungsentwicklung, insbesondere durch die Schaffung modularer KI-Komponenten, die zusammenarbeiten können, um den manuellen Eingriff in komplexe Aufgaben zu reduzieren. KI-Agents können autonom oder halbautonom arbeiten, was sie zu leistungsstarken Werkzeugen für eine Vielzahl von Anwendungen macht.

Hier sind einige der Hauptvorteile:

  • Modulare Komponenten: Ermöglicht Es Entwicklern, verschiedene Arten von Agents für bestimmte Aufgaben zu definieren (z. B. Datenwrott, API-Interaktion oder Verarbeitung natürlicher Sprachen). Dies erleichtert die Anpassung der Anwendung, wenn sich anforderungen entwickeln oder neue Technologien entstehen.

  • Zusammenarbeit: Mehrere Agents können an Aufgaben zusammenarbeiten. Beispielsweise kann ein Agent die Datensammlung behandeln, während ein anderer die Daten analysiert und ein anderer die Ergebnisse verwendet, um Entscheidungen zu treffen, wodurch ein komplexeres System mit verteilter Intelligenz erstellt wird.

  • Human-Agent-Zusammenarbeit: Mensch-in-der-Schleife-Interaktionen ermöglichen es Agenten, Seite an Seite mit Menschen zu arbeiten, um Entscheidungsprozesse zu unterstützen. Beispielsweise können Agenten Datenanalysen vorbereiten, die Menschen überprüfen und optimieren können, um so die Produktivität zu verbessern.

  • Prozess-Orchestrierung: Agents können verschiedene Aufgaben über Systeme, Tools und APIs hinweg koordinieren, um End-to-End-Prozesse wie Anwendungsbereitstellungen, Cloud-Orchestrierung oder sogar kreative Prozesse wie Schreiben und Entwerfen zu automatisieren.

Wann soll ein KI-Agent verwendet werden?

Die Verwendung eines Agent-Frameworks für die Anwendungsentwicklung bietet Vorteile, die besonders für bestimmte Anwendungstypen von Vorteil sind. Während herkömmliche KI-Modelle häufig als Tools zum Ausführen bestimmter Aufgaben (z. B. Klassifizierung, Vorhersage oder Erkennung) verwendet werden, führen Agenten mehr Autonomie, Flexibilität und Interaktivität in den Entwicklungsprozess ein.

  • Autonomie und Entscheidungsfindung: Wenn Ihre Anwendung Entitäten erfordert, die unabhängige Entscheidungen treffen und sich an sich ändernde Bedingungen anpassen können (z. B. Robotersysteme, autonome Fahrzeuge, intelligente Umgebungen), ist ein Agent-Framework bevorzugt.

  • Multi-Agent-Zusammenarbeit: Wenn Ihre Anwendung komplexe Systeme umfasst, die mehrere unabhängige Komponenten für die Zusammenarbeit benötigen (z. B. Supply Chain Management, verteilte Computer oder Schwarmrobotik), bieten Agenten integrierte Mechanismen für Koordination und Kommunikation.

  • Interaktiv und zielorientiert: Wenn Ihre Anwendung zielgesteuertes Verhalten umfasst (z. B. das autonome Ausführen von Aufgaben oder die Interaktion mit Benutzern, um bestimmte Ziele zu erreichen), sind agentbasierte Frameworks eine bessere Wahl. Beispiele hierfür sind virtuelle Assistenten, Spiele-KI und Aufgabenplaner.

Wie installiere ich das Semantic Kernel Agent Framework?

Die Installation des Agent Framework SDK ist spezifisch für den Verteilungskanal, der Ihrer Programmiersprache zugeordnet ist.

Für .NET SDK sind mehrere NuGet-Pakete verfügbar.

Hinweis: Das kernemantische Kernel-SDK ist zusätzlich zu allen Agentpaketen erforderlich.

Paket Beschreibung
Microsoft.SemanticKernel Dies enthält die wichtigsten semantischen Kernel- Bibliotheken für die ersten Schritte mit dem Agent Framework. Dies muss explizit von Ihrer Anwendung referenziert werden.
Microsoft.SemanticKernel.Agents.Abstractions Definiert die Kernagenten-Abstraktionen für die Agent Framework. In der Regel muss nicht angegeben werden, da sie sowohl in den Paketen Microsoft.SemanticKernel.Agents.Core als auch in den Microsoft.SemanticKernel.Agents.OpenAI Paketen enthalten ist.
Microsoft.SemanticKernel.Agents.Core Enthält die ChatCompletionAgent und AgentGroupChat Klassen.
Microsoft.SemanticKernel.Agents.OpenAI Bietet die Möglichkeit, die OpenAI-Assistenten-API über die OpenAIAssistantAgentzu verwenden.
Modul Beschreibung
semantic-kernel.agents Dies ist die semantische Kernel-Bibliothek, um mit dem Agent Frameworkloszulegen. Dies muss explizit von Ihrer Anwendung referenziert werden. Dieses Modul enthält die klassen ChatCompletionAgent und AgentGroupChat sowie die Möglichkeit, die OpenAI Assistant API über die OpenAIAssistantAgent oder AzureOpenAssistantzu verwenden.

Derzeit sind Agents in Java nicht verfügbar.