Deskripsi
Oscar, sebuah arsitektur agen kontributor open-source, adalah proyek yang berfokus pada peningkatan pengembangan perangkat lunak open-source dengan menciptakan agen otomatis untuk pemeliharaan proyek. Keyakinan intinya adalah bahwa beban kerja yang signifikan dalam memelihara proyek open-source, baik besar maupun kecil, dapat dikurangi. Large Language Models (LLM) menawarkan kemungkinan baru bagi agen untuk berinteraksi secara lancar dengan orang-orang melalui analisis semantik bahasa alami, seperti laporan isu dan instruksi pemelihara, dan dengan mengonversi instruksi bahasa alami menjadi kode program. Meskipun LLM adalah komponen penting, sebagian besar tindakan agen akan melibatkan eksekusi kode standar dan deterministik. Berbeda dengan banyak penggunaan LLM yang berfokus pada pengembangan, Oscar tidak bertujuan untuk menambah atau mengganti proses penulisan kode. Sebaliknya, ia berfokus pada aspek pemeliharaan yang kurang menarik, seperti memproses isu yang masuk, mencocokkan pertanyaan dengan dokumentasi yang ada, dan tugas serupa.
Baca Selengkapnya
Oscar pada dasarnya adalah sebuah eksperimen, dengan arah dan pembelajaran di masa depan yang belum sepenuhnya ditentukan. Prototipe awal, bot @gabyhelp, telah menunjukkan banyak interaksi yang berhasil dalam pelacak isu Go. Saat ini dikembangkan di bawah proyek Go, Oscar berpotensi untuk dipisahkan menjadi proyek terpisah di masa depan. Tujuan konkret proyek ini meliputi pengurangan upaya pemelihara dalam menyelesaikan isu dan daftar perubahan (CL/pull request), penurunan upaya yang diperlukan untuk menjawab pertanyaan forum, dan memungkinkan lebih banyak individu untuk menjadi pemelihara yang produktif. Tujuan utama yang bukan merupakan tujuan adalah mengotomatiskan pengkodean; fokus tetap pada otomatisasi beban kerja pemelihara.
Pendekatan ini berpusat pada pembangunan arsitektur yang dapat digunakan kembali dan dapat diperluas yang dapat diadaptasi oleh proyek perangkat lunak apa pun untuk membuat agen yang disesuaikan. Oscar bertujuan untuk mengatasi beban kerja pemelihara, yang tidak unik untuk proyek Go. Kemampuan utama yang teridentifikasi meliputi pengindeksan dan penayangan konteks proyek yang relevan selama interaksi kontributor, menggunakan bahasa alami untuk mengontrol alat deterministik, dan menganalisis laporan isu, CL/PR, dan diskusi grup untuk memperbaikinya secara real-time, memberi label, dan merutekannya dengan tepat. LLM merupakan bagian integral dari kemampuan ini karena kekuatannya dalam pemrosesan bahasa alami, sementara kode deterministik menangani eksekusi. Proyek ini menekankan penggunaan LLM untuk analisis semantik dan terjemahan bahasa alami ke program, mengandalkan kode deterministik untuk sisanya.
Salah satu kemampuan penting adalah pengindeksan dan penayangan konteks proyek terkait. Proyek perangkat lunak itu kompleks, dan pemelihara tidak selalu dapat mengingat semua detail yang relevan. Oscar menggunakan embedding LLM untuk membuat mesin pencari proyek, mengindeks dokumentasi, isu, dan diskusi. Ketika isu baru muncul, agen dapat menggunakan indeks ini untuk menemukan konteks yang relevan, seperti isu serupa di masa lalu atau dokumentasi yang relevan, dan membalas dengan tautan. Ini telah menunjukkan manfaat seperti penayangan isu duplikat, penyediaan konteks bagi kontributor, dan menghemat waktu pemelihara dengan mengarahkan mereka ke diskusi atau laporan bug yang relevan di masa lalu. Interaksi segera agen setelah laporan diajukan juga penting untuk melibatkan pelapor selagi mereka masih tersedia dan terlibat.
Kemampuan utama lainnya adalah menggunakan bahasa alami untuk mengontrol alat deterministik. Seiring pertumbuhan proyek, jumlah alat meningkat, membuatnya sulit untuk dilacak dan digunakan. Oscar membayangkan fasilitas untuk mengedit komentar isu, menambahkan label, atau menugaskan orang berdasarkan permintaan bahasa alami. LLM mahir dalam menerjemahkan niat bahasa alami ke dalam bentuk yang dapat dieksekusi seperti pemanggilan alat. Eksperimen awal dengan Gemini menunjukkan potensi dalam memilih dan memanggil alat. Pendekatan ini, yang menggunakan LLM untuk mengonversi bahasa alami menjadi penggunaan alat deterministik, dianggap lebih efektif daripada pendekatan "tongkat sihir" LLM murni, karena memungkinkan eksekusi deterministik dan verifikasi yang lebih mudah.
Kemampuan penting ketiga melibatkan analisis laporan isu dan CL/PR. Selain menghubungkan isu terkait, Oscar berencana untuk memasukkan analisis semantik, seperti mengidentifikasi topik utama isu untuk pelabelan yang sesuai (misalnya, "kinerja"). Ia juga bertujuan untuk menentukan apakah informasi lebih lanjut diperlukan agar laporan berguna, seperti meminta tautan program reproduksi atau menyertakan kode. Agen berpotensi menjalankan alat eksekusi yang di-sandbox untuk mengidentifikasi rilis yang mengandung bug atau menggunakan git bisect untuk menentukan commit yang memperkenalkan bug. Analisis ini paling efektif bila dilakukan segera setelah laporan diajukan, memanfaatkan ketersediaan agen 24/7.
Prototipe pertama, Gaby ("Go AI bot"), beroperasi di dalam pelacak isu Go, memposting sebagai @gabyhelp. Kode sumbernya ada di internal/gaby. Gaby mengindeks konten dari isu Go, dokumentasi Go, tinjauan kode Gerrit, dan diskusi proyek Go/golang-nuts, memungkinkannya untuk menanggapi isu baru dengan tautan yang relevan. Arsitektur Gaby dirancang untuk fleksibilitas, memungkinkannya berjalan di berbagai layanan hosting, menggunakan LLM, lapisan penyimpanan, dan database vektor yang berbeda. Prototipe saat ini menggunakan GCP Cloud Run dengan LLM Gemini Google dan Google Cloud Firestore. Proyek ini juga mengakui keberadaan @gopherbot, agen deterministik yang sudah lama ada di proyek Go, dan bertujuan untuk akhirnya menggabungkan @gabyhelp ke dalam @gopherbot dengan membangun kembali @gopherbot sebagai agen Oscar, mencari metode konfigurasi yang lebih ringan menggunakan bahasa alami.
- KategoriAsisten Coding AI
- Model HargaSumber Terbuka
- PenerapanCloud / Di tempat
- PlatformWeb
Fitur Inti Oscar
Agen otomatis untuk pemeliharaan open-source
Mengurangi beban kerja pemelihara dengan memproses isu dan permintaan
Memanfaatkan LLM untuk pemahaman bahasa alami dan analisis semantik
Menggunakan kode deterministik untuk eksekusi tugas yang andal
Mengindeks dan menampilkan konteks proyek yang relevan (dokumentasi, isu, diskusi)
Memungkinkan kontrol bahasa alami atas alat deterministik
Menganalisis laporan isu dan daftar perubahan untuk perutean dan pelabelan yang lebih baik
Prototipe agen @gabyhelp aktif di pelacak isu Go
Arsitektur yang dapat diperluas untuk pengembangan agen kustom
Mendukung integrasi dengan berbagai LLM, lapisan penyimpanan, dan database vektor
Bertujuan untuk mengotomatiskan aspek non-coding dari pemeliharaan open-source
Memfasilitasi keterlibatan kontributor yang lebih cepat melalui respons segera
Memulai dengan Oscar
Konfigurasi: Tentukan kemampuan agen dan hubungkan ke sumber data proyek
Deploy: Hosting agen pada platform yang sesuai (misalnya, layanan cloud)
Integrasi: Hubungkan ke repositori proyek dan saluran komunikasi (misalnya, webhook GitHub)
Latih/Indeks: Biarkan agen memproses dan mengindeks konteks proyek menggunakan LLM
Pantau: Amati interaksi dan kinerja agen di pelacak isu dan forum
Perluas: Kembangkan perilaku agen baru dan integrasikan alat deterministik kustom
Optimalkan: Sempurnakan respons dan analisis agen berdasarkan kebutuhan dan umpan balik proyek
Kasus Penggunaan Oscar
- Otomatisasi Triase Isu
- Bantuan Dokumentasi
- Deteksi Isu Duplikat
- Pengurangan Beban Kerja Pemelihara
- Dukungan Kontributor
- Analisis Daftar Perubahan
- Penayangan Konteks
- Integrasi Alat










