AGI dan AI masa depan

MetaGPT: Panduan Lengkap untuk Agen AI Terbaik yang Tersedia Saat Ini

mm
Tambahkan Unite.AI ke sumber pilihan Anda di Google

Dengan Large Language Models (LLMs) seperti ChatGPT, OpenAI telah menyaksikan lonjakan adopsi perusahaan dan pengguna, saat ini menghasilkan sekitar $80 juta dalam pendapatan bulanan. Menurut laporan terbaru oleh The Information, perusahaan yang berbasis di San Francisco ini dilaporkan berada di jalur untuk mencapai $1 miliar dalam pendapatan tahunan.

Kali terakhir kita membahas AutoGPT dan GPT-Engineering, agen AI berbasis LLM terbuka yang dirancang untuk mengotomatisasi tugas kompleks. Meskipun menjanjikan, sistem ini memiliki sejumlah masalah: hasil yang tidak konsisten, bottleneck kinerja, dan keterbatasan dalam menangani tuntutan multifaset. Mereka menunjukkan kemampuan dalam generasi kode, tetapi kemampuan mereka sering berhenti di situ. Mereka kekurangan fungsi manajemen proyek kritis seperti generasi PRD, generasi desain teknis, dan prototip antarmuka API.

Masuklah MetaGPT—sistem multi-agen yang menggunakan Large Language models oleh Sirui Hong yang menggabungkan Prosedur Operasi Standar (SOPs) dengan sistem multi-agen berbasis LLM. Paradigma yang muncul ini mengganggu keterbatasan LLM yang ada dalam memfasilitasi kolaborasi efektif dan dekomposisi tugas dalam aplikasi dunia nyata yang kompleks.

Keindahan MetaGPT terletak pada strukturinya. Ini memanfaatkan teknik meta-programming untuk memanipulasi, menganalisis, dan mengubah kode dalam waktu nyata. Tujuannya? Untuk mewujudkan arsitektur perangkat lunak yang agile dan fleksibel yang dapat beradaptasi dengan tugas pemrograman dinamis.

Agile Development - Metagpt

Agile Development

SOPs bertindak sebagai fungsi meta di sini, mengoordinasikan agen untuk menghasilkan kode berdasarkan input yang ditentukan. Dalam istilah sederhana, ini seperti Anda telah mengubah tim insinyur perangkat lunak yang sangat terkoordinasi menjadi sistem perangkat lunak yang cerdas dan adaptif.

Mengenal Kerangka MetaGPT

Lapisan Fondasi & Kolaborasi

Arsitektur MetaGPT dibagi menjadi dua lapisan: Lapisan Komponen Fondasi dan Lapisan Kolaborasi.

  1. Lapisan Komponen Fondasi: Lapisan ini fokus pada operasi agen individu dan memfasilitasi pertukaran informasi sistem-wide. Ini memperkenalkan blok bangunan inti seperti Lingkungan, Memori, Peran, Tindakan, dan Alat. Lingkungan menetapkan panggung untuk ruang kerja bersama dan jalur komunikasi, sedangkan Memori berfungsi sebagai arsip data historis. Peran mengemas keahlian domain-spesifik, Tindakan melaksanakan tugas moduler, dan Alat menawarkan layanan umum. Lapisan ini pada dasarnya berfungsi sebagai sistem operasi untuk agen-agen. Lebih banyak detail tentang bagaimana mereka bekerja bersama dapat ditemukan dalam artikel ‘Beyond ChatGPT; AI Agent: A New World of Workers
  2. Lapisan Kolaborasi: Dibangun di atas komponen fondasi, lapisan ini mengelola dan memperlancar upaya kolaboratif agen-agen individu. Ini memperkenalkan dua mekanisme: Berbagi Pengetahuan dan Mengenkapsulasi Alur Kerja.
    • Berbagi Pengetahuan: Ini bertindak sebagai lem kolaboratif yang mengikat agen-agen bersama. Agen dapat menyimpan, mengambil, dan berbagi informasi pada tingkat yang bervariasi, sehingga mengurangi redundansi dan meningkatkan efisiensi operasional.
    • Mengenkapsulasi Alur Kerja: Ini adalah tempat Prosedur Operasi Standar (SOPs) berperan. SOPs bertindak sebagai cetakan biru yang memecah tugas menjadi komponen yang dapat dikelola. Agen diberi tugas-tugas ini, dan kinerja mereka diselaraskan dengan output standar.

MetaGPT juga menggunakan “Definisi Peran” untuk memulai agen-agen khusus seperti Manajer Produk, Arsitek, dll. seperti yang kita bahas sebelumnya. Peran-peran ini ditandai dengan atribut kunci seperti nama, profil, tujuan, keterbatasan, dan deskripsi.

Selanjutnya, “Agen Jangkar” menyediakan bimbingan khusus peran untuk agen-agen ini. Misalnya, peran Manajer Produk mungkin diinisialisasi dengan keterbatasan “menciptakan produk yang sukses dengan efisien.” Agen jangkar memastikan bahwa perilaku agen selaras dengan tujuan utama, sehingga mengoptimalkan kinerja.

Proses Kognitif pada Agen MetaGPT

MetaGPT dapat mengamati, berpikir, merefleksikan, dan bertindak. Mereka beroperasi melalui fungsi perilaku khusus seperti _think(), _observe(), _publish_message(), dll. Pemodelan kognitif ini memungkinkan agen-agen untuk menjadi pembelajar aktif yang dapat beradaptasi dan berevolusi.

  1. Mengamati: Agen memindai lingkungan mereka dan mengintegrasikan data kunci ke dalam Memori mereka.
  2. Berpikir & Merefleksikan: Melalui fungsi _think(), peran mempertimbangkan sebelum mengambil tindakan.
  3. Mengirimkan Pesan: Agen menggunakan _publish_message() untuk berbagi status tugas saat ini dan catatan tindakan terkait.
  4. Pengendapan Pengetahuan & Bertindak: Agen menilai pesan masuk dan memperbarui repositori internal sebelum memutuskan tindakan selanjutnya.
  5. Manajemen Status: Dengan fitur seperti penguncian tugas dan pembaruan status, peran dapat memproses beberapa tindakan secara berurutan tanpa gangguan, mencerminkan kolaborasi manusia di dunia nyata.

Mekanisme Tinjauan Kode untuk MetaGPT

Tinjauan kode adalah komponen kritis dalam siklus hidup pengembangan perangkat lunak, namun sering absen dalam beberapa kerangka populer. Baik MetaGPT maupun AgentVerse mendukung kemampuan tinjauan kode, tetapi MetaGPT melangkah lebih jauh. Ini juga mengintegrasikan eksekusi pra-kompilasi, yang membantu dalam deteksi kesalahan awal dan meningkatkan kualitas kode. Mengingat sifat iteratif pemrograman, fitur ini tidak hanya tambahan tetapi persyaratan untuk kerangka pengembangan yang matang.

Eksperimen kuantitatif yang dilakukan di beberapa tugas menunjukkan bahwa MetaGPT outperforms lawan-lawannya dalam hampir semua skenario. Pass@1 adalah ukuran kemampuan kerangka untuk menghasilkan kode akurat dalam satu iterasi. Metrik ini menawarkan refleksi yang lebih realistis tentang utilitas kerangka dalam pengaturan praktis. Tingkat Pass@1 yang lebih tinggi berarti lebih sedikit debugging dan lebih efisien, langsung mempengaruhi siklus pengembangan dan biaya. Ketika dibandingkan dengan alat generasi kode canggih lainnya seperti CodeX, CodeT, dan bahkan GPT-4, MetaGPT outperforms mereka semua. Kemampuan kerangka untuk mencapai tingkat Pass@1 sebesar 81,7% hingga 82,3% pada benchmark HumanEval dan MBPP.

Comparing MBPP and HumanEval Metrics b/w MetaGPT and other Leading Models (https://arxiv.org/pdf/2308.00352.pdf)

Comparing MBPP and HumanEval Metrics b/w MetaGPT and other Leading Models (https://arxiv.org/pdf/2308.00352.pdf)

Kerangka ini juga menggunakan lebih sedikit token dan sumber daya komputasi, mencapai tingkat keberhasilan yang tinggi dengan biaya yang jauh lebih rendah daripada biaya rekayasa perangkat lunak tradisional. Data menunjukkan biaya rata-rata sebesar $1,09 per proyek dengan MetaGPT, yang hanya sebagian kecil dari apa yang akan dikenakan oleh seorang pengembang untuk tugas yang sama.

Langkah-langkah untuk Menginstal MetaGPT secara Lokal pada Sistem Anda

Instalasi NPM, Python

  1. Periksa & Instal NPM: Pertama-tama, pastikan NPM terinstal di sistem Anda. Jika tidak, Anda perlu menginstal node.js. Untuk memeriksa apakah Anda memiliki npm, jalankan perintah ini di terminal Anda: npm --version. Jika Anda melihat nomor versi, Anda siap melanjutkan.
  2. Untuk menginstal mermaid-js, dependensi untuk MetaGPT, jalankan: sudo npm install -g @mermaid-js/mermaid-cli atau npm install -g @mermaid-js/mermaid-cli
  3. Verifikasi Versi Python: Pastikan Anda memiliki Python 3.9 atau lebih tinggi. Untuk memeriksa versi Python Anda, buka terminal dan ketik: python --version. Jika Anda tidak mutakhir, unduh versi terbaru dari situs web resmi Python.
  4. Klon Repositori MetaGPT: Mulai dengan mengkloning repositori GitHub MetaGPT menggunakan perintah git clone https://github.com/geekan/metagpt. Pastikan Anda memiliki Git terinstal di sistem Anda untuk ini. Jika tidak, kunjungi di sini.
  5. Navigasi ke Direktori: Setelah dikloning, navigasikan ke direktori MetaGPT menggunakan perintah cd metagpt.
  6. Instalasi: Jalankan skrip setup Python untuk menginstal MetaGPT dengan perintah python setup.py install.
  7. Buat Aplikasi: Jalankan python startup.py "ENTER-PROMPT" --code_review True

Catatan:

  • Proyek baru Anda sekarang harus berada di direktori workspace/.
  • --code_review True akan memungkinkan model GPT melakukan operasi tambahan yang akan memastikan kode berjalan dengan akurat, tetapi perlu diingat bahwa ini akan memakan biaya lebih.
  • Jika Anda mengalami kesalahan izin selama instalasi, coba jalankan python setup.py install --user sebagai alternatif.
  • Untuk akses ke rilis tertentu dan detail lebih lanjut, kunjungi halaman rilis resmi MetaGPT di GitHub: Rilis MetaGPT.

Instalasi Docker

Untuk mereka yang lebih suka containerisasi, Docker menyederhanakan proses:

  • Tarik Gambar Docker: Unduh gambar MetaGPT resmi dan siapkan file konfigurasi:
docker pull metagpt/metagpt:v0.3.1
mkdir -p /opt/metagpt/{config,workspace}
docker run --rm metagpt/metagpt:v0.3.1 cat /app/metagpt/config/config.yaml > /opt/metagpt/config/key.yaml
vim /opt/metagpt/config/key.yaml
  • Jalankan Kontainer MetaGPT: Jalankan kontainer dengan perintah berikut:
docker run --rm --privileged \
-v /opt/metagpt/config/key.yaml:/app/metagpt/config/key.yaml \
-v /opt/metagpt/workspace:/app/metagpt/workspace \
metagpt/metagpt:v0.3.1 \
python startup.py "Create a simple and interactive CLI based rock, paper and scissors game" --code_review True

Mengkonfigurasi MetaGPT dengan Kunci API OpenAI Anda

Setelah pengaturan awal, Anda perlu mengintegrasikan MetaGPT dengan Kunci API OpenAI Anda. Berikut adalah langkah-langkah untuk melakukannya:

  1. Cari atau Buat Kunci OpenAI Anda: Anda dapat menemukan kunci ini di Dasbor OpenAI di bawah pengaturan API.
  2. Setel Kunci API: Anda memiliki opsi untuk meletakkan kunci API di config/key.yaml, config/config.yaml, atau mengatur sebagai variabel lingkungan (env). Urutan preseden adalah config/key.yaml > config/config.yaml > env.
  3. Untuk mengatur kunci, navigasikan ke config/key.yaml dan ganti teks placeholder dengan kunci OpenAI Anda: OPENAI_API_KEY: "sk-..."

Ingatlah untuk melindungi Kunci API OpenAI Anda. Jangan pernah mengkomitnya ke repositori publik atau membagikannya dengan individu yang tidak berwenang.

Ilustrasi Kasus Penggunaan

Saya memberikan tujuan untuk mengembangkan permainan rock, paper, dan scissors berbasis CLI, dan MetaGPT berhasil mengeksekusi tugas tersebut.

Di bawah ini adalah video yang menunjukkan jalankan kode permainan yang dihasilkan.

MetaGPT Demo Run

MetaGPT menyediakan dokumen desain sistem dalam Markdown—bahasa markup ringan yang umum digunakan. File Markdown ini dipenuhi dengan diagram UML, sehingga menawarkan pandangan yang lebih rinci tentang cetak biru arsitektur. Selain itu, spesifikasi API terperinci dengan metode HTTP, endpoint, objek permintaan/tanggapan, dan kode status

MetaGPT Output - System Design

MetaGPT Output – System Design Markdown

Diagram kelas merinci atribut dan metode dari kelas Game kami, menyediakan abstraksi yang mudah dipahami. Ini bahkan memvisualisasikan alur panggilan program, secara efektif mengubah ide abstrak menjadi langkah-langkah yang nyata.

Tidak hanya ini secara signifikan mengurangi overhead manual dalam perencanaan, tetapi juga mempercepat proses pengambilan keputusan, memastikan bahwa pipa pengembangan Anda tetap agile. Dengan MetaGPT, Anda tidak hanya mengotomatisasi generasi kode, tetapi juga mengotomatisasi perencanaan proyek yang cerdas, sehingga memberikan keunggulan kompetitif dalam pengembangan aplikasi yang cepat.

Kesimpulan: MetaGPT—Merevolusi Pengembangan Perangkat Lunak

MetaGPT mendefinisikan kembali lanskap generative AI dan pengembangan perangkat lunak, menawarkan kombinasi yang mulus dari otomatisasi cerdas dan manajemen proyek yang agile. Jauh melampaui kemampuan ChatGPT, AutoGPT, dan model LangChain tradisional, ia unggul dalam dekomposisi tugas, generasi kode yang efisien, dan perencanaan proyek. Pelajari lebih lanjut tentang

Berikut adalah poin-poin utama dari artikel ini:

  1. Kekuatan Meta-Programming: Dengan menggunakan meta-programming, MetaGPT menyediakan kerangka perangkat lunak yang agile dan adaptif. Ini melampaui fungsionalitas sempit alat warisan dan memperkenalkan pendekatan transformatif yang menangani tidak hanya pemrograman, tetapi juga aspek manajemen proyek dan pengambilan keputusan.
  2. Arsitektur Dua Lapis: Dengan lapisan fondasi dan kolaborasi, MetaGPT secara efektif menciptakan ekosistem sinergis di mana agen-agen dapat bekerja bersama, mirip dengan tim perangkat lunak yang dikelola dengan ahli.
  3. Tinjauan Kode yang Dioptimalkan: Selain menghasilkan kode, MetaGPT menawarkan fitur eksekusi pra-kompilasi, yang pada dasarnya adalah sistem peringatan dini untuk kesalahan. Ini tidak hanya menghemat waktu debugging tetapi juga memastikan kualitas kode.
  4. Agen Kognitif: Agen-agen MetaGPT yang cerdas, dipenuhi dengan fungsi kognitif seperti _observe(), _think(), dan _publish_message(), berkembang dan beradaptasi, memastikan bahwa solusi perangkat lunak Anda tidak hanya dikodekan tetapi juga “cerdas”.
  5. Instalasi & Penyebaran: Kami telah menunjukkan bahwa MetaGPT dapat dengan mudah diatur, baik melalui instalasi lokal via npm dan Python, atau melalui containerisasi via Docker.

Saya telah menghabiskan lima tahun terakhir dengan membenamkan diri dalam dunia Machine Learning dan Deep Learning yang menarik. Minat dan keahlian saya telah memimpin saya untuk berkontribusi pada lebih dari 50 proyek rekayasa perangkat lunak yang beragam, dengan fokus khusus pada AI/ML. Rasa ingin tahu saya yang terus-menerus juga telah menarik saya ke arah Natural Language Processing, sebuah bidang yang saya ingin jelajahi lebih lanjut.