Microsoft AutoGen Nedir ve Nasıl Kullanılır?

← Rehbere Dön

Yapay zeka (AI) alanındaki gelişmeler her geçen gün hız kazanıyor. Geleneksel olarak tek bir dil modeline (LLM) bir soru sorup cevap aldığımız sistemlerin (ChatGPT arayüzü gibi) yerini, artık kendi aralarında konuşabilen, görev paylaşımı yapabilen ve karmaşık problemleri çözmek için otonom olarak birlikte çalışabilen "Multi-Agent" (Çoklu Ajan) sistemleri alıyor. Bu noktada karşımıza çıkan en güçlü ve devrimsel açık kaynaklı araçlardan biri de Microsoft AutoGen.

Microsoft AutoGen Nedir?

Microsoft AutoGen, birden fazla yapay zeka ajanının (agent) birbiriyle iletişim kurarak, insan müdahalesi olsun veya olmasın, karmaşık senaryoları ve iş akışlarını otomatikleştirilmesini sağlayan açık kaynaklı bir Python framework'üdür.

Düşünün ki; bir ajandan yazılım projenizin mimarisini çizmesini, diğerinden kodları yazmasını, bir diğerinden yazılan kodu test edip hataları düzeltmesini, sonuncusundan ise tüm bu sürecin dokümantasyonunu hazırlamasını istiyorsunuz. Normalde bunu tek bir modelle yapmak (halüsinasyonlar ve bağlam kopukluğu sebebiyle) imkansıza yakındır. AutoGen sayesinde her ajana farklı bir "rol" veya "persona" (örneğin: Kıdemli Yazılımcı, Test Uzmanı, Yönetici) atayabilir ve bu ajanların tıpkı bir insan ekibi gibi aralarında sohbet ederek, tartışarak ve kod yazıp çalıştırarak sorunu çözmelerini sağlayabilirsiniz.

Neden AutoGen Gibi Bir Framework'e İhtiyacımız Var?

Tekil LLM (Large Language Model) yaklaşımlarının temel sınırları vardır:

Temel Özellikleri Nelerdir?

Nasıl Kullanılır? (Gelişmiş Kurulum ve Grup Sohbeti)

Adım 1: Kurulum ve Sanal Ortam

Projelerinizde sanal ortam (virtual environment) kullanmanız önerilir. Cihazınızda Python (tercihen 3.9+) yüklü olmalıdır.

pip install pyautogen
# Eğer Docker üzerinden kod çalıştırma desteği istiyorsanız:
pip install pyautogen[docker]

Adım 2: Gelişmiş Grup Sohbeti (GroupChat) Uygulaması

Basit 2 ajanlı sohbetler yerine, gerçek gücü görmek için bir GroupChat kuralım. Senaryomuz: Kullanıcı bir borsa verisi ister, Programcı kodu yazar, Eleştirmen (Reviewer) kodu denetler ve onaylarsa Yönetici (Proxy) kodu çalıştırır.

import autogen

# 1. LLM Konfigürasyonu (GPT-4)
llm_config = {
    "config_list": [{"model": "gpt-4", "api_key": "sk-BURAYA_API_KEY"}],
    "temperature": 0.1 # Daha deterministik (mantıklı) sonuçlar için
}

# 2. Ajanların Tanımlanması
user_proxy = autogen.UserProxyAgent(
    name="Yonetici",
    system_message="İnsan yönetici. Kodu çalıştırır ve nihai kararı verir.",
    human_input_mode="TERMINATE", # Sadece iş bitince insana sor
    code_execution_config={"work_dir": "borsa_verileri", "use_docker": False}
)

coder = autogen.AssistantAgent(
    name="Yazilimci",
    system_message="Sen kıdemli bir yazılımcısın. İstenen görevler için Python kodu yazarsın. Kod bittiğinde çalışmaya uygunsa 'TERMINATE' kelimesini döndürürsün.",
    llm_config=llm_config,
)

critic = autogen.AssistantAgent(
    name="Elestirmen",
    system_message="Sen bir kod denetmenisin. Yazilimci tarafindan yazilan kodlari güvenlik, okunabilirlik ve performans acisindan incelersin. Onaylamazsan hatayi belirt",
    llm_config=llm_config,
)

# 3. Grup Sohbetini Oluşturma
groupchat = autogen.GroupChat(
    agents=[user_proxy, coder, critic], 
    messages=[], 
    max_round=12 # Sonsuz döngüye girmesini engeller
)

manager = autogen.GroupChatManager(groupchat=groupchat, llm_config=llm_config)

# 4. Süreci Başlatma
user_proxy.initiate_chat(
    manager,
    message="Bana Apple (AAPL) ve Microsoft (MSFT) hisselerinin son 1 aylik verilerini yfinance kütüphanesi ile çekip aynı grafikte gösteren bir python kodu yaz."
)

Bu kod çalıştığında ne olur?

  1. Yönetici (Proxy) görevi gruba bildirir.
  2. Yazılımci görevi alır, `yfinance` ve `matplotlib` kullanan bir Python kodu yazar.
  3. Eleştirmen kodu inceler. Eğer Yazılımcı, grafiğin eksen başlıklarını eklemeyi unutmuşsa "Lütfen X ve Y ekseni başlıklarını da ekle" diyerek kodu reddeder.
  4. Yazılımcı hatasını anlar, revize edilmiş kodu tekrar atar.
  5. Eleştirmen onaylarsa, Yönetici (yani bilgisayarınız) kodu `borsa_verileri` klasöründe çalıştırır. Bilgisayarınızda hisse grafiklerinin olduğu bir resim dosyası oluşur! Bütün bu süreç tamamen otomatik işler.

Kullanım Alanları ve Sektörel Uygulamaları

AutoGen, sadece bir "kod yazıcı" değildir. Çeşitli kurumsal senaryolara entegre edilebilir:

Gelecek Perspektifi

OpenAI'ın CEO'su Sam Altman ve birçok teknoloji lideri, AI'ın geleceğinin "Agentic Workflows" (Ajan İş Akışları) olduğuna inanıyor. Bugün yazdığınız kodlar statikken, yarın "Görev odaklı ekipler" oluşturan bu tip frameworkler kullanarak yazılımlarınızı dinamik ve "kendi kendine çalışan" organizasyonlara dönüştüreceksiniz.

Kaynaklar ve Daha Fazlası

Siz de projenizde veya şirketinizde Multi-Agent sistemleri kullanarak iç süreçlerinizi otomatize etmek ve sektörde fark yaratmak isterseniz, Üzer Teknoloji olarak yapay zeka mühendisliği tecrübemizle yanınızdayız!