berita

OpenDevin telah merilis laporan teknis, yang harus dibaca oleh pengembang Agen model besar

2024-08-02

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



Laporan Jantung Mesin

Editor: Chen Chen, Zenan

Platform Agen model besar tujuan umum yang populer.

Pada bulan Maret tahun ini, Devin, "insinyur perangkat lunak AI pertama di dunia", meledakkan lingkaran AI. Berbeda dengan asisten pemrograman AI sebelumnya, Devin tidak hanya berperan membantu pemrograman, tetapi dapat menyelesaikan seluruh proyek pengembangan secara mandiri dan end-to-end.



Kelahiran Devin membuat kami menghargai kemampuan hebat dari Agen model besar. Segera, banyak proyek sumber terbuka muncul di industri yang mencoba menirunya. Diantaranya, OpenDevin menonjol dan mendapat perhatian paling besar.

OpenDevin adalah platform untuk mengembangkan agen tujuan umum yang berinteraksi dengan dunia melalui perangkat lunak.

Mekanisme interaksi antara Agen model besar, antarmuka dan lingkungan;

Sistem operasi Sandbox + lingkungan browser web tersedia untuk Agen;

Antarmuka untuk membuat dan mengeksekusi kode;

Dukungan Multi-Agen;

Kerangka penilaian.

Saat ini, GitHub OpenDevin telah menerima lebih dari 29.000 Bintang.



Baru-baru ini, tim OpenaDevin merilis laporan teknis tentang alat ini.



Alamat laporan: https://arxiv.org/pdf/2407.16741

Dalam laporan teknis, penulis OpenDevin, akademisi dari University of Illinois di Urbana-Champaign, Carnegie Mellon University dan institusi lainnya, merinci OpenDevin, sebuah platform berbasis komunitas yang dirancang untuk mengembangkan AI umum dan khusus yang berinteraksi dengan dunia melalui Agen perangkat lunak .

Lebih penting lagi, OpenDevin bukan hanya kerangka konseptual, tetapi juga mencakup implementasi Agen, lingkungan, dan penilaian yang komprehensif dan siap digunakan. Pada saat laporan ini diterbitkan, OpenDevin berisi Pusat Agen, yang telah mengimplementasikan lebih dari 10 agen, termasuk agen umum yang kuat berdasarkan arsitektur CodeAct, dan telah menambahkan fungsi untuk penjelajahan Web dan pengeditan kode. Interaksi pengguna dengan agen dicapai melalui antarmuka obrolan, yang memvisualisasikan operasi agen saat ini dan memungkinkan umpan balik secara real-time. Selain itu, kerangka evaluasi saat ini mendukung 15 tolok ukur yang dapat digunakan untuk mengevaluasi kinerja agen.

Arsitektur OpenDevin

Dalam artikel ini, penulis menjelaskan OpenDevin dari aspek-aspek berikut: (1) bagaimana mendefinisikan dan mengimplementasikan agen; (2) bagaimana eksekusi tindakan mendorong observasi; (3) bagaimana mengelola dan memperluas keterampilan yang biasa digunakan oleh agen; cara mengintegrasikan beberapa Agen bekerja sama untuk menyelesaikan suatu tugas.



Bagaimana mendefinisikan dan mengimplementasikan agen

Agen dapat merasakan keadaan lingkungan dan menghasilkan tindakan untuk dilakukan ketika menyelesaikan tugas yang ditentukan pengguna.

Aliran keadaan dan peristiwa. Di OpenDevin, status adalah struktur data yang merangkum semua informasi relevan bagi agen untuk melakukan tugas. Komponen kunci dari keadaan ini adalah streaming peristiwa, kumpulan kronologis tindakan dan pengamatan di masa lalu.

tindakan. Terinspirasi oleh CodeAct, OpenDevin menghubungkan agen ke lingkungan melalui serangkaian tindakan inti. Tindakan IPythonRunCellAction dan CmdRunAction memungkinkan agen untuk mengeksekusi kode Python arbitrer dan perintah bash dalam lingkungan sandbox (misalnya, sistem operasi Linux yang terisolasi dengan aman). BrowserInteractiveAction mendukung interaksi antara agen dan browser Web.

mengamati. Observasi menggambarkan perubahan lingkungan yang diamati oleh agen. Hal ini mungkin disebabkan atau tidak oleh tindakan agen: mungkin 1) instruksi bahasa alami yang diberikan oleh pengguna, 2) hasil eksekusi dari tindakan agen sebelumnya (misalnya, hasil eksekusi kode, dll.).

Menerapkan agen baru. Desain agen sederhana namun kuat, memungkinkan pengguna membuat dan menyesuaikan agen dengan mudah untuk berbagai tugas. Intinya terletak pada fungsi langkah, yang mengambil status saat ini sebagai masukan dan menghasilkan tindakan yang sesuai berdasarkan logika agen. Gambar 2 menunjukkan contoh kode sederhana untuk abstraksi agen.



Amati hasil eksekusi tindakan

Agent Runtime memberi agen ruang tindakan yang sebanding dengan pengembang perangkat lunak manusia, memungkinkan OpenDevin menangani berbagai pengembangan perangkat lunak dan tugas berbasis Web, termasuk alur kerja pengembangan perangkat lunak yang kompleks, proyek analisis data, tugas penjelajahan Web, dll. Hal ini memungkinkan agen mengakses terminal bash untuk menjalankan kode dan alat baris perintah, memanfaatkan notebook Jupyter untuk menulis dan mengeksekusi kode dengan cepat, dan berinteraksi dengan browser web untuk melakukan tugas berbasis web (misalnya, pencarian informasi).

Agen Scalable - Antarmuka Komputer

Penulis membangun perpustakaan AgentSkills, kotak peralatan yang dirancang untuk meningkatkan kemampuan agen, menyediakan utilitas yang tidak tersedia dengan perintah bash dasar atau kode python.

Interaksi multi-agen

OpenDevin memungkinkan banyak agen untuk berinteraksi. Untuk mencapai hal ini, penulis menggunakan jenis tindakan khusus, AgentDelegateAction, yang memungkinkan agen mendelegasikan subtugas tertentu ke agen lain.

Evaluasi

Bagian ini membandingkan OpenDevin (disingkat OD dalam hasil eksperimen berikut) dengan metode dasar open source yang dapat direproduksi. 15 tolok ukur tersebut mencakup tugas-tugas seperti rekayasa perangkat lunak dan penjelajahan web.



Tabel 3 menunjukkan bahwa meskipun agen OpenDevin mungkin tidak mencapai kinerja optimal di setiap kategori, agen tersebut dirancang dengan mempertimbangkan sifat umum.



Tabel 4 melaporkan hasil agen pada tolok ukur rekayasa perangkat lunak.



secara khusus:

SWE-bench dirancang untuk mengevaluasi kemampuan agen dalam memecahkan masalah GitHub, seperti laporan bug atau permintaan fitur. Seperti yang ditunjukkan pada Tabel 4, versi terbaru CodeActAgent v1.8 dalam artikel ini, berdasarkan claude-3.5-sonnet, memiliki tingkat penyelesaian masalah hingga 26% dibandingkan dengan agen sumber terbuka lainnya yang khusus digunakan untuk pengembangan perangkat lunak.

Perbaikan Evaluasi Manusia. OpenDevin CodeActAgent berhasil memperbaiki 79,3% kesalahan dalam pemisahan Python, secara signifikan mengungguli semua metode non-agen dan hampir menggandakan kinerja StarCoder2-15B.

Agen OpenDevin berdasarkan GPT-4o mencapai tingkat keberhasilan tertinggi sebesar 76,47% di ML-Bench, lebih baik daripada Agen SWE (42,64%).

Gorilla APIBench memeriksa kemampuan agen untuk menggunakan API. OpenDevin yang menggunakan GPT-4o memiliki tingkat keberhasilan sebesar 36,4%, lebih baik dibandingkan baseline yang tidak secara khusus disesuaikan untuk panggilan API.

ToolQA mengevaluasi kemampuan agen untuk menggunakan alat eksternal. OpenDevin dengan GPT-4o menunjukkan performa tertinggi dibandingkan semua baseline. Agen tersebut berkinerja lebih baik pada tugas-tugas yang berkaitan dengan CSV dan penggunaan alat basis data, namun memerlukan peningkatan dalam penggunaan alat matematika dan kalkulator.

Tabel 5 melaporkan hasil evaluasi benchmark penelusuran web.



Tabel 6 melaporkan hasil berbagai tolok ukur tambahan.



Diantaranya, GAIA digunakan untuk mengevaluasi kemampuan agen dalam menyelesaikan tugas-tugas umum. Hasilnya menunjukkan bahwa agen mencapai 32,1 poin pada GAIA, yang meningkat secara signifikan dibandingkan dengan AutoGPT asli.

GPQA digunakan untuk menilai kemampuan agen dalam mengoordinasikan penggunaan alat sambil memecahkan masalah tingkat pascasarjana yang menantang. Hasilnya ditunjukkan pada Tabel 6 dan 7. OpenDevin mengintegrasikan fungsi yang mendukung penggunaan beberapa alat dan pencarian web, memungkinkan agen memecahkan masalah multi-langkah yang kompleks dengan lebih baik.



Untuk hasil lebih lanjut, silakan merujuk ke kertas aslinya.