Microsoft Agent Framework: Framework für Multi-Agent-Systeme
Microsoft hat Agent Framework vorgestellt – ein Open-Source-Framework zum Erstellen agentischer Anwendungen, einschließlich Multi-Agent-Architekturen. Es ist eine Weiterentwicklung von Semantic Kernel und Nachfolger von AutoGen. Das Framework ermöglicht das Erstellen von Agenten-Graphen mit paralleler und sequentieller Aufgaben-Ausführung aus einem gemeinsamen Anfragepool.
Wichtigste Funktionen des Frameworks
Agent Framework ist für leichtgewichtige Entwicklung konzipiert. Agents integrieren sich mit Tools wie Web-Suche und werden in Workflows organisiert. Es unterstützt Handoff-Orchestrierung: Ein Agent übergibt die Kontrolle an einen anderen basierend auf Bedingungen und gibt sie bei Fertigstellung zurück.
Wichtige Funktionen:
- Agenten-Graphen: sequentielle und parallele Ausführung.
- Tool-Integration: AIFunctionFactory zum Verbinden externer APIs.
- Speicher und Zustand: SQLite-Unterstützung zum Speichern des Kontexts.
- Events: Event-Emission zur Überwachung von Workflows.
Das Framework eignet sich für Edge-Geräte: Tests zeigen, dass es auf einem Raspberry Pi 3B mit einem Telegram-Bot, SQLite-Speicher und fünf Agents ohne spürbare Verzögerungen läuft.
Erstellen eines Agents mit Tools
Der Agent wird über ChatClientAgent konfiguriert. Beispiel für einen Researcher-Agenten mit Web-Suche:
var researcher = new ChatClientAgent(chatClient,
new ChatClientAgentOptions
{
Name = "Researcher",
Description = "Web search, real-time information, weather, news, and general knowledge.",
ChatOptions = new ChatOptions
{
Instructions = "Search the web for any real-time information",
Tools = [ AIFunctionFactory.Create(webSearchTools.Search),]
}
});
Hier erhält der Agent Anweisungen und Tools zur Bearbeitung von Anfragen zu aktuellen Informationen.
Orchestrierung über Handoff
Für Multi-Agent-Workflows wird AgentWorkflowBuilder verwendet. Der Triage-Agent verteilt Aufgaben, und Handoff definiert Übergänge.
var workflow = AgentWorkflowBuilder
.CreateHandoffBuilderWith(triage)
.WithHandoffs(triage, [clerk, archivist, secretary, researcher])
.WithHandoff(researcher, triage, "Hand back to Triage when done or if the request is not about search/information.")
.WithHandoff(...)
.EmitAgentResponseEvents(true)
.Build();
Dieser Ansatz minimiert die Komplexität: Jeder Agent konzentriert sich auf seine Rolle und gibt die Kontrolle für irrelevante Anfragen an Triage zurück.
Praktische Anwendung
Das Framework wurde in einem Szenario für einen Heim-AI-Assistenten getestet:
- Oberfläche über Telegram-Bot.
- Speicher auf SQLite zur Kontext-Erhaltung.
- Fünf Agents: triage, clerk, archivist, secretary, researcher.
- Bereitstellung auf Raspberry Pi 3B – stabile Betriebsweise ohne Überlastung.
Diese Konfiguration demonstriert Skalierbarkeit für IoT- und ressourcenarme Umgebungen.
Wichtige Erkenntnisse
- Agent Framework entwickelt Semantic Kernel weiter, indem es native Multi-Agent-Unterstützung hinzufügt.
- Der Handoff-Mechanismus vereinfacht die Orchestrierung ohne benutzerdefinierten Code.
- Leichtgewichtig: Vollständiger Multi-Agent-Stack auf ARM-Geräten wie Raspberry Pi.
- Open Source zur Anpassung von Tools und Workflows.
- Event-Emission zur Integration mit Observability-Systemen.
— Editorial Team
Noch keine Kommentare.