소식

OpenDevin이 대형 모델 에이전트 개발자가 꼭 읽어야 할 기술 보고서를 발표했습니다.

2024-08-02

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



기계 심장 보고서

편집자: Chen Chen, Zenan

인기 있는 범용 대형 모델 에이전트 플랫폼입니다.

올해 3월, '세계 최초의 AI 소프트웨어 엔지니어' 데빈이 AI 서클을 폭파했다. 이전 AI 프로그래밍 도우미와 달리 Devin은 프로그래밍을 지원하는 역할을 수행하는 것이 아니라 전체 개발 프로젝트를 독립적으로 엔드 투 엔드로 완료할 수 있습니다.



Devin의 탄생을 통해 우리는 대형 모델 에이전트의 강력한 기능을 평가할 수 있었습니다. 곧 이를 모방하려는 오픈소스 프로젝트가 업계에 많이 등장했고, 그중 오픈데빈(OpenDevin)이 가장 눈에 띄며 가장 주목을 받았다.

OpenDevin은 소프트웨어를 통해 세계와 상호 작용하는 범용 에이전트를 개발하기 위한 플랫폼입니다.

대형 모델 에이전트, 인터페이스 및 환경 간의 상호 작용 메커니즘.

Agent가 사용할 수 있는 Sandbox 운영체제 + 웹브라우저 환경;

코드를 생성하고 실행하기 위한 인터페이스

다중 에이전트 지원;

평가 프레임워크.

현재 OpenDevin의 GitHub는 29,000개 이상의 별을 받았습니다.



최근 OpenaDevin 팀은 이 도구에 대한 기술 보고서를 발표했습니다.



신고 주소: https://arxiv.org/pdf/2407.16741

기술 보고서에서 OpenDevin의 저자, ​​University of Illinois at Urbana-Champaign, Carnegie Mellon University 및 기타 기관의 학자들은 소프트웨어를 통해 세상과 상호 작용하는 일반 및 특수 AI 개발을 위한 커뮤니티 중심 플랫폼인 OpenDevin을 자세히 설명합니다.

더 중요한 것은 OpenDevin이 개념적 프레임워크일 뿐만 아니라 포괄적이고 즉시 사용 가능한 에이전트, 환경 및 평가 구현도 포함하고 있다는 것입니다. 이 보고서가 발표된 시점에서 OpenDevin에는 CodeAct 아키텍처 기반의 강력한 일반 에이전트를 포함하여 10개 이상의 에이전트를 구현하고 웹 검색 및 코드 편집 기능을 추가한 에이전트 센터가 포함되어 있습니다. 에이전트와의 사용자 상호 작용은 에이전트의 현재 작업을 시각화하고 실시간 피드백을 허용하는 채팅 인터페이스를 통해 이루어집니다. 또한 평가 프레임워크는 현재 상담원 성과를 평가하는 데 사용할 수 있는 15개의 벤치마크를 지원합니다.

오픈데빈 아키텍처

이 기사에서 저자는 다음 측면에서 OpenDevin을 설명합니다: (1) 에이전트를 정의하고 구현하는 방법, (2) 작업 실행이 관찰을 촉진하는 방법, (3) 에이전트가 일반적으로 사용하는 기술을 관리하고 확장하는 방법, 여러 에이전트를 통합하여 작업을 해결하는 방법.



에이전트를 정의하고 구현하는 방법

에이전트는 환경 상태를 감지하고 사용자가 지정한 작업을 해결할 때 수행할 작업을 생성할 수 있습니다.

상태 및 이벤트 흐름. OpenDevin에서 상태는 에이전트가 작업을 수행하는 데 필요한 모든 관련 정보를 캡슐화하는 데이터 구조입니다. 이 상태의 핵심 구성 요소는 과거 작업과 관찰 내용을 시간순으로 모아 놓은 이벤트 스트리밍입니다.

행동. CodeAct에서 영감을 받은 OpenDevin은 핵심 작업 세트를 통해 에이전트를 환경에 연결합니다. IPythonRunCellAction 및 CmdRunAction 작업을 통해 에이전트는 샌드박스 환경(예: 안전하게 격리된 Linux 운영 체제) 내에서 임의의 Python 코드 및 bash 명령을 실행할 수 있습니다. BrowserInteractiveAction은 에이전트와 웹 브라우저 간의 상호 작용을 지원합니다.

관찰하다. 관찰은 에이전트가 관찰한 환경의 변화를 설명합니다. 이는 에이전트의 동작에 의해 발생할 수도 있고 아닐 수도 있습니다. 1) 사용자가 제공한 자연어 명령, 2) 에이전트의 이전 동작의 실행 결과(예: 코드 실행 결과 등)일 수 있습니다.

새 에이전트를 구현합니다. 에이전트 디자인은 간단하면서도 강력하므로 사용자는 다양한 작업을 위해 에이전트를 쉽게 만들고 사용자 지정할 수 있습니다. 핵심은 현재 상태를 입력으로 사용하고 에이전트의 논리에 따라 적절한 작업을 생성하는 단계 함수에 있습니다. 그림 2는 에이전트 추상화를 위한 단순화된 예제 코드를 보여줍니다.



작업 실행 결과 관찰

Agent Runtime은 에이전트에 인간 소프트웨어 개발자의 작업 공간과 비슷한 작업 공간을 제공하여 OpenDevin이 복잡한 소프트웨어 개발 워크플로우, 데이터 분석 프로젝트, 웹 브라우징 작업 등을 포함한 다양한 소프트웨어 개발 및 웹 기반 작업을 처리할 수 있도록 합니다. 이를 통해 에이전트는 bash 터미널에 액세스하여 코드 및 명령줄 도구를 실행하고, Jupyter 노트북을 활용하여 즉시 코드를 작성 및 실행하고, 웹 브라우저와 상호 작용하여 웹 기반 작업(예: 정보 검색)을 수행할 수 있습니다.

확장 가능 에이전트 - 컴퓨터 인터페이스

저자는 기본 bash 명령이나 Python 코드로는 쉽게 사용할 수 없는 유틸리티를 제공하여 에이전트의 기능을 향상하도록 설계된 도구 상자인 AgentSkills 라이브러리를 구축했습니다.

다중 에이전트 상호 작용

OpenDevin을 사용하면 여러 에이전트가 상호 작용할 수 있습니다. 이를 달성하기 위해 작성자는 에이전트가 특정 하위 작업을 다른 에이전트에 위임할 수 있도록 하는 특수 작업 유형인 AgentDelegateAction을 사용했습니다.

평가하다

이 섹션에서는 OpenDevin(다음 실험 결과에서는 OD로 약칭)을 오픈 소스 재현 가능한 기준 방법과 비교합니다. 15개 벤치마크는 소프트웨어 엔지니어링 및 웹 브라우징과 같은 작업을 다룹니다.



표 3은 OpenDevin 에이전트가 모든 범주에서 최적의 성능을 달성할 수는 없지만 일반성을 염두에 두고 설계되었음을 보여줍니다.



표 4는 소프트웨어 엔지니어링 벤치마크에 대한 에이전트의 결과를 보고합니다.



특히:

SWE-bench는 버그 보고서나 기능 요청과 같은 GitHub 문제를 해결하는 에이전트의 능력을 평가하도록 설계되었습니다. 표 4에서 볼 수 있듯이, 이 기사에서 설명하는 최신 버전의 CodeActAgent v1.8은 clude-3.5-sonnet을 기반으로 하며 소프트웨어 개발에 특별히 사용되는 다른 오픈 소스 에이전트에 비해 최대 26%의 문제 해결 속도를 제공합니다.

HumanEvalFix. OpenDevin CodeActAgent는 Python 분할 오류의 79.3%를 성공적으로 수정하여 에이전트가 아닌 모든 방법보다 훨씬 뛰어난 성능을 발휘하고 StarCoder2-15B의 성능을 거의 두 배로 늘렸습니다.

GPT-4o 기반의 OpenDevin 에이전트는 ML-Bench에서 76.47%의 가장 높은 성공률을 달성했으며 이는 SWE-Agent(42.64%)보다 우수합니다.

Gorilla APIBench는 에이전트의 API 사용 능력을 검사합니다. GPT-4o를 사용하는 OpenDevin의 성공률은 36.4%로 API 호출에 대해 특별히 미세 조정되지 않은 기준보다 좋습니다.

ToolQA는 에이전트의 외부 도구 사용 능력을 평가합니다. GPT-4o를 갖춘 OpenDevin은 모든 기준에 비해 가장 높은 성능을 보여줍니다. 에이전트는 CSV 및 데이터베이스 도구 사용과 관련된 작업에서 더 나은 성능을 발휘했지만 수학 및 계산기 도구 사용에서는 개선이 필요했습니다.

표 5는 웹 브라우징 벤치마크의 평가 결과를 보여준다.



표 6은 다양한 보조 벤치마크 결과를 보고합니다.



그 중 GAIA는 에이전트의 일반적인 작업 해결 능력을 평가하는 데 사용되었으며, 그 결과 에이전트는 GAIA에서 32.1점을 획득했으며 이는 기존 AutoGPT에 비해 크게 향상되었습니다.

GPQA는 어려운 대학원 수준의 문제를 해결하면서 도구 사용을 조정하는 상담사의 능력을 평가하는 데 사용됩니다. 결과는 표 6과 7에 나와 있습니다. OpenDevin은 여러 도구 및 웹 검색 사용을 지원하는 기능을 통합하여 에이전트가 복잡한 다단계 문제를 더 잘 해결할 수 있도록 합니다.



더 많은 결과를 보려면 원본 논문을 참조하세요.