Apa itu ChatDev?

Penyusun

Vanna Winland

AI Advocate & Technology Writer

Erika Russi

Data Scientist

IBM

Apa itu ChatDev?

ChatDev adalah kerangka kerja agen sumber terbuka yang mengimplementasikan kolaborasi multiagen melalui tim agen cerdas khusus yang tertata dan didukung oleh model bahasa besar (LLM). Setiap agen AI diatur untuk berkolaborasi dalam tugas-tugas dalam fase inti dari siklus pengembangan perangkat lunak untuk menghasilkan dan menciptakan aplikasi perangkat lunak secara mandiri.

ChatDev menyimulasikan perusahaan perangkat lunak virtual yang beroperasi melalui berbagai agen cerdas yang memegang peran berbeda dalam lingkungan organisasi. Agen-agen ini membentuk struktur organisasi multiagen di mana mereka dapat berkolaborasi dengan berpartisipasi dalam seminar fungsional yang membantu memperlancar proses pengembangan perangkat lunak. ChatDev menerapkan AI ke model “waterfall” yang diadopsi secara luas, model siklus hidup pengembangan perangkat lunak yang memecah proses pengembangan menjadi beberapa fase: perancangan, pengodean, pengujian, dan pendokumentasian. Agen khusus bekerja secara kolaboratif untuk menyelesaikan setiap fase.

Tujuan utama ChatDev adalah untuk menawarkan kerangka kerja orkestrasi LLM agen yang dapat disesuaikan dan dapat diskalakan serta berfungsi sebagai skenario ideal untuk mempelajari kecerdasan kolektif. Kecerdasan kolektif adalah kolaborasi yang efektif, fenomena di mana sebuah kelompok dapat mengungguli individu dalam tugas yang kompleks. Pendekatan yang secara luas diterima terhadap kecerdasan kolektif mendefinisikan individu sebagai entitas yang dapat bertindak dengan tujuan dan alasan serta beradaptasi dengan lingkungan.1 Dalam kerangka kerja agen seperti ChatDev, entitas cerdas ini dikenal sebagai agen.

Kecerdasan kolektif dalam sistem multiagen (MAS)

Aplikasi kecerdasan kolektif dalam AI dan machine learning mencakup sistem kecerdasan kolektif atau kerangka kerja yang disebut sistem multiagen (MAS). MAS dapat digambarkan sebagai jaringan terintegrasi dari entitas pemecah masalah, atau agen, yang bekerja sama untuk memecahkan masalah yang melampaui kemampuan atau pengetahuan dari satu agen.2

Alat AI seperti sistem multiagen merupakan sebuah pendekatan untuk desain kecerdasan kolektif (COIN). COIN adalah sistem multiagen ekstensif yang ditandai dengan sedikit atau tanpa komunikasi atau kontrol terpusat. Fitur ini dilengkapi dengan fungsi utilitas global yang mengevaluasi potensi sejarah dari seluruh sistem.3 Bidang MAS berfokus pada interaksi antar-agen dalam sistem serta komposisi masing-masing agen tersebut. Meskipun ada beberapa cara untuk merancang MAS, tujuan intinya tetap sama: untuk mencapai tugas global melalui tindakan komponennya.

Tren AI terbaru, dipersembahkan oleh para pakar

Dapatkan kurasi insight tentang berita AI yang paling penting dan menarik. Berlangganan buletin Think mingguan. Lihat Pernyataan Privasi IBM.

Terima kasih! Anda telah berlangganan.

Langganan Anda akan dikirimkan dalam bahasa Inggris. Anda akan menemukan tautan berhenti berlangganan di setiap buletin. Anda dapat mengelola langganan atau berhenti berlangganan di sini. Lihat Pernyataan Privasi IBM kami untuk informasi lebih lanjut.

Interaksi multiagen kooperatif

Salah satu langkah paling sulit dalam desain MAS yang fungsional adalah koordinasi agen agar dapat bekerja sama dalam menyelesaikan tugas global.4 Kerja sama yang efektif memerlukan kemampuan individu dalam menyelesaikan tugas maupun interaksi yang terkoordinasi dengan baik di antara individu yang terlibat.5 Merencanakan lingkungan MAS melibatkan pertimbangan berikut:

  1. Kendala yang ditimbulkan oleh aktivitas agen lain pada pilihan tindakan agen
  2. Kendala yang timbul dari komitmen agen kepada agen lain pada pilihan tindakan agen
  3. Evolusi dunia yang tidak dapat diprediksi yang disebabkan oleh agen lain yang tidak dimodelkan6

Salah satu cara untuk menghadapi tantangan desain ini adalah dengan memodelkan kerja tim secara eksplisit melalui kolaborasi multiagen.

Pola desain kolaboratif multipihak menguraikan prompt yang kompleks dan mendelegasikan tugas-tugas yang telah dirangkum kepada agen-agen yang menjalankannya berdasarkan peran khusus mereka.7 Misalnya, ChatDev menggunakan desain komunikasi dua agen yang disebut ChatChain untuk memfasilitasi komunikasi kooperatif.

Agen AI

5 Jenis Agen AI: Fungsi Otonom & Aplikasi Dunia Nyata

Pelajari bagaimana AI berbasis tujuan dan berbasis utilitas beradaptasi dengan alur kerja dan lingkungan yang kompleks.

Bagaimana cara kerja ChatDev?

Kerangka kerja seperti ChatDev memperluas fungsionalitas LLM di luar kemampuan pemrosesan bahasa alami mereka yang luar biasa untuk pembuatan teks. ChatDev memosisikan LLM sebagai agen serbaguna melalui teknik orkestrasinya yang melibatkan pemberian perintah dan evaluasi terhadap beberapa agen kolaboratif dengan peran sosial yang beragam (misalnya insinyur perangkat lunak, kepala teknologi, kepala eksekutif, desainer, penguji).

Setiap agen menggunakan peran khusus mereka untuk bekerja secara kolaboratif pada fase-fase inti dari siklus hidup pengembangan perangkat lunak. Proses ini melibatkan komunikasi yang intensif di antara para agen dalam peran khusus mereka untuk memahami dan menganalisis persyaratan melalui bahasa alami, serta pengembangan dan debugging menggunakan bahasa pemrograman. Fase-fase dalam ChatChain memiliki tingkat keterlibatan yang bervariasi dalam bahasa alami dan bahasa pemrograman, tergantung pada peran agen dan prompt yang diberikan.

Cara ChatDev memberikan prompt ke Agen AI otonom

Agen ChatDev menggunakan pembagian peran dan inception prompting sebagai panduan untuk menyelesaikan tugas mereka. Inception prompting adalah metode pemberian prompt otomatis LLM berbasis percakapan yang memungkinkan agen untuk saling memberikan prompt guna menyelesaikan tugas melalui peran-peran.8

ChatDev menerapkan rekayasa prompt di awal setiap fase subtugas. Meskipun ChatChain berhasil dalam mendefinisikan proses penyelesaian tugas, agen yang hanya bertukar respons tanpa adanya prompt tambahan atau batasan tidak efektif untuk komunikasi multi-putaran yang berorientasi pada tugas. Untuk mempercepat perkembangan komunikasi yang produktif dan menghindari tantangan seperti pergantian peran, pengulangan instruksi, dan balasan palsu, ChatDev menggunakan mekanisme inception prompting.

Mekanisme pemicu awal bekerja dengan cara menghipnotis LLM menggunakan prompt instruktur dan sistem asisten saat mereka diinisialisasi. Hipnosis LLM dapat memiliki konotasi negatif (dapat digunakan secara jahat untuk memanipulasi model) tetapi dalam kasus ini, ini adalah cara yang efektif untuk memberikan prompt kepada agen pemegang peran. Dalam prompt, tugas dan peran ditentukan untuk memastikan bahwa LLM memberikan instruksi kepada agen tentang cara menjalankan peran kolaboratif mereka dan mengikuti instruksi.

Petunjuk awal untuk setiap peran ini memandu agen untuk memberikan respons yang tepat tanpa pertukaran peran. Prompt untuk kedua peran dalam sistem hampir identik, yang menangani peninjauan dan tujuan subtugas saat ini, peran khusus, alat eksternal yang tersedia, protokol komunikasi, ketentuan penghentian, serta batasan atau persyaratan untuk mencegah perilaku yang tidak diinginkan.9 Mekanisme ini berfungsi seperti pagar pengaman LLM, yang meningkatkan kualitas respons dan mengurangi kebutuhan akan intervensi manusia.

Cara agen AI berinteraksi di ChatDev

Untuk memandu komunikasi kolaboratif yang tepat antara agen, ChatDev memperkenalkan alur kerja agen yang disebut ChatChain untuk membagi setiap fase menjadi subtugas yang lebih mudah dikelola. Proses ini memandu komunikasi berulang antara berbagai peran untuk mengusulkan dan memvalidasi solusi untuk setiap subtugas. Agen diatur dengan mekanisme yang disebut dehalusinasi komunikatif, pola komunikatif untuk mengurangi halusinasi yang tidak terduga. Dengan mekanisme ini, agen meminta informasi yang lebih terperinci sebelum merespons secara langsung, dan kemudian melanjutkan fase berikutnya dari komunikasi berdasarkan informasi tersebut.10

ChatDev menyediakan visualizer berbasis browser untuk menganalisis interaksi setiap agen individu yang beroperasi dalam peran dan lingkungannya. Antarmuka ini memberi pengguna kemampuan untuk menyelidiki desain sistem multiagen itu sendiri. Pengguna dapat melihat struktur kerja sama buatan yang memungkinkan agen-agen bekerja sama untuk menyelesaikan tugas global yang melampaui kemampuan individu mereka.

ChatChain

ChatChain menggunakan desain komunikasi dua agen yang menyederhanakan proses penyelesaian tugas sepanjang alur kerja agen. Pola desain agen dimulai dengan membagi proses pengembangan perangkat lunak menjadi tiga fase berurutan: desain, pengodean, dan pengujian. Fase pengodean dan pengujian selanjutnya dipecah menjadi subtugas: penulisan dan penyelesaian kode, dan peninjauan kode (pengujian statis) dan pengujian sistem (pengujian dinamis).

Setiap fase komunikasi dalam ChatChain terdiri dari satu agen instruktur dan satu agen asisten. Dalam setiap subtugas, dua agen dengan peran khusus yang berbeda (seperti seorang peninjau dan seorang programmer desain GUI menjalankan fungsi sebagai instruktur dan asisten. Agen instruktur mengarahkan percakapan menuju penyelesaian tugas, sementara agen asisten menerima dan mengikuti instruksi tersebut serta merespons dengan solusi yang sesuai.11 Agen-agen tersebut terlibat dalam percakapan berulang hingga tugas selesai atau kesepakatan tercapai. Solusi yang diekstrak dari fase komunikasi berkisar dari teks (misalnya deskripsi fungsionalitas aplikasi yang diinginkan) hingga kode (misalnya kode sumber awal).

Alur kerja ini menyederhanakan komunikasi dengan menghindari topologi multiagen yang rumit dan secara efektif memperlancar proses konsensus.12 Pendekatan ini memungkinkan transisi yang mulus antara subtugas, karena solusi dari tugas sebelumnya berfungsi sebagai jembatan ke fase berikutnya. Alur kerja ini berlanjut sampai semua subtugas selesai, dan membimbing agen di sepanjang prosesnya. Struktur berantai alur kerja menghubungkan subtugas dalam bahasa alami dan bahasa pemrograman, secara efektif mengarahkan agen tentang apa yang harus dikomunikasikan. ChatChain adalah salah satu solusi untuk masalah desain MAS yang paling menantang, yaitu kerja sama agen.

Menggunakan pengaturan default, ChatChain menghasilkan perangkat lunak dalam urutan sebagai berikut:

  • Analisis permintaan: Menentukan proses prosedur metode keseluruhan untuk aplikasi.
  • Pemilihan bahasa pemrograman: Menentukan bahasa pemrograman yang akan digunakan untuk mengembangkan dan menjalankan perangkat lunak.
  • Pengodean: Agen menulis kode untuk membangun aplikasi.
  • CodeCompleteAll: Menyelesaikan kode termasuk fungsi/class yang hilang.
  • CodeReview: Meninjau dan mengubah kode untuk fungsionalitas.
  • Uji Coba: Menjalankan perangkat lunak dan modifikasi kode berdasarkan laporan uji coba.
  • EnvironmentDoc: Mendokumentasikan lingkungan.
  • Manual: Mendokumentasikan dan menulis petunjuk untuk aplikasi.

Dehalusinasi Komunikatif

Halusinasi LLM terjadi ketika model menghasilkan output yang tidak akurat atau tidak masuk akal. Halusinasi pengodean adalah jenis halusinasi yang memengaruhi output model yang melakukan tugas-tugas terkait pengodean. Peneliti ChatDev menemukan bahwa halusinasi kode sering muncul ketika agen yang menjalankan fungsi asisten kesulitan mengikuti instruksi yang tepat.13 Asisten kesulitan mematuhi instruksi biasanya karena ketidakjelasan yang memerlukan beberapa kali interaksi lanjutan dan penyesuaian. Untuk menghindari output yang tidak diinginkan, ChatDev memperkenalkan dehalusinasi komunikatif.

Dehalusinasi komunikatif memberikan prompt kepada asisten untuk secara aktif meminta saran yang lebih terperinci dari instruktur sebelum memberikan respons formal.14 Asisten berperan seperti instruktur dan secara proaktif mencari informasi tambahan (misalnya nama tepat dari dependensi eksternal, atau repositori GitHub mana yang akan dikenai perubahan), dengan sengaja melakukan "perubahan peran" sebelum memberikan respons. Asisten melakukan pengoptimalan yang tepat setelah instruktur merespons dengan modifikasi. Pola komunikasi menginstruksikan agen tentang cara berkomunikasi, memungkinkan pertukaran informasi yang mendetail sekaligus mengurangi halusinasi pengodean.

Visualizer

Visualizer ChatDev adalah aplikasi Python yang menjalankan demo web lokal di mana pengguna dapat melihat log real-time, log yang diputar ulang, dan ChatChain. Aplikasi ini berisi tiga pemeriksa log terpisah untuk masing-masing fungsi.

  • Log Visualizer: Log real-time yang menampilkan informasi dialog agen, perubahan lingkungan, dan informasi sistem lainnya yang berguna untuk debugging.
  • Replay Visualizer: Log pemutaran ulang mencetak informasi dialog agen.
  • ChatChain Visualizer: Pengguna dapat mengunggah file konfigurasi ChatChain apa pun dan melihat rantai alur kerja agen untuk proyek perangkat lunak saat ini atau sebelumnya. Fitur ini memberikan gambaran yang transparan tentang seluruh proses pengembangan perangkat lunak, memungkinkan pengguna untuk memeriksa solusi setiap subtugas dan mengidentifikasi potensi ketidakefisienan.

Visualizer juga berisi halaman Chat Replay yang menunjukkan dialog dalam bahasa alami antara agen untuk aplikasi perangkat lunak tertentu yang dihasilkan.

Integrasi LLM ChatDev

Konsep pola desain agen ChatDev seperti teknik machine learning campuran pakar kecuali agen AI yang merupakan pakar yang menangani tugas-tugas kompleks. Sistem orkestrasi diperlukan untuk mengoordinasikan kolaborasi di antara campuran agen khusus.

Dasar dari orkestrasi tersebut adalah model transformator yang telah dilatih sebelumnya seperti model GPT OpenAI.15 Model dasar seperti seri Granite IBM juga dapat digunakan untuk melandasi agen dengan kemampuan bahasa yang kuat dan memberi mereka fungsionalitas khusus. Misalnya, Granite Code adalah keluarga model yang mencakup ukuran parameter mulai dari 3B hingga 34B dan dilatih menggunakan 116 bahasa pemrograman. Penawaran ini bermanfaat untuk kerangka kerja agen yang berencana menggunakan agen komunikatif untuk pengembangan perangkat lunak. Pada saat penulisan, ChatDev mendukung model GPT-3.5-turbo dan GPT-4 OpenAI sebagai teknologi dalam agen cerdas mereka.

Cara ChatDev menskalakan

ChatDev sedang mengimplementasikan metode untuk menskalakan kolaborasi multiagen berbasis LLM dengan jaringan kolaborasi multiagen (MacNet). MacNet terinspirasi oleh hukum skalabilitas neural, yang menyatakan bahwa peningkatan jumlah neuron dapat memunculkan kemampuan baru.16 ChatDev mengusulkan prinsip serupa yang berlaku untuk peningkatan agen dalam kolaborasi multiagen.

MacNet menggunakan grafik asiklik untuk menyusun agen dan meningkatkan penalaran interaktif mereka melalui urutan topologi. Solusi berasal dari interaksi agen. Proses ini secara konsisten mengungguli model dasar, memfasilitasi kolaborasi yang efisien di antara agen-agen di berbagai topologi jaringan, dan mengakomodasi kerja sama antara lebih dari seribu agen. Melalui aplikasi ini, ChatDev mengidentifikasi hukum skalabilitas kolaboratif yang menunjukkan bahwa kualitas solusi meningkat secara pola pertumbuhan logistik seiring dengan bertambahnya jumlah agen.

Sistem multi-agen untuk pengembangan perangkat lunak

Alih-alih berusaha mencakup semua kemampuan dalam satu model, sistem multiagen membagi tugas ke beberapa agen khusus. Agen dapat menggunakan model bahasa yang sama atau yang berbeda, sehingga berpotensi menyelesaikan berbagai macam tugas.

ChatDev melakukan evaluasi dalam makalah penelitian populer yang membandingkan kinerja dirinya dan dua kerangka kerja orkestrasi pengembangan perangkat lunak berbasis LLM lainnya, GPT-Engineer dan MetaGPT. Metrik didasarkan pada kelengkapan, eksekusi, konsistensi, dan kualitas. ChatDev dan MetaGPT lebih unggul dari GPT-Engineer, sebuah pendekatan orkestrasi satu agen, yang menunjukkan bahwa tugas-tugas kompleks lebih sulit diselesaikan dalam solusi satu langkah. Hasil kinerja ini menunjukkan bahwa memecah tugas kompleks menjadi subtugas yang lebih mudah dikelola meningkatkan efektivitas penyelesaian tugas.

ChatDev unggul secara signifikan dibandingkan MetaGPT dalam metrik kualitas berkat metode komunikasi kooperatif agen yang menggunakan bahasa alami maupun bahasa pemrograman. Agen-agen yang mampu berkomunikasi secara efisien berhasil mengarahkan setiap subtugas hingga selesai, mengatasi batasan-batasan yang biasanya terkait dengan aturan optimasi yang ditetapkan secara manual.17 Hasil ini menunjukkan bahwa kerangka kerja multiagen yang menggunakan agen-agen komunikatif dan kolaboratif menawarkan fungsi yang lebih serbaguna dan adaptif.

Kerangka kerja multiagen lainnya

GPT-Engineer — Kerangka kerja orkestrasi satu agen untuk membangun aplikasi perangkat lunak. Pengguna meminta AI untuk membangun aplikasi dengan fungsi perangkat lunak yang diinginkan dan dapat berkomunikasi berulang kali dengan sistem untuk melakukan perbaikan atau pembaruan.18 Pengguna dapat membandingkan implementasi agen mereka sendiri dengan kumpulan data populer melalui ‘tolok ukur’, sebuah program biner yang terinstal di sistem dan berisi antarmuka pengujian kinerja yang sederhana.

MetaGPT – Sebuah kerangka kerja multi-agen yang beroperasi sebagai entitas perangkat lunak kolaboratif yang menugaskan agen-agen dengan peran berbeda ke model GPT untuk menyelesaikan tugas-tugas kompleks. Seperti ChatDev, agen menjalankan berbagai peran dalam lingkungan virtual seperti perusahaan perangkat lunak. MetaGPT juga menggunakan SOP (Prosedur Operasi Standar) yang diatur dengan cermat untuk menghasilkan perangkat lunak.

crewAIcrewAI adalah kerangka kerja multiagen sumber terbuka yang beroperasi pada LangChain. Alat ini mengatur agen AI otonom ke dalam tim yang menangani alur kerja dan tugas yang terkait dengan aplikasi LLM. crewAI terintegrasi dengan LLM apa pun.

AutoGen — Kerangka kerja percakapan multiagen sumber terbuka dari Microsoft menyediakan abstraksi model dasar yang tinggi. AutoGen adalah kerangka kerja berbasis agen yang menggunakan beberapa agen untuk berinteraksi dan menangani tugas. Fitur utama termasuk agen AI yang dapat disesuaikan yang berpartisipasi dalam dialog multiagen dengan pola yang dapat disesuaikan, sehingga memungkinkan pembuatan beragam aplikasi LLM.

Solusi terkait
Pengembangan agen AI IBM 

Bantu pengembang untuk membangun, menerapkan, dan memantau agen AI dengan studio IBM watsonx.ai.

 

Jelajahi watsonx.ai
Solusi kecerdasan buatan (AI)

Gunakan AI di bisnis Anda dalam perpaduan antara keahlian AI terdepan di industri dari IBM dan portofolio solusi Anda.

Jelajahi solusi AI
Konsultasi dan layanan AI

Temukan kembali alur kerja dan operasi yang penting dengan menambahkan AI untuk memaksimalkan pengalaman, pengambilan keputusan secara real-time, dan nilai bisnis.

Jelajahi layanan AI
Ambil langkah selanjutnya

Baik Anda memilih untuk menyesuaikan aplikasi dan keterampilan yang dibangun sebelumnya atau membangun dan menerapkan layanan agen khusus menggunakan studio AI, platform IBM watsonx siap membantu Anda.

Menjelajahi watsonx Orchestrate Jelajahi watsonx.ai