Новости

OpenDevin выпустила технический отчет, который необходимо прочитать разработчикам крупных моделей агентов.

2024-08-02

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



Отчет о сердце машины

Монтажер: Чен Чен, Зенан

Популярная универсальная платформа для крупных моделей агентов.

В марте этого года Девин, «первый в мире инженер-программист ИИ», взорвал круг ИИ. В отличие от предыдущих помощников по программированию ИИ, Девин не просто помогает программисту, но может завершить весь проект разработки независимо и от начала до конца.



Рождение Девина позволило нам оценить мощные возможности крупных модельных агентов. Вскоре в отрасли появилось множество проектов с открытым исходным кодом, пытающихся его скопировать. Среди них OpenDevin выделился и получил наибольшее внимание.

OpenDevin — это платформа для разработки агентов общего назначения, которые взаимодействуют с миром посредством программного обеспечения. Возможности включают в себя:

Механизм взаимодействия между Агентом большой модели, интерфейсом и средой;

Операционная система «песочница» + среда веб-браузера, доступная агенту;

Интерфейс для создания и выполнения кода;

Мультиагентная поддержка;

Структура оценки.

В настоящее время GitHub OpenDevin получил более 29 000 звезд.



Недавно команда OpenaDevin опубликовала технический отчет об этом инструменте.



Адрес отчета: https://arxiv.org/pdf/2407.16741.

В техническом отчете авторы OpenDevin, ученые из Университета Иллинойса в Урбана-Шампейн, Университета Карнеги-Меллон и других учреждений, подробно описывают OpenDevin, управляемую сообществом платформу, предназначенную для разработки общего и специализированного ИИ, который взаимодействует с миром через программное обеспечение Agent Agent. .

Что еще более важно, OpenDevin — это не только концептуальная основа, он также включает в себя комплексный и готовый к использованию агент, среду и реализацию оценки. На момент публикации этого отчета OpenDevin содержал Центр агентов, в котором реализовано более 10 агентов, включая мощный общий агент на основе архитектуры CodeAct, а также добавлены функции для просмотра веб-страниц и редактирования кода. Взаимодействие пользователя с агентом осуществляется через интерфейс чата, который визуализирует текущие операции агента и обеспечивает обратную связь в режиме реального времени. Кроме того, система оценки в настоящее время поддерживает 15 тестов, которые можно использовать для оценки производительности агентов.

OpenDevin Архитектура

В этой статье автор описывает OpenDevin со следующих аспектов: (1) как определить и реализовать агентов; (2) как выполнение действий способствует наблюдению (3) как управлять и расширять навыки, обычно используемые агентами; как объединить работу нескольких агентов для решения задачи.



Как определить и реализовать агента

Агенты могут определять состояние среды и генерировать действия для выполнения при решении заданных пользователем задач.

Поток состояний и событий. В OpenDevin состояние — это структура данных, которая инкапсулирует всю необходимую информацию, необходимую агенту для выполнения задач. Ключевым компонентом этого состояния является потоковая передача событий, хронологическая коллекция прошлых действий и наблюдений.

действие. Вдохновленный CodeAct, OpenDevin подключает агентов к среде с помощью основного набора действий. Действия IPythonRunCellAction и CmdRunAction позволяют агентам выполнять произвольный код Python и команды bash в изолированной среде (например, в безопасно изолированной операционной системе Linux). BrowserInteractiveAction поддерживает взаимодействие между агентом и веб-браузером.

наблюдать. Наблюдения описывают изменения в окружающей среде, наблюдаемые агентом. Оно может быть вызвано или не быть вызвано действием агента: это может быть 1) инструкция на естественном языке, данная пользователем, 2) результат выполнения предыдущего действия агента (например, результат выполнения кода и т. д.).

Внедрить новых агентов. Конструкция агента проста, но эффективна, что позволяет пользователям легко создавать и настраивать агентов для различных задач. Суть заключается в функции шага, которая принимает текущее состояние в качестве входных данных и генерирует соответствующие действия на основе логики агента. На рис. 2 показан упрощенный пример кода абстракции агента.



Наблюдайте за результатами выполнения действий

Среда выполнения агента предоставляет агентам пространство действий, сравнимое с пространством действий людей-разработчиков программного обеспечения, позволяя OpenDevin выполнять различные задачи по разработке программного обеспечения и веб-задачам, включая сложные рабочие процессы разработки программного обеспечения, проекты анализа данных, задачи просмотра веб-страниц и т. д. Он позволяет агентам получать доступ к терминалу bash для запуска кода и инструментов командной строки, использовать блокноты Jupyter для написания и выполнения кода на лету, а также взаимодействовать с веб-браузером для выполнения веб-задач (например, поиска информации).

Масштабируемый агент — компьютерный интерфейс

Авторы создали библиотеку AgentSkills — набор инструментов, предназначенный для расширения возможностей агентов, предоставляющий утилиты, недоступные с помощью базовых команд bash или кода Python.

Мультиагентное взаимодействие

OpenDevin позволяет взаимодействовать нескольким агентам. Для этого авторы использовали специальный тип действия AgentDelegateAction, который позволяет агенту делегировать определенные подзадачи другому агенту.

Оценивать

В этом разделе сравнивается OpenDevin (сокращенно OD в следующих экспериментальных результатах) с воспроизводимыми базовыми методами с открытым исходным кодом. 15 тестов охватывают такие задачи, как разработка программного обеспечения и просмотр веб-страниц.



В таблице 3 показано, что, хотя агент OpenDevin не может обеспечить оптимальную производительность в каждой категории, он разработан с учетом универсальности.



В таблице 4 представлены результаты агента по тестам разработки программного обеспечения.



в частности:

SWE-bench предназначен для оценки способности агента решать проблемы GitHub, такие как отчеты об ошибках или запросы функций. Как показано в таблице 4, последняя версия CodeActAgent v1.8, описанная в этой статье, основанная на claude-3.5-sonnet, имеет уровень решения проблем до 26% по сравнению с другими агентами с открытым исходным кодом, специально используемыми для разработки программного обеспечения.

HumanEvalFix. OpenDevin CodeActAgent успешно исправил 79,3% ошибок в разбиениях Python, значительно превосходя по производительности все неагентные методы и почти вдвое увеличивая производительность StarCoder2-15B.

Агент OpenDevin на основе GPT-4o достиг самого высокого показателя успеха — 76,47% на ML-Bench, что лучше, чем у SWE-Agent (42,64%).

Gorilla APIBench проверяет способность агента использовать API. OpenDevin, использующий GPT-4o, имеет показатель успеха 36,4%, что лучше, чем базовый уровень, который специально не настроен для вызовов API.

ToolQA оценивает способность агента использовать внешние инструменты. OpenDevin с GPT-4o показывает высочайшую производительность по сравнению со всеми базовыми вариантами. Агент лучше справлялся с задачами, связанными с использованием CSV и инструментов баз данных, но требовал улучшения в использовании математических инструментов и инструментов калькулятора.

В Таблице 5 представлены результаты оценки теста просмотра веб-страниц.



В таблице 6 представлены результаты различных вспомогательных тестов.



Среди них GAIA используется для оценки способности агента решать общие задачи. Результаты показывают, что агент набрал 32,1 балла по GAIA, что значительно лучше по сравнению с исходным AutoGPT.

GPQA используется для оценки способности агента координировать использование инструментов при решении сложных задач на уровне выпускников. Результаты показаны в таблицах 6 и 7. OpenDevin объединяет функции, поддерживающие использование нескольких инструментов и веб-поиска, что позволяет агенту лучше решать сложные многоэтапные задачи.



Для получения дополнительных результатов обратитесь к оригинальной статье.