Agent Runtime Environments#

Auf der grundlegenden Ebene bietet das Framework eine Laufzeitumgebung, die die Kommunikation zwischen Agenten erleichtert, ihre Identitäten und Lebenszyklen verwaltet und Sicherheits- und Datenschranken durchsetzt.

Es unterstützt zwei Arten von Laufzeitumgebungen: Standalone und verteilt. Beide Typen bieten einen gemeinsamen Satz von APIs zum Erstellen von Multi-Agenten-Anwendungen, sodass Sie zwischen ihnen wechseln können, ohne Ihre Agentenimplementierung zu ändern. Jeder Typ kann auch mehrere Implementierungen haben.

Standalone Agent Runtime#

Die Standalone-Laufzeitumgebung eignet sich für Single-Process-Anwendungen, bei denen alle Agenten in derselben Programmiersprache implementiert sind und im selben Prozess ausgeführt werden. In der Python-API ist ein Beispiel für eine Standalone-Laufzeitumgebung die SingleThreadedAgentRuntime.

Das folgende Diagramm zeigt die Standalone-Laufzeitumgebung im Framework.

Standalone Runtime

Hier kommunizieren Agenten über Nachrichten durch die Laufzeitumgebung, und die Laufzeitumgebung verwaltet den Lebenszyklus von Agenten.

Entwickler können Agenten schnell erstellen, indem sie die bereitgestellten Komponenten verwenden, darunter geroutete Agenten, KI-Modell-Clients, Tools für KI-Modelle, Codeausführung-Sandboxes, Modellkontext-Speicher und mehr. Sie können auch eigene Agenten von Grund auf neu implementieren oder andere Bibliotheken verwenden.

Distributed Agent Runtime#

Die verteilte Laufzeitumgebung eignet sich für Multi-Process-Anwendungen, bei denen Agenten in verschiedenen Programmiersprachen implementiert sein und auf verschiedenen Maschinen laufen können.

Distributed Runtime

Eine verteilte Laufzeitumgebung besteht, wie im obigen Diagramm gezeigt, aus einem Host-Service und mehreren Workern. Der Host-Service erleichtert die Kommunikation zwischen Agenten über Worker hinweg und verwaltet die Verbindungszustände. Die Worker führen Agenten aus und kommunizieren über Gateways mit dem Host-Service. Sie werben die von ihnen ausgeführten Agenten beim Host-Service an und verwalten die Lebenszyklen der Agenten.

Agenten funktionieren genauso wie in der Standalone-Laufzeitumgebung, sodass Entwickler ohne Änderungen an ihrer Agentenimplementierung zwischen den beiden Laufzeittypen wechseln können.