Belegung

OpenDevin hat einen technischen Bericht veröffentlicht, der für große Agent-Entwickler ein Muss ist

2024-08-02

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina



Maschinenherzbericht

Herausgeber: Chen Chen, Zenan

Beliebte Allzweck-Agentenplattform für große Modelle.

Im März dieses Jahres brachte Devin, „der weltweit erste KI-Softwareentwickler“, den KI-Kreis zur Explosion. Im Gegensatz zu früheren KI-Programmierassistenten übernimmt Devin nicht nur die Rolle des unterstützenden Programmierens, sondern kann das gesamte Entwicklungsprojekt selbstständig und durchgängig abschließen.



Die Geburt von Devin ermöglichte es uns, die leistungsstarken Fähigkeiten großer Modellagenten zu schätzen. Bald tauchten in der Branche viele Open-Source-Projekte auf, die versuchten, es zu kopieren. Unter ihnen stach OpenDevin heraus und erhielt die meiste Aufmerksamkeit.

OpenDevin ist eine Plattform zur Entwicklung allgemeiner Agenten, die über Software mit der Welt interagieren. Zu den Funktionen gehören:

Der Interaktionsmechanismus zwischen großem Modellagenten, Schnittstelle und Umgebung;

Sandbox-Betriebssystem + Webbrowser-Umgebung für den Agenten verfügbar;

Eine Schnittstelle zum Erstellen und Ausführen von Code;

Multi-Agent-Unterstützung;

Bewertungsrahmen.

Derzeit hat OpenDevins GitHub mehr als 29.000 Sterne erhalten.



Kürzlich hat das OpenaDevin-Team einen technischen Bericht zu diesem Tool veröffentlicht.



Berichtsadresse: https://arxiv.org/pdf/2407.16741

In einem technischen Bericht beschreiben OpenDevin-Autoren, Wissenschaftler der University of Illinois at Urbana-Champaign, der Carnegie Mellon University und anderer Institutionen OpenDevin, eine Community-gesteuerte Plattform zur Entwicklung allgemeiner und spezialisierter KI, die über Software-Agenten mit der Welt interagiert.

Noch wichtiger ist, dass OpenDevin nicht nur ein konzeptionelles Framework ist, sondern auch einen umfassenden und gebrauchsfertigen Agenten, eine Umgebung und eine Bewertungsimplementierung umfasst. Zum Zeitpunkt der Veröffentlichung dieses Berichts enthält OpenDevin ein Agent Center, das mehr als 10 Agenten implementiert hat, darunter einen leistungsstarken Generalagenten auf Basis der CodeAct-Architektur, und über zusätzliche Funktionen für das Surfen im Internet und die Codebearbeitung verfügt. Die Benutzerinteraktion mit dem Agenten erfolgt über eine Chat-Schnittstelle, die die aktuellen Vorgänge des Agenten visualisiert und Echtzeit-Feedback ermöglicht. Darüber hinaus unterstützt das Bewertungsframework derzeit 15 Benchmarks, die zur Bewertung der Agentenleistung verwendet werden können.

OpenDevin-Architektur

In diesem Artikel beschreibt der Autor OpenDevin unter folgenden Aspekten: (1) wie man Agenten definiert und implementiert, (2) wie die Aktionsausführung die Beobachtung fördert, (3) wie man die von Agenten häufig verwendeten Fähigkeiten verwaltet und erweitert; wie man mehrere Agenten integriert, die zusammenarbeiten, um eine Aufgabe zu lösen.



So definieren und implementieren Sie einen Agenten

Agenten können den Zustand der Umgebung erkennen und Aktionen generieren, die sie bei der Lösung benutzerdefinierter Aufgaben ausführen.

Zustands- und Ereignisfluss. In OpenDevin ist der Status eine Datenstruktur, die alle relevanten Informationen für einen Agenten zum Ausführen von Aufgaben kapselt. Eine Schlüsselkomponente dieses Zustands ist das Event-Streaming, eine chronologische Sammlung vergangener Aktionen und Beobachtungen.

Aktion. Inspiriert von CodeAct verbindet OpenDevin Agenten über eine Reihe zentraler Aktionen mit der Umgebung. Die Aktionen IPythonRunCellAction und CmdRunAction ermöglichen es Agenten, beliebigen Python-Code und Bash-Befehle innerhalb einer Sandbox-Umgebung (z. B. einem sicher isolierten Linux-Betriebssystem) auszuführen. Die BrowserInteractiveAction unterstützt die Interaktion zwischen dem Agenten und dem Webbrowser.

beobachten. Beobachtungen beschreiben vom Agenten beobachtete Veränderungen in der Umgebung. Es kann durch eine Aktion des Agenten verursacht werden oder auch nicht: Es kann 1) eine vom Benutzer gegebene Anweisung in natürlicher Sprache sein, 2) das Ausführungsergebnis der vorherigen Aktion des Agenten (z. B. das Ergebnis der Codeausführung usw.).

Implementieren Sie neue Agenten. Das Agentendesign ist einfach und dennoch leistungsstark und ermöglicht Benutzern das einfache Erstellen und Anpassen von Agenten für eine Vielzahl von Aufgaben. Der Kern liegt in der Schrittfunktion, die den aktuellen Zustand als Eingabe nimmt und auf Basis der Logik des Agenten entsprechende Aktionen generiert. Abbildung 2 zeigt vereinfachten Beispielcode für die Agentenabstraktion.



Beobachten Sie die Ergebnisse der Aktionsausführung

Agent Runtime bietet Agenten einen Aktionsraum, der mit dem menschlicher Softwareentwickler vergleichbar ist, und ermöglicht OpenDevin die Bewältigung einer Vielzahl von Softwareentwicklungs- und webbasierten Aufgaben, einschließlich komplexer Softwareentwicklungs-Workflows, Datenanalyseprojekte, Webbrowsing-Aufgaben usw. Es ermöglicht Agenten, auf ein Bash-Terminal zuzugreifen, um Code und Befehlszeilentools auszuführen, Jupyter-Notebooks zu nutzen, um Code im Handumdrehen zu schreiben und auszuführen, und mit einem Webbrowser zu interagieren, um webbasierte Aufgaben auszuführen (z. B. Informationssuche).

Skalierbarer Agent – ​​Computerschnittstelle

Die Autoren erstellten eine AgentSkills-Bibliothek, eine Toolbox, die die Fähigkeiten von Agenten verbessern und Dienstprogramme bereitstellen soll, die mit einfachen Bash-Befehlen oder Python-Code nicht ohne weiteres verfügbar sind.

Interaktion mit mehreren Agenten

OpenDevin ermöglicht die Interaktion mehrerer Agenten. Um dies zu erreichen, verwendeten die Autoren einen speziellen Aktionstyp, AgentDelegateAction, der es einem Agenten ermöglicht, bestimmte Unteraufgaben an einen anderen Agenten zu delegieren.

Auswerten

In diesem Abschnitt wird OpenDevin (in den folgenden experimentellen Ergebnissen als OD abgekürzt) mit reproduzierbaren Open-Source-Basismethoden verglichen. Die 15 Benchmarks decken Aufgaben wie Software-Engineering und Web-Browsing ab.



Tabelle 3 zeigt, dass der OpenDevin-Agent zwar möglicherweise nicht in jeder Kategorie eine optimale Leistung erzielt, er aber im Hinblick auf die Allgemeingültigkeit konzipiert ist.



Tabelle 4 zeigt die Ergebnisse des Agenten bei Software-Engineering-Benchmarks.



insbesondere:

SWE-Bench wurde entwickelt, um die Fähigkeit eines Agenten zu bewerten, GitHub-Probleme wie Fehlerberichte oder Funktionsanfragen zu lösen. Wie in Tabelle 4 gezeigt, weist die neueste Version von CodeActAgent v1.8 in diesem Artikel, basierend auf claude-3.5-sonnet, eine Problemlösungsrate von bis zu 26 % im Vergleich zu anderen Open-Source-Agenten auf, die speziell für die Softwareentwicklung verwendet werden.

HumanEvalFix. OpenDevin CodeActAgent hat 79,3 % der Fehler in Python-Splits erfolgreich behoben und damit alle Nicht-Agent-Methoden deutlich übertroffen und die Leistung von StarCoder2-15B fast verdoppelt.

Der auf GPT-4o basierende OpenDevin-Agent erzielte im ML-Bench mit 76,47 % die höchste Erfolgsquote, was besser ist als der SWE-Agent (42,64 %).

Gorilla APIBench untersucht die Fähigkeit eines Agenten, APIs zu verwenden. OpenDevin mit GPT-4o hat eine Erfolgsquote von 36,4 %, was besser ist als die Basislinie, die nicht speziell auf API-Aufrufe abgestimmt ist.

ToolQA bewertet die Fähigkeit eines Agenten, externe Tools zu verwenden. OpenDevin mit GPT-4o zeigt im Vergleich zu allen Baselines die höchste Leistung. Der Agent schnitt bei Aufgaben im Zusammenhang mit der Verwendung von CSV- und Datenbanktools besser ab, musste jedoch bei der Verwendung von Mathematik- und Taschenrechnertools verbessert werden.

In Tabelle 5 sind die Bewertungsergebnisse für den Webbrowsing-Benchmark aufgeführt.



Tabelle 6 zeigt die Ergebnisse verschiedener Hilfsbenchmarks.



Unter anderem wird GAIA verwendet, um die Fähigkeit des Agenten zur Lösung allgemeiner Aufgaben zu bewerten. Die Ergebnisse zeigen, dass der Agent bei GAIA 32,1 Punkte erreicht hat, was im Vergleich zum ursprünglichen AutoGPT eine deutliche Verbesserung darstellt.

GPQA wird verwendet, um die Fähigkeit eines Agenten zu bewerten, den Einsatz von Werkzeugen zu koordinieren und gleichzeitig anspruchsvolle Probleme auf Hochschulniveau zu lösen. Die Ergebnisse sind in den Tabellen 6 und 7 dargestellt. OpenDevin integriert Funktionen, die die Verwendung mehrerer Tools und Websuchen unterstützen, sodass der Agent komplexe mehrstufige Probleme besser lösen kann.



Weitere Ergebnisse finden Sie im Originalpapier.