4 poin oleh xguru 2024-08-13 | Belum ada komentar. | Bagikan ke WhatsApp
  • Proyek yang bertujuan meningkatkan pengembangan perangkat lunak open source dengan membuat asisten otomatis berupa "agen" untuk pemeliharaan open source
    • Dapat mengurangi jumlah pekerjaan berulang yang terkait dengan pemeliharaan open source
  • Kemampuan model bahasa besar (LLM) dalam menganalisis makna bahasa alami serta mengubah antara perintah bahasa alami dan kode program membuka peluang baru agar agen dapat berinteraksi lebih mulus dengan manusia
  • LLM akan menjadi satu bagian dari agen, dan sebagian besar perilaku agen akan berupa eksekusi kode standar yang deterministik
  • Berbeda dari penggunaan LLM yang berfokus pada pengembangan, Oscar tidak berupaya melengkapi atau menggantikan proses penulisan kode
  • Sebaliknya, idenya adalah berfokus pada bagian yang membosankan seperti menangani issue yang masuk dan mencocokkan pertanyaan dengan dokumentasi yang sudah ada

Tujuan proyek

  • Mengurangi upaya pemeliharaan untuk menyelesaikan issue [penyelesaian tidak selalu berarti perbaikan]
  • Mengurangi upaya pemeliharaan untuk menyelesaikan changelist (CL) atau pull request (PR) [penyelesaian tidak selalu berarti pengajuan/penggabungan]
  • Mengurangi upaya pemeliharaan untuk menyelesaikan pertanyaan forum
  • Mendukung lebih banyak orang agar dapat menjadi maintainer yang produktif

Pendekatan

  • Karena pekerjaan berulang dalam pemeliharaan open source tidak terbatas pada proyek Go saja, tujuannya adalah membangun arsitektur yang dapat digunakan ulang dan diperluas oleh semua proyek perangkat lunak
  • Sejauh ini telah diidentifikasi tiga fungsi yang akan menjadi bagian penting Oscar:
    1. Mengindeks dan menampilkan konteks proyek yang relevan selama interaksi dengan kontributor
    2. Menggunakan bahasa alami untuk mengendalikan alat yang deterministik
    3. Meningkatkan secara real-time serta memberi label dan mengarahkan dengan tepat melalui analisis issue report dan CL/PR selama atau segera setelah pengajuan

Mengindeks dan menampilkan konteks proyek yang relevan

  • LLM dapat menganalisis dokumen dengan membuat embedding, yaitu vektor satuan floating-point berdimensi tinggi yang memiliki sifat memetakan dokumen dengan makna serupa ke vektor yang mengarah ke arah yang mirip
  • Bila digabungkan dengan basis data vektor untuk mencari vektor yang mirip dengan vektor input, embedding LLM memberikan cara yang sangat efektif untuk mengindeks seluruh konteks proyek open source
  • Agen prototipe mengimplementasikan fungsi ini dan merespons issue baru di repositori Go dengan menyediakan daftar hingga 10 tautan dengan relevansi tinggi

Menggunakan bahasa alami untuk mengendalikan alat yang deterministik

  • Seiring pertumbuhan proyek open source, jumlah alat yang berguna meningkat dan bisa menjadi sulit untuk melacak semua alat serta mengingat cara menggunakan masing-masing alat
  • LLM sangat efektif dalam mengubah antara maksud yang ditulis dalam bahasa alami dan bentuk yang dapat dieksekusi seperti kode program atau pemanggilan alat
  • Eksperimen Gemini telah dilakukan untuk memilih dan memanggil alat yang tersedia guna memenuhi permintaan bahasa alami, tetapi belum ada yang benar-benar berfungsi di dunia nyata

Analisis issue report dan CL/PR

  • Memposting pada issue terkait adalah bentuk analisis yang terbatas, tetapi ada rencana menambahkan jenis analisis semantik lain, misalnya mengidentifikasi issue tentang performa dan menambahkan label "performance"
  • Ada rencana mengeksplorasi apakah report dapat dianalisis dengan cukup baik untuk mengidentifikasi apakah diperlukan lebih banyak informasi agar report menjadi berguna
  • Semua analisis ini dan interaksi yang dihasilkannya bekerja jauh lebih baik ketika terjadi segera setelah report diajukan, saat pelapor masih tersedia dan tetap terlibat

Prototipe

  • Prototipe pertama untuk mengeksplorasi Oscar bernama Gaby (Go AI bot), berjalan di issue tracker Go dan memposting dengan @gabyhelp
  • Hingga saat ini, Gaby mengindeks isi issue Go di GitHub, mengindeks dokumentasi Go di go.dev, dan merespons issue baru dengan tautan yang relevan
  • Struktur Gaby memudahkan untuk dijalankan dengan semua jenis layanan hosting serta menggunakan LLM, lapisan penyimpanan, dan basis data vektor apa pun

Belum ada komentar.

Belum ada komentar.