saplama MetaGPT: Şu Anda Mevcut En İyi Yapay Zeka Aracısına İlişkin Tam Kılavuz - Unite.AI
Bizimle iletişime geçin

Yapay Genel Zeka

MetaGPT: Şu Anda Mevcut En İyi Yapay Zeka Aracısına İlişkin Tam Kılavuz

mm

Yayınlanan

 on

İnsan ve makine işbirliğinin MetaGPBaslanmış İllüstrasyonu

ChatGPT gibi Büyük Dil Modelleri (LLM'ler) ile OpenAI, kurumsal ve kullanıcı benimsemesinde bir artışa tanık oldu ve şu anda aylık yaklaşık 80 milyon dolar gelir elde ediyor. Bir göre son rapor The Information'a göre, San Francisco merkezli şirketin yıllık gelirinin 1 milyar dolara ulaşma yolunda ilerlediği bildiriliyor.

En son araştırdığımızda AutoGPT ve GPT Mühendisliği, karmaşık görevleri otomatikleştirmek için tasarlanmış ilk ana akım açık kaynaklı LLM tabanlı yapay zeka aracıları. Umut verici olmakla birlikte, bu sistemler de kendi payına düşen sorunları yaşadı: tutarsız sonuçlar, performans darboğazları ve çok yönlü taleplerin karşılanmasındaki sınırlamalar. Kod oluşturma konusunda yeterlilik gösterirler ancak yetenekleri genellikle burada kalır. PRD oluşturma, teknik tasarım oluşturma ve API arayüzü prototipleme gibi kritik proje yönetimi işlevlerinden yoksundurlar.

Keşfet MetaGPT— Sirui Hong'un Büyük Dil modellerini kullanan bir Çoklu aracı sistemi, Standartlaştırılmış İşletim Prosedürlerini (SOP'ler) Yüksek Lisans tabanlı çoklu aracı sistemleriyle birleştirir. Ortaya çıkan bu paradigma, karmaşık, gerçek dünya uygulamalarında etkili işbirliğini ve görev dağılımını teşvik etme konusunda Yüksek Lisans'ların mevcut sınırlamalarını ortadan kaldırıyor.

MetaGPT'nin güzelliği yapısında yatmaktadır. Kodu gerçek zamanlı olarak işlemek, analiz etmek ve dönüştürmek için meta programlama tekniklerinden yararlanır. Amaç? Dinamik programlama görevlerine uyum sağlayabilen çevik, esnek bir yazılım mimarisini hayata geçirmek.

Çevik Geliştirme - Metagpt

Çevik Geliştirme

SOP'ler burada bir meta-işlev görevi görür ve aracıları tanımlanmış girdilere göre kodu otomatik olarak oluşturacak şekilde koordine eder. Basit bir ifadeyle, yüksek düzeyde koordineli bir yazılım mühendisleri ekibini uyarlanabilir, akıllı bir yazılım sistemine dönüştürmüş gibisiniz.

MetaGPT Çerçevesini Anlamak

Temel ve İşbirliği Katmanları

MetaGPT'nin mimarisi iki katmana ayrılmıştır: Temel Bileşenler Katmanı ve İşbirliği Katmanı.

  1. Temel Bileşenler Katmanı: Bu katman, bireysel aracı işlemlerine odaklanır ve sistem çapında bilgi alışverişini kolaylaştırır. Ortam, Bellek, Roller, Eylemler ve Araçlar gibi temel yapı taşlarını tanıtır. Ortam, paylaşılan çalışma alanları ve iletişim yolları için zemin hazırlarken Bellek, tarihsel veri arşivi görevi görür. Roller, alana özgü uzmanlığı kapsar, Eylemler modüler görevleri yürütür ve Araçlar ortak hizmetler sunar. Bu katman esasen ajanlar için işletim sistemi görevi görür. Bunların birlikte nasıl çalıştığına dair daha fazla ayrıntıyı 'makalesinde bulabilirsiniz'ChatGPT'nin ötesinde; Yapay Zeka Temsilcisi: İşçilerin Yeni Dünyası'
  2. İşbirliği Katmanı: Temel bileşenlerin üzerine inşa edilen bu katman, bireysel aracıların işbirlikçi çabalarını yönetir ve kolaylaştırır. İki mekanizma sunar: Bilgi Paylaşımı ve İş Akışlarının Kapsüllenmesi.
    • Bilgi paylaşımı: Bu, ajanları birbirine bağlayan işbirliğine dayalı bir yapıştırıcı görevi görür. Aracılar bilgileri farklı düzeylerde saklayabilir, alabilir ve paylaşabilir, böylece artıklığı azaltır ve operasyonel verimliliği artırır.
    • Kapsüllenen İş Akışları: Standartlaştırılmış Çalışma Prosedürlerinin (SOP'ler) devreye girdiği yer burasıdır. SOP'lar, görevleri yönetilebilir bileşenlere ayıran planlar görevi görür. Aracılara bu alt görevler atanır ve performansları standartlaştırılmış çıktılarla uyumlu hale getirilir.

MetaGPT aynı zamanda “Rol Tanımları” yukarıda tartıştığımız gibi Ürün Yöneticileri, Mimarlar vb. gibi çeşitli uzman acenteleri başlatmak için. Bu roller; ad, profil, hedef, kısıtlamalar ve açıklama gibi temel özelliklerle karakterize edilir.

Üstelik, "Sabit Ajanlar” bu aracılara role özgü rehberlik sağlar. Örneğin, bir Ürün Yöneticisinin rolü "başarılı bir ürünü verimli bir şekilde yaratmak" kısıtlamasıyla başlatılabilir. Bağlantı aracıları, aracıların davranışlarının genel hedeflerle uyumlu olmasını sağlar ve böylece performansı optimize eder.

MetaGPT Aracılarında Bilişsel Süreçler

MetaGPT gözlemleyebilir, düşünebilir, yansıtabilir ve hareket edebilir. Gibi belirli davranışsal işlevler aracılığıyla çalışırlar. _think(), _observe(), _publish_message()vb. Bu bilişsel modelleme, aracıları uyum sağlayabilen ve gelişebilen aktif öğrenenler olacak şekilde donatır.

  1. Gözlemek: Aracılar ortamlarını tarar ve önemli verileri Belleklerine dahil eder.
  2. Düşün ve Yansıt: İçinden _think() işlev, eylemlere girişmeden önce kasıtlı roller.
  3. Yayın mesajları: Kullanılan ajanlar _publish_message() mevcut görev durumlarını ve ilgili eylem kayıtlarını paylaşmak için.
  4. Bilgi Çökeltmesi ve Harekete Geçme: Temsilciler, bir sonraki eylem planına karar vermeden önce gelen mesajları değerlendirir ve dahili depolarını günceller.
  5. Durum Yönetimi: Görev kilitleme ve durum güncelleme gibi özellikler sayesinde roller, birden fazla eylemi kesintisiz olarak sıralı olarak işleyebilir ve gerçek dünyadaki insan işbirliğini yansıtır.

MetaGPT için Kod İnceleme Mekanizmaları

Kod incelemesi, yazılım geliştirme yaşam döngüsünün kritik bir bileşenidir, ancak birçok popüler çerçevede yoktur. Hem MetaGPT hem de AjanVerse kod inceleme yeteneklerini destekler, ancak MetaGPT bir adım daha ileri gider. Ayrıca, erken hata tespitine yardımcı olan ve ardından kod kalitesini yükselten ön derleme yürütmeyi de içerir. Kodlamanın yinelemeli doğası göz önüne alındığında, bu özellik yalnızca bir eklenti değil aynı zamanda herhangi bir olgun geliştirme çerçevesi için bir gerekliliktir.

Çeşitli görevlerde gerçekleştirilen niceliksel deneyler, MetaGPT'nin neredeyse her senaryoda benzerlerinden daha iyi performans gösterdiğini ortaya çıkardı. Pass@1, çerçevenin tek bir yinelemede doğru kod üretme yeteneğinin bir ölçüsüdür. Bu ölçüm, bir çerçevenin kullanışlılığının pratik bir ortamda daha gerçekçi bir yansımasını sunar. Daha yüksek Pass@1 oranı, daha az hata ayıklama ve daha fazla verimlilik anlamına gelir; bu da geliştirme döngülerini ve maliyetleri doğrudan etkiler. Gibi diğer gelişmiş kod oluşturma araçlarıyla karşılaştırıldığında kodeks, Kod Tve hatta GPT-4, MetaGPT Mağazasından Alışveriş merkezi. Çerçevenin bir hedefe ulaşma yeteneği İNDİRİM için İNDİRİM Pass@1 oranı açık İnsanDeğerlendirmesi ve MBPP emsalleri.

MBPP ve HumanEval Metrics'in MetaGPT ve diğer Öncü Modellerle Karşılaştırılması (https://arxiv.org/pdf/2308.00352.pdf)

MBPP ve HumanEval Metrics'in MetaGPT ve diğer Öncü Modellerle Karşılaştırılması (https://arxiv.org/pdf/2308.00352.pdf)

Çerçeve aynı zamanda daha az token ve hesaplama kaynağı kullanıyor ve geleneksel yazılım mühendisliği maliyetlerinin çok altında yüksek bir başarı oranına ulaşıyor. Veriler ortalama maliyetin yalnızca $1.09 MetaGPT ile proje başına bu, bir geliştiricinin aynı görev için ücretlendireceği ücretin yalnızca küçük bir kısmıdır.

MetaGPT'yi Sisteminize Yerel Olarak Yükleme Adımları

NPM, Python Kurulumu

  1. NPM'yi Kontrol Et ve Yükle: Öncelikle sisteminizde NPM'nin kurulu olduğundan emin olun. Değilse, yüklemeniz gerekir node.js. Npm'niz olup olmadığını kontrol etmek için terminalinizde şu komutu çalıştırın: npm --version. Bir sürüm numarası görürseniz, hazırsınız.
  2. Yüklemek için mermaid-jsMetaGPT bağımlılığı olan şunu çalıştırın: sudo npm install -g @mermaid-js/mermaid-cli or npm install -g @mermaid-js/mermaid-cli
  3. Python Sürümünü Doğrulayın: Python 3.9 veya üzeri bir sürüme sahip olduğunuzdan emin olun. Python sürümünüzü kontrol etmek için terminalinizi açın ve şunu yazın: python --version. Güncel değilseniz, en son sürümü şuradan indirin: Python'un resmi web sitesi.
  4. MetaGPT Deposunu Klonla: Komutu kullanarak MetaGPT GitHub deposunu klonlayarak başlayın git clone https://github.com/geekan/metagpt. Bunun için sisteminizde Git'in kurulu olduğundan emin olun. Değilse ziyaret edin okuyun.
  5. Dizine Git: Klonlandıktan sonra şu komutu kullanarak MetaGPT dizinine gidin: cd metagpt.
  6. Montaj: MetaGPT'yi komutla yüklemek için Python kurulum komut dosyasını yürütün python setup.py install.
  7. Bir Uygulama Oluşturun: Çalıştırın python startup.py "ENTER-PROMPT" --code_review True

not:

  • Yeni projeniz artık workspace/ dizin.
  • --code_review True GPT modelinin, kodun doğru şekilde çalışmasını sağlayacak ekstra işlemler yapmasına olanak tanır ancak bunun daha pahalıya mal olacağını unutmayın.
  • Kurulum sırasında izin hatasıyla karşılaşırsanız çalıştırmayı deneyin. python setup.py install --user alternatif olarak.
  • Belirli sürümlere ve daha fazla ayrıntıya erişim için resmi MetaGPT GitHub sürümler sayfasını ziyaret edin: MetaGPT Sürümleri.

Docker Kurulumu

Konteynerleştirmeyi tercih edenler için Docker süreci basitleştirir:

  • Docker Görüntüsünü Çekin: MetaGPT resmi görüntüsünü indirin ve yapılandırma dosyasını hazırlayın:
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
  • MetaGPT Container'ı çalıştırın: Kabı aşağıdaki komutla yürütün:
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

MetaGPT'yi OpenAI API Anahtarınızla Yapılandırma

İlk kurulumdan sonra MetaGPT'yi OpenAI API Anahtarınızla entegre etmeniz gerekecektir. İşte bunu yapmanın adımları:

  1. OpenAI Anahtarınızı Bulun veya Oluşturun: Bu anahtarı OpenAI Kontrol Panelinizde API ayarları altında bulabilirsiniz.
  2. API Anahtarını Ayarlayın: API anahtarını ikisinden birine yerleştirme seçeneğiniz vardır: config/key.yaml, config/config.yamlveya bunu bir ortam değişkeni olarak ayarlayın (env). Öncelik sırası şöyledir config/key.yaml > config/config.yaml > env.
  3. Anahtarı ayarlamak için şuraya gidin: config/key.yaml ve yer tutucu metnini OpenAI anahtarınızla değiştirin: OPENAI_API_KEY: "sk-..."

OpenAI API Anahtarınızı korumayı unutmayın. Asla halka açık bir depoya koymayın veya yetkisiz kişilerle paylaşmayın.

Kullanım Örneği İllüstrasyonu

CLI tabanlı bir taş, kağıt ve makas oyunu geliştirme hedefini verdim ve MetaGPT bu görevi başarıyla gerçekleştirdi.

Aşağıda oluşturulan oyun kodunun gerçek çalışmasını gösteren bir video bulunmaktadır.

MetaGPT Demo Çalıştırması

MetaGPT, yaygın olarak kullanılan hafif bir işaretleme dili olan Markdown'da bir sistem tasarım belgesi sağladı. Bu Markdown dosyası UML diyagramlarıyla doluydu, böylece mimari planın ayrıntılı bir görünümünü sunuyordu. Ayrıca API spesifikasyonları HTTP yöntemleri, uç noktalar, istek/yanıt nesneleri ve durum kodları ile detaylandırıldı.

MetaGPT Çıkışı - Sistem Tasarımı

MetaGPT Çıkışı – Sistem Tasarımı İndirimi

Sınıf diyagramı, sınıfımızın niteliklerini ve yöntemlerini ayrıntılarıyla anlatır. Game anlaşılması kolay bir soyutlama sağlayan sınıf. Hatta programın çağrı akışını görselleştirerek soyut fikirleri etkili bir şekilde somut adımlara dönüştürür.

Bu yalnızca planlamadaki manuel ek yükü önemli ölçüde azaltmakla kalmaz, aynı zamanda karar verme sürecini de hızlandırarak geliştirme hattınızın çevik kalmasını sağlar. MetaGPT ile yalnızca kod oluşturmayı otomatikleştirmekle kalmaz, aynı zamanda akıllı proje planlamayı da otomatikleştirirsiniz, böylece hızlı uygulama geliştirmede rekabet avantajı sağlarsınız.

Sonuç: MetaGPT—Yazılım Geliştirmede Devrim Yaratıyor

MetaGPT, akıllı otomasyon ve çevik proje yönetiminin kusursuz bir karışımını sunarak üretken yapay zeka ve yazılım geliştirme ortamını yeniden tanımlıyor. ChatGPT, AutoGPT ve geleneksel LangChain modellerinin yeteneklerini çok aşan görev ayrıştırma, verimli kod oluşturma ve proje planlama konularında üstündür. Daha fazlasını öğrenin

İşte bu makaleden önemli çıkarımlar:

  1. Meta Programlamanın Gücü: MetaGPT, meta programlamayı kullanarak çevik ve uyarlanabilir bir yazılım çerçevesi sağlar. Eski araçların dar işlevselliğini aşar ve yalnızca kodlamayı değil aynı zamanda proje yönetimi ve karar alma hususlarını da ele alan dönüştürücü bir yaklaşım sunar.
  2. İki Katmanlı Mimari: MetaGPT, temel ve işbirliğine dayalı katmanlarıyla, temsilcilerin ustalıkla yönetilen bir yazılım ekibine benzer şekilde uyumlu bir şekilde çalışabileceği sinerjik bir ekosistemi etkili bir şekilde yaratır.
  3. Optimize Edilmiş Kod İncelemesi: MetaGPT, kod üretmenin ötesinde, esasen hatalara karşı bir erken uyarı sistemi olan ön derleme yürütme özellikleri sunar. Bu yalnızca hata ayıklama süresinden tasarruf etmekle kalmaz, aynı zamanda kod kalitesini de garanti eder.
  4. Bilişsel Ajanlar: MetaGPT'nin _observe(), _think() ve _publish_message() gibi kognitif işlevlerle dolu akıllı aracıları gelişir ve uyarlanır, yazılım çözümünüzün yalnızca kodlanmış değil aynı zamanda 'akıllı' olmasını sağlar.
  5. Kurulum ve Dağıtım: İster npm ve Python aracılığıyla yerel kurulumu, ister Docker aracılığıyla konteynerleştirmeyi tercih edin, MetaGPT'nin kolayca kurulabileceğini gösterdik.

Son beş yılımı, Makine Öğrenimi ve Derin Öğrenmenin büyüleyici dünyasına dalarak geçirdim. Tutkum ve uzmanlığım, özellikle AI/ML'ye odaklanarak 50'den fazla farklı yazılım mühendisliği projesine katkıda bulunmamı sağladı. Devam eden merakım, beni daha fazla keşfetmeye hevesli olduğum bir alan olan Doğal Dil İşleme'ye de çekti.