Yapay Zekâ
AutoGen: Büyük Dil Modeli Uygulamalarının Gelecek Neslini Güçlendiriyor

Büyük Dil Modelleri (LLM’ler) şu anda ana akım AI’de en çok tartışılan konulardan biridir. Dünya çapındaki geliştiriciler, LLM’lerin potansiyel uygulamalarını keşfediyorlar. Bu modeller, derin öğrenme teknikleri ve geniş miktarlarda eğitim verisi kullanarak metin, ses, görüntü, video ve daha fazlasını anlamak, özetlemek, tahmin etmek ve üretmek için kullanılan AI algoritmalarıdır.
Büyük dil modelleri karmaşık AI algoritmalarıdır. Böyle bir modeli geliştirmek zahmetli bir iştir ve bir LLM’nin yeteneklerini kullanan bir uygulamayı oluşturmak eşit derecede zorlu bir görevdir. Bir workflow’ü tasarlamak, uygulamak ve nihayetinde bir büyük dil modelinin tam potansiyelini ortaya çıkarmak için önemli uzmanlık, çaba ve kaynaklar gerekir. LLM’leri kullanan uygulamalar için workflow’ler oluşturmak için gereken geniş zaman ve kaynaklar, bu süreçlerin otomasyonunun büyük bir değer taşıması anlamına gelir. Özellikle workflow’lerin gelecekte daha da karmaşık hale geleceği ve geliştiricilerin giderek daha sofistike LLM tabanlı uygulamalar oluşturacağı düşünüldüğünde, bu durum daha da önemlidir.
AutoGen Microsoft ekibi tarafından geliştirilen bir çerçevedir ve LLM workflow’lerinin orkestrasyonunu ve optimize edilmesini basitleştirmeyi amaçlar. AutoGen çerçevesi, GPT-3 ve GPT-4 gibi gelişmiş LLM’lerin gücünü kullanan ve aynı zamanda LLM’lerin sınırlamalarını araçlar ve insan girdileriyle entegre ederek, çoklu ajanların birbirleriyle konuşmasını sağlayan sohbetleri başlatan bir çerçeve sunar.
AutoGen çerçevesini kullanarak, karmaşık bir çoklu ajan sohbet sistemi geliştirmek için sadece iki adım gerekir.
Adım 1: Her biri belirli rolleri ve yetenekleri olan bir dizi ajan tanımlayın.
Adım 2: Ajanlar arasındaki etkileşim davranışını tanımlayın, yani bir ajanın başka bir ajanın mesajını aldığında neye cevap vereceğini belirleyin.
Her iki adım da modüler ve sezgiseldir, bu da ajanların bileşilebilir ve yeniden kullanılabilir olmasını sağlar. Aşağıdaki şekil, bir örnek workflow’u gösterir ve bu workflow, tedarik zinciri optimizasyonunda kod tabanlı soru cevaplamaya yönelik bir yaklaşımı gösterir. Writer önce kodu ve yorumları yazar, Safeguard kodu ve yorumları güvence altına alır ve Commander, gerekli izinleri aldıktan sonra kodu çalıştırır. Sistem çalışma zamanında bir sorunla karşılaşırsa, süreç tamamen çözülene kadar tekrarlanır. Bu çerçevenin uygulanması, tedarik zinciri optimizasyonu gibi uygulamalarda manuel etkileşimi 3 ila 10 kata kadar azaltabilir. Ayrıca, AutoGen’in kullanımı, bu karmaşık uygulamaları oluşturmak için gereken kodlama çabalarını dört kata kadar azaltabilir.

AutoGen, karmaşık uygulamaların geliştirilme sürecini dönüştürmeyi amaçlar. AutoGen’in kullanımı, sadece istenen sonuçları elde etmek için gereken manuel etkileşimleri azaltmakla kalmaz, aynı zamanda bu karmaşık uygulamaları oluşturmak için gereken kodlama çabalarını da azaltabilir. AutoGen’in LLM tabanlı uygulamalar oluşturmak için kullanılması, süreci önemli ölçüde hızlandırabilir ve bu karmaşık uygulamaları geliştirmek için gereken zaman, çaba ve kaynakları azaltabilir.
Bu makalede, AutoGen çerçevesine daha derinlemesine bakacağız ve AutoGen çerçevesinin temel bileşenlerini ve mimarisini, potansiyel uygulamalarıyla birlikte keşfedeceğiz. Başlayalım.
AutoGen’e Giriş: Büyük Dil Modeli Uygulamalarının Gelecek Neslini Güçlendiriyor
AutoGen, Microsoft ekibi tarafından geliştirilen bir açık kaynak çerçevesidir ve geliştiricilere, çoklu ajanların birbirleriyle konuşabileceği uygulamalar oluşturarak LLM’lerin gücünden yararlanmalarını sağlar. AutoGen’de ajanlar sohbet edebilir, özelleştirilebilir ve farklı modlarda çalışabilir, araçlar, insan girdileri ve LLM’ler kullanabilir. Geliştiriciler, AutoGen çerçevesini kullanarak ajanların etkileşim davranışını tanımlayabilir ve esnek sohbet kalıpları oluşturmak için hem bilgisayar kodu hem de doğal dili kullanabilir. Açık kaynak bir çerçeve olarak, AutoGen, geliştiricilerin LLM’lerin gücünden yararlanarak çeşitli karmaşıklıklarda uygulamalar ve çerçeveler oluşturmasına olanak tanır.

Büyük dil modelleri, yeni gözlemlere uyum sağlamak, araçları kullanmak ve çeşitli gerçek dünya uygulamalarında akıl yürütmek için LLM çerçevelerini kullanan ajanlar geliştirmede önemli bir rol oynamaktadır. Ancak, LLM’lerin tam potansiyelini kullanabilen uygulamaları geliştirmek karmaşıktır ve LLM’lerin ve görevlerin artan karmaşıklığı düşünüldüğünde, bu ajanların gücünü, birbirleriyle senkronize çalışan çoklu ajanlar kullanarak ölçeklendirmek önemlidir. Ancak, LLM tabanlı uygulamaları geliştirmek için çoklu ajan yaklaşımı nasıl kullanılabilir? AutoGen çerçevesi, çoklu ajan sohbetleri kullanarak bu soruyu cevaplamaya çalışır.
AutoGen: Bileşenler ve Çerçevesi
Geliştiricilerin LLM yeteneklerini kullanarak karmaşık uygulamalar oluşturmak için gereken çabayı azaltmak amacıyla, AutoGen’in temel ilkesi, çoklu ajan sohbetlerini kullanarak çoklu ajan workflow’lerini konsolide etmek ve akışkanlaştırmaktır. AutoGen, görevleri başarıyla gerçekleştirmek için birbirleriyle sohbet edebilen çoklu ajanlar kullanır ve çerçeve, iki temel kavram üzerine inşa edilmiştir: Sohbet Edilebilir Ajanlar ve Sohbet Programlama.
Sohbet Edilebilir Ajanlar
AutoGen’de sohbet edilebilir bir ajan, önceden tanımlanmış bir role sahip bir varlık olup, diğer sohbet edilebilir ajanlara bilgi gönderip alabilir. Bir sohbet edilebilir ajan, aldığı veya gönderdiği mesajlara dayanarak iç bağlamını korur ve geliştiriciler, bu ajanları benzersiz yeteneklerle donatabilir, örneğin LLM araçlarını veya insan girdilerini kullanabilir.
Ajan Yetenekleri: İnsanlar, Araçlar ve LLM’ler Tarafından Güçlendirilir
Bir ajanın yetenekleri, mesajlara nasıl yanıt verdiğine doğrudan relacionlıdır ve bu nedenle AutoGen çerçevesindeki ajanlar, geliştiricilere çeşitli yetenekleri ajanlara kazandırma esnekliği sağlar. AutoGen, ajanlar için çeşitli ortak bileşen yetenekleri destekler, bunlar arasında
- LLM’ler: LLM’leri kullanan ajanlar, gelişmiş LLM çerçevelerinin yeteneklerini kullanır, örneğin implicit state interference, role playing, geri bildirim sağlama ve kodlama.
- İnsanlar: Bazı uygulamalar insan katılımı gerektirir veya ister ve AutoGen çerçevesi, insan geri bildirimini sağlayabilen insan destekli ajanlar kullanarak LLM tabanlı uygulamalara insan katılımını sağlar.
- Araçlar: Araçları kullanan ajanlar genellikle araçları veya kodları çalıştırmak için kod yürütme veya fonksiyon yürütme yeteneklerine sahiptir.
Ajan İşbirliği ve Özelleştirme
Uygulamanın özel gereksinimlerine bağlı olarak, geliştiriciler, ajanları, karmaşık çoklu ajan sohbetlerindeki phức behaviorı sergilemek için, çeşitli arka uç türlerinin birleşimini yapılandırabilir. AutoGen çerçevesi, geliştiricilere, özel rolleri ve yetenekleri olan ajanlar oluşturmak için, yerleşik ajanları genişletme veya yeniden kullanma olanağı sağlar. Aşağıdaki şekil, AutoGen çerçevesindeki yerleşik ajanların temel yapısını gösterir. ConversableAgent sınıfı, varsayılan olarak insanları, araçları ve LLM’leri kullanabilir, çünkü en üst düzey ajan soyutlamasıdır. UserProxyAgent ve AssistantAgent, ConversableAgent’in önceden yapılandırılmış sınıflarıdır ve her biri, bir AI asistanı (LLM’ler tarafından desteklenirse) veya insan girdisi (araçlar veya insanlar tarafından desteklenirse) olarak davranan ortak bir kullanım modunu temsil eder.

Aşağıdaki şekil, geliştiricilerin, özel bir cevap fonksiyonu olan iki ajanlı bir sistemi nasıl oluşturabileceğini ve programın yürütülmesi sırasında iki ajanlı sistemin otomatik ajan sohbetini nasıl gerçekleştirebileceğini gösterir.

AutoGen çerçevesindeki sohbet edilebilir ajanlar, çoklu ajan sohbetlerini tanımlamak için temel bir yapı taşı oluşturur. Ancak, geliştiricilerin, bu çoklu ajan sohbetlerini, görevlerde önemli ilerleme kaydetmelerini sağlayacak şekilde şekillendirmeleri gerekir.
Sohbet Programlama
Bu sorunu çözmek için, AutoGen çerçevesi, sohbet programlama adlı bir hesaplama paradigmını kullanır, bu paradigma iki temel kavram üzerine inşa edilmiştir: hesaplama, ajanların bir çoklu ajan sohbetinde yanıtını hesaplamak için gerçekleştirdikleri eylemler ve kontrol akışı, bu hesaplamaların gerçekleştiği koşullar veya sıralama. Bu hesaplamaları ve kontrol akışını programlamak, geliştiricilere esnek çoklu ajan sohbeti kalıpları oluşturma olanağı sağlar. Ayrıca, AutoGen çerçevesinde, hesaplamalar sohbet merkezlidir. Ajanların gerçekleştirdiği eylemler, ajanların katıldığı sohbetlerle ilgilidir ve ajanların gerçekleştirdiği eylemler, sonraki sohbetler için mesajların geçirilmesine neden olur, bu da bir sonlandırma koşulunun karşılanmasına kadar devam eder. Ayrıca, AutoGen çerçevesindeki kontrol akışı, sohbetler tarafından yönlendirilir, çünkü katılımcı ajanların, hangi ajanların mesajları hangi hesaplama prosedürüne göndereceğini veya alacağını belirlemesi gerekir.

Aşağıdaki şekil, bireysel ajanların, görevlerine özgü operasyonları gerçekleştirdiğini ve sohbet merkezli hesaplamaları, kod yürütme ve LLM müdahalesi çağrıları gibi istenen yanıtları üretmek için nasıl gerçekleştirdiğini gösterir. Görev, sohbet kutusunda görünen sohbetler yardımıyla ilerler.
Sohbet programlamasını kolaylaştırmak için, AutoGen çerçevesi aşağıdaki tasarım kalıplarını sunar.
- Oto Yanıt Mekanizmaları ve Otomatik Ajan Sohbetleri için Birleştirilmiş Arayüz
AutoGen çerçevesi, sohbet merkezli bir hesaplama gerçekleştirmek için birleştirilmiş bir arayüz sunar, bu da bir al veya gönder fonksiyonu için mesajları al veya göndermek ve bir yanıt üret fonksiyonu için, alınan mesaj temelinde bir yanıt üretmek ve gereken eylemi gerçekleştirmek için kullanılır. AutoGen çerçevesi ayrıca, sohbet odaklı kontrolü gerçekleştirmek için varsayılan olarak ajan-oto yanıt mekanizmasını sunar.
- Doğal Dil ve Programlama ile Kontrol Birleştirmesi
AutoGen çerçevesi, kontrol akışı yönetim kalıplarında doğal dil ve programlamanın kullanımını sağlar, bunlar arasında doğal dil kontrolleri, programlama dili kontrolleri ve programlama ve doğal dil arasında geçiş yer alır.
Devam ederek, statik sohbetlerin yanı sıra, AutoGen çerçevesi, çoklu ajanlar arasında dinamik sohbet akışlarını da destekler ve geliştiricilere, bunu gerçekleştirmek için iki seçenek sunar
- Fonksiyon çağrıları kullanarak.
- Özel bir yanıt üretme fonksiyonu kullanarak.
AutoGen Uygulamaları
AutoGen çerçevesinin karmaşık çoklu ajan uygulamaları geliştirme potansiyelini göstermek için, altı olası AutoGen uygulaması seçilmiştir, bunlar gerçek dünya uygulamalarının alaka düzeyi, AutoGen çerçevesi tarafından geliştirilen problem çözme yetenekleri ve yenilikçi potansiyelleri temelinde seçilmiştir.
Bu altı AutoGen uygulaması
- Matematik problem çözme.
- Alma artırma sohbetleri.
- ALF sohbetleri.
- Çoklu ajan kodlama.
- Dinamik grup sohbeti.
- Sohbetli satranç.

Uygulama 1: Matematik Problem Çözme
Matematik, LLM modellerini karmaşık matematik problemlerini çözmeye yardımcı olmak için kullanmanın temel disiplinlerinden biridir ve bu, AI araştırma yardımı ve kişiselleştirilmiş AI öğretimi gibi yeni uygulama alanlarını açar.

Aşağıdaki şekil, AutoGen çerçevesinin matematik problem çözme için nasıl kullanılabileceğini gösterir.
Uygulama 2: Soru Cevaplandırma ve Alma Artırma ile Kod Oluşturma
Son aylarda, Alma Artırma ile Kod Oluşturma, LLM’lerin dış belgeleri dahil etme sınırlamalarını aşmak için etkili ve pratik bir yaklaşım olarak ortaya çıktı. Aşağıdaki şekil, AutoGen çerçevesinin, Alma Artırma için etkili bir şekilde nasıl kullanılabileceğini ve soru cevaplandırma görevlerinde performansı nasıl artırabileceğini gösterir.

Uygulama 3: Metin Dünyası Ortamlarında Karar Verme
AutoGen çerçevesi, online veya etkileşimli karar verme ile çalışan uygulamalar oluşturmak için kullanılabilir. Aşağıdaki şekil, geliştiricilerin, bir üç ajanlı sohbet sistemini tasarlayabileceğini ve performansı önemli ölçüde artırabileceğini gösterir.

Uygulama 4: Çoklu Ajan Kodlama
AutoGen çerçevesini kullanan geliştiriciler, OptiGuide çerçevesini kullanarak, optimize edilmiş çözümleri uygulamak için kod yazabilen ve kullanıcı sorularını cevaplayabilen bir çoklu ajan kodlama sistemi oluşturabilir. Aşağıdaki şekil, AutoGen çerçevesini kullanarak bir çoklu ajan tasarımının, özellikle bir güvence gerektiren kodlama görevlerinde performansı önemli ölçüde artırabileceğini gösterir.

Uygulama 5: Dinamik Grup Sohbeti
AutoGen çerçevesi, çoklu ajanların birbirleriyle dinamik olarak sohbet edebileceği bir iletişim kalıbını destekler, bu sohbetler, önceden tanımlanmış bir sırayı takip etmez, ancak sohbetler devam ettikçe, ajanlar birbirleriyle etkileşime girer. Bu dinamik grup sohbetleri, ajanlar arasındaki etkileşim akışını yönlendirmek için devam eden sohbetlere dayanır.

Aşağıdaki şekil, AutoGen çerçevesinin, bir GrupSoğukYöneticisi adlı özel bir ajan kullanarak, ajanlar arasında dinamik grup sohbetlerini nasıl desteklediğini gösterir.
Uygulama 6: Sohbetli Satranç
AutoGen çerçevesinin geliştiricileri, bir LLM veya insan olan oyuncular için önceden tanımlanmış ajanlara sahip bir Sohbetli Satranç uygulaması geliştirdiler ve ayrıca, önceden tanımlanmış kurallara dayanarak hamleleri doğrulayan ve ilgili bilgileri sağlayan bir üçüncü taraf ajanı da vardır. Aşağıdaki şekil, AutoGen çerçevesini kullanarak oluşturulan Sohbetli Satranç uygulamasını gösterir, bu uygulama, oyuncuların hamlelerini yaratıcı bir şekilde ifade etmelerine olanak tanır, bu da oyunu hem oyuncular hem de izleyiciler için daha ilgi çekici hale getirir.

SONUÇ
Bu makalede, sohbet programlama ve sohbet edilebilir ajanlar kavramlarını kullanan, LLM workflow’lerinin orkestrasyonunu ve optimize edilmesini basitleştirmeyi amaçlayan açık kaynak bir çerçeve olan AutoGen’i tanıttık. AutoGen çerçevesi, gelişmiş LLM’lerin gücünü kullanan ve aynı zamanda LLM’lerin sınırlamalarını araçlar ve insan girdileriyle entegre ederek, çoklu ajanların birbirleriyle sohbet etmesini sağlayan bir çerçeve sunar.
AutoGen çerçevesi hala deneysel aşamadadır, ancak bu alan için gelecekteki keşiflere ve araştırma fırsatlarına zemin hazırlar ve AutoGen, LLM’lerin yeteneklerini kullanan uygulamaların geliştirilme hızını, işlevselliğini ve kolaylığını artırabilecek bir araç olabilir.












