Agentic sistemler tek parça değil. Parçalardan kuruluyorlar ve seçtiğiniz tür, üretimde ilk neyin bozulacağını belirliyor.
Serinin son bölümüne geldik. İlk üç bölümde ajanların ne olduğunu, üretken yapay zekâdan nasıl ayrıldıklarını ve içeride nasıl çalıştıklarını anlattım. Bu bölüm pratik: hangi tür ajanlar var, her biri neye yarıyor, genellikle nerede tökezliyor ve ilk ajanınızı kurmaya nasıl başlamalısınız?
Beş tür ajan
Resmî bir sınıflandırma yok, ama karşılaşacağınız ajanların çoğu ne kadar serbestliğe sahip olduklarına ve kaç tanesinin birlikte çalıştığına göre beş gruptan birine giriyor.
1. Görev ajanları
En basit tür. Görev ajanı, tanımı net tek bir iş yapar: bir belgeyi özetlemek, bir e-postadan önemli alanları çekmek, haftalık bir rapor üretmek. Çok az durum bilgisi tutar ya da hiç tutmaz, özerkliği de düşüktür. Çoğu zaman bir prompt şablonu, birkaç fonksiyon çağrısı ve belki bir belge deposu üzerinde bilgi getirmeden (RAG) ibarettir. Uyumluluk raporlaması gibi dar ve tekrarlanabilir iş akışlarına çok uygundur. Girdi, promptun öngördüğü sınırların dışına kaydığında bozulur; bu yüzden çıktılarına güvenmek yerine onları doğrulayın.
2. Arayüz ajanları
Arayüz ajanları insanlarla muhatap olur: sanal asistanlar, destek sohbet botları, satış danışmanları. Konuşmayı hatırlamaları, metnin yanında çoğu zaman görsel ya da sesle de başa çıkmaları ve ne zaman harekete geçip ne zaman soru soracaklarına karar vermeleri gerekir. Tipik yapı bir dil modeli, biraz bellek ve bir ön yüzden oluşur; bu ön yüz React, Streamlit ya da düpedüz Slack olabilir. Zayıf noktaları belirsizliktir. İnsanlar ne istediklerini nadiren tam olarak söyler ve yanlış bir tahminle harekete geçen bir arayüz ajanı, ek bir soru soran ajandan daha kötüdür.
3. Öz değerlendirme ajanları
Bu ajanlar bir işi gözden geçirir; kendi işlerini ya da başka bir ajanın işini. Kod gözden geçiriciler, cevap puanlayıcılar ve güvenlik denetleyicileri bu gruba girer. Genelde bir üretici ve bir eleştirmenden oluşan bir kalıp kullanılır: zincirlenmiş iki prompt ya da iki ayrı ajan, bazen de bir ödül modeli. Öz değerlendirme kaliteyi gözle görülür biçimde artırır, ama yalnızca eleştirmen üreticinin bilmediği bir şeyi biliyorsa; test sonuçları ya da bir puanlama ölçütü gibi. Elinde yeni hiçbir bilgi olmadan kendi çıktısını puanlayan bir model genellikle onu onaylar.
4. Planlayıcı ajanlar
Planlayıcı ajanlar çok adımlı bir hedefi alıp izlenecek yolu belirler: bir projeyi koordine etmek, istekleri doğru iş akışına yönlendirmek, bir seyahat organize etmek. Yollarını çalışma anında seçerler ve genellikle LangGraph ya da AutoGen gibi araç desteği güçlü bir framework üzerinde çalışırlar. Zayıf oldukları yer uzun kuyruktur. Birinci adımda gayet makul görünen bir plan altıncı adımda imkânsız hâle gelebilir; bu yüzden planlayıcıların, planın yeniden değerlendirildiği kontrol noktalarına ihtiyacı vardır.
5. Çoklu ajan sistemleri
Burada farklı rollere sahip birkaç ajan, mesajlar ya da ortak bir bellek üzerinden koordine olarak birlikte çalışır. Bir ajanın arama yaptığı, birinin okuduğu, birinin de yazdığı bir araştırma ekibini ya da bir özelliği aralarında paylaşan bir grup kodlama ajanını düşünün. Başlangıç noktası genellikle CrewAI ve AutoGen olur. Bu yaklaşım büyük görevlere iyi ölçeklenir ama asıl zor kısım koordinasyonun kendisi hâline gelir. Net roller ve ne zaman durulacağına dair bir kural yoksa ajanlar döngüye girer, birbirinin işini tekrarlar ya da asıl hedeften uzaklaşır.
En basit ajanın parçaları
Hangi türü kurarsanız kurun, karşınıza aynı yapı taşları çıkar. Tablo bunları bazı yaygın seçeneklerle birlikte listeliyor. Bir öneri listesi değil, yalnızca arazinin haritası.
| Parça | Ne işe yarar? | Yaygın seçenekler |
|---|---|---|
| Dil modeli | Akıl yürütme ve metin üretimi | OpenAI, Anthropic, Google ya da Mistral modelleri veya kendi sunucunuzda çalıştırdığınız açık ağırlıklı modeller |
| Planlayıcı | Hedefi adımlara dönüştürür | LangGraph, LangChain ajanları ya da kendi yazdığınız ReAct tarzı bir döngü |
| Araçlar | Ajanın dünyada iş yapmasını sağlar | Fonksiyon çağırma, kendi API'leriniz, Playwright ya da Selenium gibi tarayıcı otomasyonu |
| Bellek | Oturum içinde ve oturumlar arasında bağlamı korur | Redis, Pinecone, Qdrant, Weaviate |
| Çalıştırma ortamı | Eylemlerin gerçekten çalıştığı yer | Sunucusuz fonksiyonlar, konteynerler, kod için izole bir ortam |
| Arayüz | İnsanların ya da sistemlerin ajana nasıl ulaştığı | Bir sohbet arayüzü, bir REST API (örneğin FastAPI), Slack |
İlk proje: bir seyahat asistanı
Seyahat asistanı iyi bir ilk ajandır, çünkü bütün parçalara ihtiyaç duyar ama yine de üzerinde düşünmesi kolaydır. Hedefin şu olduğunu varsayalım: "Gelecek ay İstanbul'dan Berlin'e, bütçemi aşmadan ve takvimime göre bir seyahat planla."
Parçalarına ayırınca ajanın yapması gerekenler şunlar:
- Planlamak: isteği adımlara bölmek; vize kurallarını kontrol etmek, tarihleri bulmak, uçuş ve otel aramak, bir güzergâh önermek gibi.
- Araç kullanmak: bir uçuş arama API'si, takvim ve onaylar için e-posta.
- Hatırlamak: tercih edilen havayolları, bütçe sınırları, kullanıcının hangi ülkenin pasaportunu taşıdığı.
- Kendini kontrol etmek: planı göstermeden önce gerçekten bütçeye ve takvime uyup uymadığına bakmak ve tükenmiş bir bilet gibi aksaklıklarla başa çıkmak.
istek → plan → adımlar → araç çağrıları → öneri
↑ │
bellek ← sonucu kontrol et, düzeltİşe ajanın yalnızca plan önerdiği, rezervasyonu ise bir insanın yaptığı bir düzenle başlayın. Önerileri tutarlı biçimde doğru çıkmaya başladığında rezervasyonu ona bırakın, ama her ödemeden önce bir onay adımıyla. Bu sıra (önce öner, sonra uygula) herhangi bir ajana güven inşa etmenin en güvenli yolu.
Ajanları güvenilir kılan alışkanlıklar
- Durdurulabilir olsun. Bir insan ajanı her an duraklatabilmeli ya da kararını geçersiz kılabilmeli.
- Belleği düzenli tutun. Kısa süreli, uzun süreli ve anlamsal belleği ayırın ve temizleyin; yoksa eskimiş ve yanlış bilgiler sonraki kararları yönlendirir.
- Parçaları küçük tutun. Planlama, araç kullanımı ve doğrulama için ayrı bileşenlerde hata ayıklamak, her şeyi yapan tek bir ajanda hata ayıklamaktan çok daha kolaydır.
- Araçları denetleyin. Her araca açık yetkiler tanımlayın ve her çağrıyı loglayın.
- Önce simülasyonda test edin. Ajanı gerçek sistemlere yaklaştırmadan önce taklit araçlarla ve kayıtlı senaryolarla çalıştırın.
Framework mü, kendi kodunuz mu?
Er ya da geç LangChain ya da AutoGen gibi üst seviye bir framework'te mi kalacağınıza, yoksa araç yönlendirme katmanını kendiniz mi yazacağınıza karar vermeniz gerekecek. İkisi de makul tercihler; yalnızca farklı bedelleri var.
| Framework | Kendi yönlendiriciniz | |
|---|---|---|
| Başlangıç hızı | Hızlı; sarmalayıcıların çoğu zaten hazır | Daha yavaş; durum yönetimini ve şemaları kendiniz yazarsınız |
| Görünürlük | İç durum ve promptları görmek zor olabilir | Her promptu ve her durum bilgisini görür, kontrol edersiniz |
| Hatalar | Hatalar zincirlerin içinde kaybolabilir | Hatalar ve yeniden denemeler açıkça görünür |
| Token yükü | Bağlam tekrar tekrar eklendiği için çoğu zaman daha yüksek | Daha düşük; her çağrı yalnızca ihtiyacı olanı taşır |
Benim kabaca kuralım şu: keşfetmek ve bir prototipi hızla kullanıcıların önüne koymak için framework kullanın. Ajan iş için önemli hâle geldiğinde, kritik kısımları sıkı şema doğrulaması, okunabilir hata izleri ve model API'si üzerinde doğrudan kontrol sunan küçük, kendi yazdığınız bir yönlendiriciyle değiştirmeyi düşünün. Biraz konfordan vazgeçersiniz, karşılığında sisteminizin gerçekte ne yaptığını görebilirsiniz.



