KI-Modelle und Plattformen
OpenAgents: Eine offene Plattform für Language Agents in der Wildnis
Neue Entwicklungen haben gezeigt, dass Language Agents, insbesondere solche, die auf großen Sprachmodellen (LLMs) basieren, das Potenzial haben, eine Vielzahl von komplexen Aufgaben in verschiedenen Umgebungen mit Hilfe von natürlicher Sprache auszuführen. Allerdings liegt der Hauptfokus der meisten Language Agent-Frameworks derzeit auf der Erstellung von Proof-of-Concept-Language-Agents. Dieser Fokus geht oft mit wenig bis gar keiner Beachtung von Anwendungsdesigns einher und vernachlässigt häufig die Zugänglichkeit dieser Agents für nicht-experte Benutzer.
Um die aktuellen Einschränkungen von Language Agents zu überbrücken, haben Entwickler das OpenAgents-Framework entwickelt, eine offene Plattform für die Ausführung und Bereitstellung von Language Agents in der Wildnis und bei alltäglichen Aufgaben. Das OpenAgents-Framework basiert auf drei Agents:
- Data Agent: Hilft bei der Datenanalyse mit Hilfe von Datenwerkzeugen und Abfragesprachen wie SQL oder Programmiersprachen wie Python.
- Plugin Agents: Hilft durch die Bereitstellung von über 200 API-Tools, die für alltägliche Aufgaben nützlich sind.
- Web Agents: Hilft beim Surfen im Internet, während die Anonymität aufrechterhalten wird.
Das OpenAgents-Framework verwendet eine webbasierte Benutzeroberfläche, die für allgemeine Fehler und schnelle Antworten optimiert ist, um es allgemeinen Benutzern zu ermöglichen, mit den Agenten-Funktionen zu interagieren, während es gleichzeitig Forschern und Entwicklern eine nahtlose Bereitstellung auf ihren lokalen Einrichtungen bietet. Es wäre sicher zu sagen, dass das OpenAgents-Framework ein Versuch ist, eine solide Grundlage für die Erstellung von realen Evaluierungen und innovativen, effektiven und fortschrittlichen Language Agents zu schaffen.
In diesem Artikel werden wir uns tiefer mit dem OpenAgents-Framework auseinandersetzen und über die Architektur und die Funktionsweise des Frameworks sprechen. Wir werden auch über die häufigsten Herausforderungen und die Ergebnisse sprechen. Also los geht’s.
OpenAgents und Language Agents: Eine Einführung
Language Agents sind im Kern von intelligenten Agents abgeleitet. Diese intelligenten Agents sind konzipiert, um autonome Problemlösungsfähigkeiten, die Fähigkeit, ihre Umgebung zu erkennen, Entscheidungen zu treffen und entsprechend zu handeln, zu besitzen. Durch die Fortschritte in großen Sprachmodellen hat die globale Entwicklergemeinschaft das Konzept von intelligenten Agents und LLMs genutzt, um Language Agents zu erstellen. Diese Agents nutzen die natürliche Sprachprogrammierung (NLP), um eine Vielzahl von komplexen Aufgaben in verschiedenen Umgebungen auszuführen und haben kürzlich ein bemerkenswertes Potenzial gezeigt.
Die aktuellen Language Agent-Frameworks, wie Gravitas und Chase, bieten in erster Linie eine Konsole-Oberfläche für Entwickler und Proof-of-Concept-Implementierungen. Allerdings beschränken sie oft den Zugang für eine breitere Zielgruppe, insbesondere für diejenigen, die nicht in der Codierung erfahren sind. Darüber hinaus sind die aktuellen Agent-Benchmarks von Entwicklern mit spezifischen Anforderungen für deterministische Evaluierungen konstruiert, insbesondere in Szenarien, die das Surfen im Internet, die Codierung, die Nutzung von Tools oder eine Kombination davon erfordern.
Um LLM-gestützte intelligente und Language Agents für eine breitere Benutzerbasis zu entwickeln, haben etablierte Unternehmen wie OpenAI und Microsoft (MSFT ) eine Reihe von gut gestalteten Produkten bereitgestellt, darunter Advanced Data Analysis, auch bekannt als Code Interpreter, und Browser-Plugins. Obwohl diese Agents effektiv in ihren Funktionen sind, bieten sie nur begrenzte Hilfe für die Entwicklergemeinschaft. Diese Einschränkung entsteht, weil die Geschäftslogik-Code und die Modellimplementierungen nicht Open-Source sind, was die Möglichkeiten für Entwickler und Forscher, sie weiter zu erforschen, einschränkt und den freien Zugang für Benutzer beschränkt.
Um dieses Problem zu lösen, haben Entwickler das OpenAgents-Framework entwickelt, eine offene Plattform für die Ausführung und Bereitstellung von Language Agents in der Wildnis und bei alltäglichen Aufgaben. Das OpenAgents-Framework basiert auf drei internen Agents:
- Data Agent: Hilft bei der Datenanalyse mit Hilfe von Datenwerkzeugen und Abfragesprachen wie SQL oder Programmiersprachen wie Python.
- Plugin Agents: Hilft durch die Bereitstellung von über 200 API-Tools, die für alltägliche Aufgaben nützlich sind.
- Web Agents: Hilft beim Surfen im Internet, während die Anonymität aufrechterhalten wird.
Die folgende Abbildung zeigt die OpenAgents-Plattform für allgemeine Benutzer, Entwickler und Forscher.

- Anstelle der Verwendung einer programmierorientierten Paket- oder Konsole-Oberfläche können allgemeine Benutzer mit den drei Agents im OpenAgents-Framework über eine Online-Web-Oberfläche interagieren.
- Entwickler können die Geschäftslogik- und Forschungscodes des OpenAgents-Frameworks nutzen, um die Backend- und Frontend-Implementierung für weitere Entwicklungen nahtlos bereitzustellen.
- Forscher haben die Flexibilität, entweder neue Language Agents von Grund auf zu erstellen oder Agent-bezogene Methoden mit Hilfe der gemeinsamen Komponenten und Beispiele zu implementieren und ihre Leistung mit der Web-Oberfläche zu bewerten.
Zusammenfassend ist das OpenAgents-Framework ursprünglich als eine umfassende und realistische Plattform für die Bewertung von Language Agents mit menschlicher Interaktion konzipiert, die es Benutzern ermöglicht, mit diesen Agents zu interagieren, um eine Vielzahl von Aufgaben zu erfüllen, und diese menschlich-Agent-Interaktionen sowie die Benutzerfeedbacks werden gespeichert und analysiert, um weitere Entwicklungen und Bewertungen zu ermöglichen.
Für diejenigen, die nicht wissen, was LLM-Prompting ist, ist es ein Prozess, der es Entwicklern ermöglicht, Anweisungen zu erstellen, die vor adversarialen oder falschen Eingaben schützen, die Ausgabeästhetik verbessern und die Backend-Logik berücksichtigen. Während der Entwicklungsphase nutzen die Entwickler des OpenAgents-Frameworks die LLM-Prompting-Technik, um die Bedeutung der Spezifikation von Anwendungsanforderungen effektiv zu betonen. Allerdings stellten die Entwickler bald fest, dass der Aufbau dieser Anweisungen oder LLM-Prompts manchmal erheblich sein kann und die Kontextverarbeitungsfähigkeiten von LLM-Frameworks sowie die Token-Beschränkungen beeinträchtigen kann. Die Entwickler stellten auch fest, dass die Agent-Modelle nicht nur eine außergewöhnliche Leistung zeigen sollten, sondern auch in der Lage sein sollten, eine Vielzahl von interaktiven Szenarien in Echtzeit zu bewältigen. Obwohl die aktuellen Agent-Frameworks die Leistung abgedeckt haben, ignorieren sie oft realweltliche Überlegungen, insbesondere in Echtzeit, was oft die wahre Leistungsfähigkeit von LLM-Frameworks durch den Handel von Responsivität oder Genauigkeit verschleiert.
In der folgenden Abbildung vergleichen wir das OpenAgents-Framework direkt mit bestehenden Arbeiten auf Benchmarks auf Agent-Konzepten und dem Aufbau von Prototypen.

OpenAgents: Plattform-Design und Implementierung
Die systematische Architektur oder das Design der OpenAgents-Plattform kann in zwei Hauptkomponenten unterteilt werden: Benutzeroberfläche, einschließlich Backend und Frontend, und Language Agent, bestehend aus Tools, Sprachmodellen und Umgebungen. Das OpenAgents-Framework bietet eine Schnittstelle für die Kommunikation zwischen Benutzern und Agents. Der Interaktionsfluss im Framework ist wie folgt.
Die Agents nutzen die ihnen zur Verfügung stehenden Tools, um Pläne zu erstellen und die erforderlichen Aktionen in den Umgebungen auszuführen, nachdem sie Eingaben von den Benutzern erhalten haben. Die Architektur oder das systematische Design des Frameworks wird in der folgenden Abbildung demonstriert.

Benutzeroberfläche
Die Entwickler des OpenAgents-Frameworks haben viel Gedanken und Mühe in die Entwicklung einer nicht nur hochfunktionalen, sondern auch benutzerfreundlichen Oberfläche investiert, nachdem sie eine Vielzahl von Host-Agents und wiederverwendbare Geschäftslogik bewältigt haben. Als Ergebnis bietet das OpenAgents-Framework Unterstützung für eine Vielzahl von technischen Aufgaben, einschließlich Fehlerbehandlung, Backend-Server-Operationen, Datenstrom und vielem mehr, mit dem Hauptziel, das OpenAgents-Framework benutzerfreundlich, aber auch hoch effektiv und nutzbar zu machen.
Language Agent
Innerhalb des OpenAgents-Frameworks hat der Language Agent drei wesentliche Komponenten: eine Tool-Schnittstelle, ein Sprachmodell und die Umgebung selbst. Die im OpenAgents-Framework implementierte Prompting-Methode erstellt einen sequenziellen Prozess für die Agents, der mit Beobachtung -> Überlegung -> Aktion beginnt. Das Framework prompts auch das LLM, um parsable Texte mit verbesserter Effizienz zu generieren, und die Tool-Schnittstelle besteht aus Parsern, die diese von LLMs generierten parsable Texte in ausführbare Aktionen wie API-Aufrufe oder Code-Generierung übersetzen können. Diese Aktionen werden dann innerhalb der Grenzen der entsprechenden Umgebung vom Framework ausgeführt.
OpenAgents’ Agents
Im Kern des OpenAgents-Frameworks gibt es drei unterschiedliche Agents: Data Agent, der bei der Datenanalyse mit Hilfe von Datenwerkzeugen und Abfragesprachen wie SQL oder Programmiersprachen wie Python hilft, Plugin Agents, der durch die Bereitstellung von über 200 API-Tools, die für alltägliche Aufgaben nützlich sind, hilft, und Web Agents, der beim Surfen im Internet hilft, während die Anonymität aufrechterhalten wird. Diese Agents haben individuelle Domänen-Expertise, ähnlich wie ChatGPT-Plugins, jedoch basiert die Implementierung auf OpenAgents rein auf offenen Sprachanwendungsprogrammierschnittstellen (APIs).
Data Agent
Der Data Agent im OpenAgents-Framework wurde so konzipiert und bereitgestellt, um eine Vielzahl von datenbezogenen Aufgaben zu bewältigen, die Endbenutzer regelmäßig ausführen. Der Data Agent unterstützt Code-Generierung und -Ausführung in zwei Programmiersprachen, nämlich SQL und Python, und der Agent verfügt auch über eine Reihe von Datenwerkzeugen, einschließlich Datenprofiling, um grundlegende Dateninformationen bereitzustellen, Kaggle Data Search, um Datensätze zu suchen, und ECharts-Tool, um interaktive ECharts zu erstellen. Darüber hinaus prompts das OpenAgents-Framework den Data Agent, diese Werkzeuge proaktiv zu nutzen, um effektiv auf die Anfragen der Endbenutzer zu reagieren. Zusätzlich, angesichts der umfassenden Codierungsanforderungen, wählt das OpenAgents-Framework eingebettete Sprachmodelle für den Data Agent, und anstatt dass der Agent den Code generiert, sind es die Werkzeuge wie Python, ECharts und SQL, die den Code generieren. Mit diesem Ansatz kann das Framework die Programmierfähigkeiten von Sprachmodellen vollständig nutzen und reduziert so die Belastung des Data Agents.
Mit Hilfe dieser Datenwerkzeuge kann der Data Agent eine Vielzahl von datenbezogenen Anfragen bewältigen und Datenvisualisierung, -manipulation und -abfragen effizient ausführen, und überschreitet so die Grenzen von Code- und Textgenerierung. Die folgende Abbildung zeigt einen Data Agent in Aktion und die verfügbaren Werkzeuge für allgemeine Benutzer.

Plugin Agents
Der Plugin Agent im OpenAgents-Framework wurde von Entwicklern sorgfältig konzipiert, um den vielfältigen Anforderungen von Benutzern für alltägliche Aufgaben, einschließlich Internetsuche, Online-Shopping, Nachrichtenlesen oder Website- und Anwendungserschaffung, durch die Bereitstellung von über 200 Plugins zu entsprechen, wobei besonderes Augenmerk auf die Funktionsaufruf-Schnittstelle, API-Anfragen und API-Antwortlängen gelegt wird. Einige der prominenten Plugins umfassen
- Google-Suche
- Wolfram Alpha
- Zapier
- Klarna
- Coursera
- Show Me
- Speak
- AskYourPDF
- BizTok
- Klook
Basierend auf ihren Bedürfnissen und Anforderungen können Benutzer die Anzahl der Plugins auswählen, die der Plugin Agent verwenden soll, und die Funktionsweise wird in der folgenden Abbildung demonstriert.

Darüber hinaus bietet das OpenAgents-Framework Benutzern eine Funktion, die automatisch die relevantesten Plugins für ihre Anweisungen auswählt, wenn sie unsicher sind, welches Plugin ihre Anforderungen am besten erfüllt.
Web Agents
Das OpenAgents-Framework präsentiert den Web Agent als ein spezialisiertes Werkzeug, das die Effizienz und Fähigkeiten des Chat Agents verbessern soll. Obwohl der Chat Agent immer noch die Hauptinteraktions-Oberfläche beherbergt, integriert er den Web Agent nahtlos, wenn dies erforderlich ist. Die endgültige Antwort wird dann dem Endbenutzer vom Web Agent bereitgestellt, und der Prozess wird in der folgenden Abbildung illustriert.

Die im Web Agent implementierte Designstrategie erweist sich als sehr nützlich, da der Chat Agent wichtige Parameter oder URLs systematisch verarbeitet, bevor sie an den Web Agent übergeben werden, was eine bessere Ausrichtung zwischen den Anforderungen des Benutzers und der generierten Ausgabe ermöglicht und so eine klare Kommunikation ermöglicht. Darüber hinaus ermöglicht die Strategie auch, dass der Web Agent auf vielschichtige und anpassbare Benutzeranfragen durch die Verwendung einer dynamischen, mehrstufigen Web-Navigation in Verbindung mit Chat-Dialogen reagieren kann. Durch die klare Abgrenzung der Rollen und Verantwortungen von Chat- und Web-Agents ermöglicht das OpenAgents-Framework die Verfeinerung und Evolution jedes einzelnen Moduls.
OpenAgents: Praktische Anwendungen und reale Welt-Implementierung
In diesem Abschnitt werden wir über den Weg des OpenAgents-Frameworks von der Theorie zur Implementierung in der realen Welt sprechen, einschließlich der Herausforderungen, die überwunden wurden, und der Erkenntnisse, die während des Prozesses gewonnen wurden.
Verwendung von Prompts, um große Sprachmodelle in reale Anwendungen umzuwandeln
Wenn LLM-Prompts für die Erstellung realer Anwendungen für Endbenutzer verwendet werden, verwendet das OpenAgents-Framework Prompt-Anweisungen, um bestimmte Anforderungen zu spezifizieren. Das Ziel einiger dieser Anweisungen ist es, sicherzustellen, dass die Ausgabe in einem bestimmten Format vorliegt, um die Backend-Logik zu ermöglichen, während das Ziel anderer Anweisungen darin besteht, die Ästhetik der Ausgabe zu verbessern, und der Rest schützt das Framework vor potenziellen Angriffen.
Nicht kontrollierbare reale Faktoren
Als die Entwickler das OpenAgents-Framework in der realen Welt implementierten, wurden sie von einer Vielzahl von nicht kontrollierbaren realen Faktoren konfrontiert, die durch die Internet-Infrastruktur, Benutzer, Geschäftslogik und mehr ausgelöst wurden. Diese nicht kontrollierbaren Faktoren zwangen die Entwickler, einige ihrer Annahmen auf der Grundlage vorheriger Forschung zu überdenken und neu zu justieren, und sie konnten letztendlich zu Situationen führen, in denen die Endbenutzer nicht mit der Antwort zufrieden sind, die das Framework generiert.
Bewertungskomplexität
Obwohl Agents, die direkt auf Anwendungen abzielen, eine breitere Anwendbarkeit haben und eine bessere Bewertung ermöglichen, fügen sie auch zur Komplexität der Erstellung von LLM-gestützten Anwendungen hinzu, was es schwierig macht, die Leistung der Anwendungen zu analysieren. Darüber hinaus fügt dieser Ansatz auch zur Instabilität hinzu und verlängert die Systemkette der LLMs, was es schwierig macht, sich an verschiedene Komponenten anzupassen. Es ist daher sinnvoll, das Systemdesign und die Betriebslogik dieser Agents zu verfeinern, um die Verfahren zu vereinfachen und eine effektive Ausgabe zu gewährleisten.
Letzte Gedanken
In diesem Artikel haben wir über das OpenAgents-Framework gesprochen, eine offene Plattform für die Ausführung und Bereitstellung von Language Agents in der Wildnis und bei alltäglichen Aufgaben. Das OpenAgents-Framework basiert auf drei Agents: Data Agent, der bei der Datenanalyse mit Hilfe von Datenwerkzeugen und Abfragesprachen wie SQL oder Programmiersprachen wie Python hilft, Plugin Agents, der durch die Bereitstellung von über 200 API-Tools, die für alltägliche Aufgaben nützlich sind, hilft, und Web Agents, der beim Surfen im Internet hilft, während die Anonymität aufrechterhalten wird. Das OpenAgents-Framework verwendet eine webbasierte Benutzeroberfläche, die für allgemeine Fehler und schnelle Antworten optimiert ist, um es allgemeinen Benutzern zu ermöglichen, mit den Agenten-Funktionen zu interagieren, während es gleichzeitig Forschern und Entwicklern eine nahtlose Bereitstellung auf ihren lokalen Einrichtungen bietet. Durch die Bereitstellung einer transparenten, umfassenden und bereitstellbaren Plattform zielt OpenAgents darauf ab, das Potenzial von LLMs für eine breitere Benutzerbasis zugänglich zu machen, nicht nur für Forscher und Entwickler, sondern auch für Endbenutzer mit begrenzten technischen Kenntnissen.












