Maison >Périphériques technologiques >IA >OpenDevin a publié un rapport technique, une lecture incontournable pour les développeurs d'agents de grands modèles
Plateforme d'agent universelle grand modèle populaire.
En mars de cette année, « le premier ingénieur logiciel d'IA au monde » Devin a fait exploser le cercle de l'IA. Contrairement aux précédents assistants de programmation IA, Devin ne joue pas seulement le rôle d'assistance à la programmation, mais peut mener à bien l'ensemble du projet de développement de manière indépendante et de bout en bout.
La naissance de Devin nous permet d'apprécier les puissantes capacités des Agents grands modèles. Bientôt, de nombreux projets open source sont apparus dans l'industrie pour tenter de le copier. Parmi eux, OpenDevin s'est démarqué et a reçu le plus d'attention.
OpenDevin est une plate-forme pour développer des agents à usage général qui interagissent avec le monde via des logiciels. Ses fonctionnalités incluent :
Mécanisme d'interaction entre les agents de grand modèle, les interfaces et les environnements
Opérations sandbox disponibles pour les agents ; Environnement de navigateur Web ;
Interface pour créer et exécuter du code ;
Support multi-agents ;
Actuellement, le GitHub d'OpenDevin a reçu plus de 29 000 étoiles.
Dans le rapport technique, les auteurs d'OpenDevin, des chercheurs de l'Université de l'Illinois à Urbana-Champaign, de l'Université Carnegie Mellon et d'autres institutions ont présenté OpenDevin. en détail, il s'agit d'une plate-forme communautaire visant à développer des agents d'IA généraux et spécialisés qui interagissent avec le monde via des logiciels.
Plus important encore, OpenDevin n'est pas seulement un cadre conceptuel, il comprend également une implémentation complète et prête à l'emploi d'un agent, d'un environnement et d'une évaluation. Au moment de la rédaction de ce rapport, OpenDevin comprend un Agent Center dans lequel plus de 10 agents ont été implémentés, dont un puissant agent général implémenté sur la base de l'architecture CodeAct, avec des fonctionnalités supplémentaires pour la navigation Web et l'édition de code. L'interaction de l'utilisateur avec l'agent s'effectue via une interface de chat, qui visualise les opérations en cours de l'agent et permet un retour d'information en temps réel. De plus, le cadre d'évaluation prend actuellement en charge 15 critères qui peuvent être utilisés pour évaluer les performances des agents.
Architecture OpenDevinDans cet article, l'auteur décrit OpenDevin sous les aspects suivants : (1) comment définir et implémenter des agents (2) comment l'exécution d'actions favorise l'observation (3) comment gérer et étendre les agents couramment utilisés ; outils pour les agents Compétences ; (4) Comment combiner plusieurs agents pour résoudre des tâches.
Comment définir et implémenter un agent
Un agent peut détecter l'état de l'environnement et générer des actions à effectuer lors de la résolution de tâches spécifiées par l'utilisateur. Diffusion des statuts et des événements. Dans OpenDevin, l'état est une structure de données qui encapsule toutes les informations pertinentes permettant à un agent d'effectuer des tâches. Un élément clé de cet état est le streaming d’événements, une collection chronologique d’actions et d’observations passées.
Action. Inspiré de CodeAct, OpenDevin connecte les agents à l'environnement via un ensemble d'actions de base. Les actions IPythonRunCellAction et CmdRunAction permettent aux agents d'exécuter du code Python arbitraire et des commandes bash dans un environnement sandbox (par exemple, un système d'exploitation Linux isolé de manière sécurisée). BrowserInteractiveAction permet aux agents d'interagir avec les navigateurs Web.
Observez. Les observations décrivent les changements dans l'environnement observés par l'agent. Cela peut ou non être provoqué par une action de l'agent : il peut s'agir 1) d'une instruction en langage naturel donnée par l'utilisateur, 2) du résultat de l'exécution de l'action précédente de l'agent (par exemple, le résultat de l'exécution de code, etc.).
Mettre en œuvre de nouveaux agents. La conception de l'agent est simple mais puissante, permettant aux utilisateurs de créer et de personnaliser facilement des agents pour diverses tâches. Le cœur réside dans la fonction step, qui prend l'état actuel comme entrée et génère les actions appropriées basées sur la logique de l'agent. La figure 2 montre un exemple de code simplifié pour l'abstraction d'agent.
Observez les résultats de l'exécution des actions
Agent Runtime fournit aux agents un espace d'action comparable à celui des développeurs de logiciels humains, permettant à OpenDevin de gérer une variété de tâches de développement de logiciels et basées sur le Web, y compris des processus de développement de logiciels complexes. , projets d'analyse de données, tâches de navigation Web, etc. Il permet aux agents d'accéder à un terminal bash pour exécuter du code et des outils de ligne de commande, d'exploiter les notebooks Jupyter pour écrire et exécuter du code à la volée et d'interagir avec un navigateur Web pour effectuer des tâches Web (par exemple, des recherches d'informations). Erweiterbare Agent-Computer-Schnittstelle Der Autor hat eine AgentSkills-Bibliothek erstellt, eine Toolbox, die die Fähigkeiten von Agenten verbessern soll und Dienstprogramme bereitstellt, 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. Bewertung In diesem Abschnitt wird OpenDevin (in den folgenden experimentellen Ergebnissen als OD abgekürzt) mit reproduzierbaren Open-Source-Basismethoden verglichen. Diese 15 Benchmarks decken Aufgaben wie Softwareentwicklung, Surfen im Internet und mehr ab. Tabelle 3 zeigt, dass der OpenDevin-Agent zwar möglicherweise nicht in jeder Kategorie eine optimale Leistung erzielt, aber im Hinblick auf die Allgemeingültigkeit konzipiert ist. Tabelle 4 zeigt die Ergebnisse des Agenten zu Software-Engineering-Benchmarks. Im Einzelnen: SWE-Bench ist darauf ausgelegt, 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 erreichte auf ML-Bench die höchste Erfolgsquote von 76,47 %, was besser ist als der SWE-Agent (42,64 %). Gorilla APIBench untersucht die Fähigkeit eines Agenten, APIs zu verwenden. OpenDevin erreicht mit GPT-4o eine Erfolgsquote von 36,4 % und übertrifft damit Baselines, die nicht speziell auf API-Aufrufe abgestimmt sind. 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. Tabelle 5 zeigt die Bewertungsergebnisse des Webbrowsing-Benchmarks. Tabelle 6 zeigt die Ergebnisse verschiedener Hilfsbenchmarks. Unter anderem wird GAIA verwendet, um die Fähigkeit des Agenten zu bewerten, allgemeine Aufgaben zu lösen. Die Ergebnisse zeigen, dass der Agent bei GAIA einen Wert von 32,1 erreicht hat, was deutlich besser ist als beim ursprünglichen AutoGPT. 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.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!