Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Von Bedeutung
Agent Orchestration-Features im Agent Framework befinden sich in der experimentellen Phase. Sie befinden sich in der aktiven Entwicklung und können sich erheblich ändern, bevor sie zur Vorschau- oder Veröffentlichungskandidatenphase wechseln.
Das Agent Orchestration-Framework des semantischen Kernels ermöglicht Es Entwicklern, komplexe Agent-Workflows mühelos zu erstellen, zu verwalten und zu skalieren.
Warum Multi-Agent Orchestration?
Herkömmliche Einzelagentensysteme sind in ihrer Fähigkeit eingeschränkt, komplexe, vielschichtige Aufgaben zu bewältigen. Durch die Orchestrierung mehrerer Agents mit speziellen Fähigkeiten oder Rollen können wir Systeme erstellen, die robuster, adaptiver und in der Lage sind, reale Probleme gemeinsam zu lösen. Multi-Agent-Orchestrierung im semantischen Kernel bietet eine flexible Grundlage für die Erstellung solcher Systeme, die eine Vielzahl von Koordinationsmustern unterstützen.
Orchestrierungsmuster
Der semantische Kernel unterstützt mehrere Orchestrierungsmuster, die jeweils für unterschiedliche Zusammenarbeitsszenarien entwickelt wurden. Diese Muster sind als Teil des Frameworks verfügbar und können einfach erweitert oder angepasst werden.
Unterstützte Orchestrierungsmuster
Muster | BESCHREIBUNG | Typischer Anwendungsfall |
---|---|---|
Gleichzeitig | Sendet eine Aufgabe aus an alle Agenten, Ergebnisse werden unabhängig voneinander gesammelt. | Parallele Analyse, unabhängige Teilvorgänge, Ensembleentscheidungsfindung. |
Sequenziell | Übergibt das Ergebnis von einem Agent an die nächste in einer definierten Reihenfolge. | Schrittweise Workflows, Pipelines, mehrstufige Verarbeitung. |
Handoff- | Übergibt die Steuerung dynamisch zwischen Agents basierend auf Kontext oder Regeln. | Dynamische Workflows, Eskalations-, Fallback- oder Expertenhandoffszenarien. |
Gruppenchat | Alle Agents nehmen an einer Gruppenunterhaltung teil, die von einem Gruppenleiter koordiniert wird. | Brainstorming, kollaborative Problemlösung, Konsensbildung. |
Magentisch | Gruppenchat-ähnliche Orchestrierung inspiriert von MagenticOne. | Komplexe, generalistische Multi-Agent-Zusammenarbeit. |
Einfachheit und Entwicklerfreundlichkeit
Alle Orchestrierungsmuster teilen eine einheitliche Schnittstelle für Konstruktion und Aufrufe. Egal, welche Orchestrierung Sie wählen, Sie:
- Definieren Sie Ihre Agents und deren Funktionen, siehe semantische Kernel-Agents.
- Erstellen Sie eine Orchestrierung, indem Sie die Agenten einbinden (und gegebenenfalls einen Vorgesetzten).
- Stellen Sie optional Rückrufe oder Transformationen für die benutzerdefinierte Eingabe-/Ausgabebehandlung bereit.
- Starten Sie eine Laufzeit, und rufen Sie die Orchestrierung mit einer Aufgabe auf.
- Warten Sie in einer konsistenten, asynchronen Weise auf das Ergebnis.
Dieser einheitliche Ansatz bedeutet, dass Sie problemlos zwischen Orchestrierungsmustern wechseln können, ohne neue APIs zu erlernen oder Ihre Agentlogik neu zu schreiben. Das Framework abstrahiert die Komplexität der Agentkommunikation, Koordination und Ergebnisaggregation, sodass Sie sich auf die Ziele Ihrer Anwendung konzentrieren können.
// Choose an orchestration pattern with your agents
SequentialOrchestration orchestration = new(agentA, agentB)
{
LoggerFactory = this.LoggerFactory
}; // or ConcurrentOrchestration, GroupChatOrchestration, HandoffOrchestration, MagenticOrchestration, ...
// Start the runtime
InProcessRuntime runtime = new();
await runtime.StartAsync();
// Invoke the orchestration and get the result
OrchestrationResult<string> result = await orchestration.InvokeAsync(task, runtime);
string text = await result.GetValueAsync();
await runtime.RunUntilIdleAsync();
# Choose an orchestration pattern with your agents
orchestration = SequentialOrchestration(members=[agent_a, agent_b])
# or ConcurrentOrchestration, GroupChatOrchestration, HandoffOrchestration, MagenticOrchestration, ...
# Start the runtime
runtime = InProcessRuntime()
runtime.start()
# Invoke the orchestration
result = await orchestration.invoke(task="Your task here", runtime=runtime)
# Get the result
final_output = await result.get()
await runtime.stop_when_idle()
Hinweis
Die Agent-Orchestrierung ist noch nicht im Java SDK verfügbar.
So bereiten Sie Ihre Entwicklungsumgebung vor
Fügen Sie dem Projekt die folgenden Pakete hinzu, bevor Sie fortfahren:
dotnet add package Microsoft.SemanticKernel.Agents.Orchestration --prerelease
dotnet add package Microsoft.SemanticKernel.Agents.Runtime.InProcess --prerelease
Je nach den von Ihnen verwendeten Agenttypen müssen Sie möglicherweise auch die entsprechenden Pakete für die Agents hinzufügen. Weitere Informationen finden Sie in der Übersicht über Agents .