noticias

OpenDevin ha publicado un informe técnico, una lectura obligada para los desarrolladores de agentes de modelos grandes

2024-08-02

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



Informe del corazón de la máquina

Editor: Chen Chen, Zenan

Popular plataforma de agente de modelo grande de uso general.

En marzo de este año, Devin, "el primer ingeniero de software de IA del mundo", detonó el círculo de la IA. A diferencia de los asistentes de programación de IA anteriores, Devin no solo desempeña el papel de ayudar a la programación, sino que puede completar todo el proyecto de desarrollo de forma independiente y de principio a fin.



El nacimiento de Devin nos permitió apreciar las poderosas capacidades de los Agentes modelo grandes. Pronto, aparecieron muchos proyectos de código abierto en la industria que intentaban copiarlo. Entre ellos, OpenDevin se destacó y recibió la mayor atención.

OpenDevin es una plataforma para desarrollar agentes de propósito general que interactúan con el mundo a través de software. Las características incluyen:

El mecanismo de interacción entre el agente modelo grande, la interfaz y el entorno;

Sistema operativo Sandbox + entorno de navegador web disponible para el Agente;

Una interfaz para crear y ejecutar código;

Soporte para múltiples agentes;

Marco de evaluación.

Actualmente, GitHub de OpenDevin ha recibido más de 29.000 estrellas.



Recientemente, el equipo de OpenaDevin publicó un informe técnico sobre esta herramienta.



Dirección del informe: https://arxiv.org/pdf/2407.16741

En un informe técnico, los autores de OpenDevin, académicos de la Universidad de Illinois en Urbana-Champaign, la Universidad Carnegie Mellon y otras instituciones, detallan OpenDevin, una plataforma impulsada por la comunidad para desarrollar IA general y especializada que interactúa con el mundo a través de software.

Más importante aún, OpenDevin no es solo un marco conceptual, sino que también incluye una implementación de evaluación, entorno y agente integral y lista para usar. A partir de la publicación de este informe, OpenDevin contiene un Centro de agentes, que ha implementado más de 10 agentes, incluido un poderoso agente general basado en la arquitectura CodeAct, y ha agregado funciones para navegación web y edición de código. La interacción del usuario con el agente se logra a través de una interfaz de chat, que visualiza las operaciones actuales del agente y permite comentarios en tiempo real. Además, el marco de evaluación actualmente admite 15 puntos de referencia que pueden usarse para evaluar el desempeño de los agentes.

Arquitectura abiertaDevin

En este artículo, el autor describe OpenDevin desde los siguientes aspectos: (1) cómo definir e implementar agentes; (2) cómo la ejecución de acciones promueve la observación (3) cómo gestionar y ampliar las habilidades comúnmente utilizadas por los agentes; cómo integrar múltiples agentes trabajan juntos para resolver una tarea.



Cómo definir e implementar un agente

Los agentes pueden detectar el estado del entorno y generar acciones para realizar al resolver tareas especificadas por el usuario.

Estado y flujo de eventos. En OpenDevin, el estado es una estructura de datos que encapsula toda la información relevante para que un agente realice tareas. Un componente clave de este estado es la transmisión de eventos, una colección cronológica de acciones y observaciones pasadas.

acción. Inspirado en CodeAct, OpenDevin conecta a los agentes con el entorno a través de un conjunto central de acciones. Las acciones IPythonRunCellAction y CmdRunAction permiten a los agentes ejecutar código Python arbitrario y comandos bash dentro de un entorno sandbox (por ejemplo, un sistema operativo Linux aislado de forma segura). BrowserInteractiveAction admite la interacción entre el agente y el navegador web.

observar. Las observaciones describen cambios en el entorno observados por un agente. Puede ser causado o no por una acción del agente: puede ser 1) una instrucción en lenguaje natural dada por el usuario, 2) el resultado de la ejecución de la acción anterior del agente (por ejemplo, resultado de la ejecución del código, etc.).

Implementar nuevos agentes. El diseño del agente es simple pero potente, lo que permite a los usuarios crear y personalizar fácilmente agentes para una variedad de tareas. El núcleo radica en la función de paso, que toma el estado actual como entrada y genera acciones apropiadas basadas en la lógica del agente. La Figura 2 muestra un código de ejemplo simplificado para la abstracción del agente.



Observar los resultados de la ejecución de la acción.

Agent Runtime proporciona a los agentes un espacio de acción comparable al de los desarrolladores de software humanos, lo que permite a OpenDevin manejar una variedad de tareas de desarrollo de software y basadas en la Web, incluidos flujos de trabajo de desarrollo de software complejos, proyectos de análisis de datos, tareas de navegación web, etc. Permite a los agentes acceder a una terminal bash para ejecutar código y herramientas de línea de comandos, aprovechar los cuadernos de Jupyter para escribir y ejecutar código sobre la marcha e interactuar con un navegador web para realizar tareas basadas en la web (por ejemplo, búsqueda de información).

Agente escalable: interfaz de computadora

Los autores crearon una biblioteca AgentSkills, una caja de herramientas diseñada para mejorar las capacidades de los agentes, proporcionando utilidades que no están disponibles con comandos bash básicos o código Python.

Interacción multiagente

OpenDevin permite que múltiples agentes interactúen. Para lograr esto, los autores utilizaron un tipo de acción especial, AgentDelegateAction, que permite a un agente delegar subtareas específicas a otro agente.

Evaluar

Esta sección compara OpenDevin (abreviado como OD en los siguientes resultados experimentales) con métodos de referencia reproducibles de código abierto. Los 15 puntos de referencia cubren tareas como la ingeniería de software y la navegación web.



La Tabla 3 muestra que, si bien el agente OpenDevin puede no lograr un rendimiento óptimo en todas las categorías, está diseñado teniendo en cuenta la generalidad.



La Tabla 4 informa los resultados del agente en los puntos de referencia de ingeniería de software.



En particular:

SWE-bench está diseñado para evaluar la capacidad de un agente para resolver problemas de GitHub, como informes de errores o solicitudes de funciones. Como se muestra en la Tabla 4, la última versión de CodeActAgent v1.8 en este artículo, basada en claude-3.5-sonnet, tiene una tasa de resolución de problemas de hasta el 26% en comparación con otros agentes de código abierto utilizados específicamente para el desarrollo de software.

HumanEvalFix. OpenDevin CodeActAgent solucionó con éxito el 79,3% de los errores en las divisiones de Python, superando significativamente a todos los métodos que no son de agente y casi duplicando el rendimiento de StarCoder2-15B.

El agente OpenDevin basado en GPT-4o logró la tasa de éxito más alta del 76,47% en ML-Bench, que es mejor que SWE-Agent (42,64%).

Gorilla APIBench examina la capacidad de un agente para utilizar API. OpenDevin que usa GPT-4o tiene una tasa de éxito del 36,4%, que es mejor que la línea base que no está específicamente ajustada para llamadas API.

ToolQA evalúa la capacidad de un agente para utilizar herramientas externas. OpenDevin con GPT-4o muestra el rendimiento más alto en comparación con todas las líneas de base. El agente tuvo un mejor desempeño en tareas relacionadas con el uso de herramientas de bases de datos y CSV, pero necesitaba mejorar en el uso de herramientas de matemáticas y calculadoras.

La Tabla 5 informa los resultados de la evaluación para el punto de referencia de navegación web.



La Tabla 6 informa los resultados de varios puntos de referencia auxiliares.



Entre ellos, GAIA se utiliza para evaluar la capacidad del agente para resolver tareas generales. Los resultados muestran que el agente logró 32,1 puntos en GAIA, lo que mejora significativamente en comparación con el AutoGPT original.

GPQA se utiliza para evaluar la capacidad de un agente para coordinar el uso de herramientas mientras resuelve problemas desafiantes a nivel de posgrado. Los resultados se muestran en las Tablas 6 y 7. OpenDevin integra funciones que admiten el uso de múltiples herramientas y búsquedas web, lo que permite al agente resolver mejor problemas complejos de varios pasos.



Para obtener más resultados, consulte el artículo original.