2026 AI Haritası yazısında AI araç ekosistemini beş ana kategoriye ayırmıştık. Bu yazıda o haritanın en kritik duraklarından birini üretim ortamı odaklı inceliyoruz.

İlk durak LangGraph. Çünkü agentic sistemlerde araç seçimi, çoğu zaman sadece geliştirme deneyimini değil, üretim ortamındaki güvenilirliği de belirliyor.

LangGraph, CrewAI, AG2 ve BeeAI aynı problemi çözmüyor. Bu ayrımı görmeden verilen framework kararı, ileride test, hata yönetimi ve bakım maliyeti olarak geri dönüyor.

Bu nedenle bu yazıyı bir LangGraph Türkçe rehberi gibi, ama sadece kurulum anlatan dar bir içerik olarak değil, agentic framework seçimi için karar çerçevesi olarak ele alıyoruz.

Framework Seçmeden Önce Sorulması Gereken Soru

Agentic sistem kurarken ilk soru genellikle şu oluyor: "Hangi framework kullanacağız?"

Biz bu sorunun erken sorulduğunu düşünüyoruz. Daha önce sorulması gereken şey şu: "Bu sistem ne zaman ne yapacak ve bir şey yanlış gittiğinde ne olacak?"

Eğer sistem sadece araştırma yapıyor, taslak üretiyor veya dahili bir deneme akışında çalışıyorsa esneklik değerli olabilir. Ama sistem CRM'e kayıt yazıyor, ödeme sistemiyle konuşuyor, e-posta gönderiyor veya müşteri verisine dokunuyorsa durum değişir. AI tabanlı yazılım geliştirme tarafındaki bu riskleri Yapay Zeka ile Kod Üretmek: Hız İllüzyonu ve Görünmez Teknik Borç yazısında da başka bir açıdan ele almıştık.

Bu noktada ihtiyacınız olan şey yalnızca akıllı bir ajan değil, kontrol edilebilir bir akıştır. LangGraph'ın değer ürettiği yer tam olarak burası.

LangGraph Nedir?

LangGraph, LangChain ekibi tarafından geliştirilen açık kaynaklı bir Python framework'ü. Ajan sistemlerini yönlü graf yapısı olarak modellemenizi sağlar. LangGraph kurulum tarafı teknik olarak zor değildir; asıl karar, kurduktan sonra akışı nasıl modelleyeceğinizdir.

Klasik ajan yaklaşımlarında akış çoğu zaman konuşma üzerinden ilerler. Bir ajan bir şey söyler, diğeri yanıt verir, süreç devam eder. LangGraph ise sistemi bir durum makinesi olarak ele alır.

Her adım ortak bir durum nesnesini okur ve günceller. Adımlar arasındaki geçişler önceden tanımlanır. Bu geçişler koşullu olabilir.

Sonuç: Test edilebilir, izlenebilir ve üretim ortamında daha öngörülebilir bir yapı.

LangGraph node edge ve state akış diyagramı
LangGraph akışında node, edge ve state ilişkisi.

Temel Yapı: Node, Edge ve State

LangGraph'ı anlamak için üç kavram yeterli: node, edge ve state.

Node: Sistemin yürüttüğü her işlem adımıdır. Kullanıcı girdisini alma, veri çekme, doğrulama yapma veya rapor üretme gibi işler node olabilir.

Edge: Node'lar arasındaki geçiştir. Bir adım tamamlandığında sırada hangi adımın çalışacağını belirler. Koşullu edge kullanıldığında akış, state içeriğine göre farklı yollara ayrılabilir.

State: Tüm node'ların okuduğu ve güncellediği ortak veri nesnesidir. Sistemin o anki durumu burada yaşar.

Basit bir örnek:

from langgraph.graph import StateGraph, END
from typing import TypedDict

class AjanState(TypedDict):
    girdi: str
    veri: str
    rapor: str

def veri_cek(state: AjanState):
    return {"veri": f"İşlenen: {state['girdi']}"}

def rapor_yaz(state: AjanState):
    return {"rapor": f"Rapor tamamlandı: {state['veri']}"}

def karar_ver(state: AjanState):
    if state.get("veri"):
        return "rapor_yaz"
    return END

graf = StateGraph(AjanState)
graf.add_node("veri_cek", veri_cek)
graf.add_node("rapor_yaz", rapor_yaz)
graf.add_conditional_edges("veri_cek", karar_ver)
graf.add_edge("rapor_yaz", END)
graf.set_entry_point("veri_cek")

uygulama = graf.compile()

Bu küçük örnekte bile akış nettir. Veri çekilirse rapor yazılır. Veri yoksa süreç sonlanır. Her adım ayrı test edilebilir.

Buradaki kritik fark, kararın kod içinde görünür olmasıdır. Akışın nereye gideceği bir konuşma döngüsünün yorumuna bırakılmaz. karar_ver fonksiyonu hangi durumda hangi node'un çalışacağını açıkça söyler.

Bu yaklaşım ekip içinde de daha net bir sözleşme oluşturur. Bir geliştirici veri çekme node'unu değiştirirken rapor yazma node'unun davranışını bozmak zorunda kalmaz. State yapısı, node'lar arasındaki temas yüzeyini görünür hale getirir.

LangGraph StateGraph invoke terminal çıktısı
Basit StateGraph örneğinde state değerlerinin adım adım dolması.

Üretimde Neden Önemli?

LangGraph'ın üretim ortamındaki değeri üç başlıkta görünür: deterministik akış, hata yönetimi ve insan onayı.

Deterministik akış şunu sağlar: aynı girdi ve aynı state, aynı yolu izler. Bu, test yazmayı ve hata ayıklamayı kolaylaştırır.

Hata yönetimi özellikle üçüncü taraf servislerde önemlidir. Örneğin müşteri verisi doğrulandı ve CRM kaydı yapıldı, ama hoş geldin e-postası ağ hatası nedeniyle gönderilemedi. LangGraph bu noktada sürecin hangi adımda kaldığını state üzerinde takip edebilir.

Böylece her şeyi baştan çalıştırmak yerine başarısız adımdan devam etmek mümkün olur. Kritik iş süreçlerinde bu ayrım operasyonel güvenilirliği doğrudan etkiler.

Bu aynı zamanda idempotency tasarımını da daha görünür hale getirir. Bir node tekrar çalıştığında aynı CRM kaydını ikinci kez oluşturmamalı, aynı e-postayı iki kez göndermemeli veya aynı ödemeyi yeniden tetiklememelidir. LangGraph bu davranışı tek başına garanti etmez, ama akışı parçalara ayırdığı için bu garantileri doğru yerde tasarlamayı kolaylaştırır.

İnsan onayı da aynı nedenle önemlidir. Veri silme, ödeme onayı veya içerik yayına alma gibi adımlarda akış duraklatılabilir. Onay geldikten sonra sistem aynı state ile devam eder.

Biz Aforsoft'ta gerçek kullanıcıya veya gerçek veriye dokunan ajan sistemlerinde bu iki soruyu ilk sıraya alıyoruz: Akış test edilebilir mi? Kritik adımda insan onayı eklenebilir mi? Yapay zeka otomasyon framework seçimi bu sorular netleşmeden yapılırsa, araç doğru olsa bile mimari karar zayıf kalır.

Alternatifler: CrewAI, AG2 ve BeeAI

LangGraph tek seçenek değil. Alternatifleri doğru konumlandırmak gerekiyor. LangGraph vs CrewAI karşılaştırması da bu yüzden sadece "hangisi daha popüler" sorusuyla yapılamaz.

CrewAI: Rol tabanlı çalışır. Araştırmacı, yazar veya editör gibi roller tanımlamak ve hızlı prototip üretmek için pratiktir. Akış sade olduğunda yeterli olabilir.

AG2, eski adıyla AutoGen: Konuşma tabanlı çok ajanlı etkileşimlerde güçlüdür. Araştırma, keşif ve ajanların birbirini yönlendirdiği açık uçlu görevlerde anlamlıdır.

BeeAI: Farklı ajan framework'lerini birbirine bağlayan bir orkestrasyon katmanıdır. Birden fazla framework'ün aynı sistemde çalışması gerektiğinde değer kazanır.

Bu araçların hiçbiri kötü değil. Yanlış probleme uygulandıklarında pahalı hale geliyorlar.

LangGraph'ın güçlü olduğu yer, akışın önceden tanımlanması ve izlenmesi gereken üretim senaryoları. CrewAI veya AG2'nin güçlü olduğu yer ise daha esnek, daha keşif odaklı görevler. AI agent framework Türkçe kaynaklarda çoğu zaman tek liste gibi anlatılıyor, ama pratikte bu araçları aynı sepete koymak karar kalitesini düşürüyor.

LangGraph CrewAI ve AG2 karşılaştırma tablosu
LangGraph, CrewAI ve AG2 farklı ajan sistemi ihtiyaçlarına cevap verir.

Ne Zaman LangGraph Seçilmeli?

LangGraph şu senaryolarda daha doğru başlangıç noktası olur:

  • Sistem üretim ortamına çıkacaksa
  • Gerçek kullanıcıya veya gerçek veriye dokunuyorsa
  • Hata aldığında kaldığı yerden devam etmesi gerekiyorsa
  • Kritik adımlarda insan onayı gerekiyorsa
  • Akışın test edilebilir ve izlenebilir olması şartsa

CrewAI veya AG2 ise şu durumlarda daha hafif bir başlangıç olabilir:

  • Dahili prototip geliştiriliyorsa
  • Görev açık uçlu araştırma niteliğindeyse
  • Rol dağılımı belli ama akış kontrolü kritik değilse
  • Hız, üretim güvenilirliğinden daha öncelikliyse

n8n ile karşılaştırma ise ayrı bir eksende yapılmalı. n8n servisler arası iş akışı için, LangGraph ajan karar mantığı için daha uygundur. Bu iki araç çoğu zaman rakip değil, farklı katmanlardır.

Pratik ayrım şöyle okunabilir: E-posta geldiğinde CRM'e kayıt açmak, Slack bildirimi göndermek ve bir tabloyu güncellemek istiyorsanız n8n hızlı ve anlaşılırdır. Ama sistemin hangi veriyi okuyacağına, hangi durumda duracağına, hangi adımda insan onayı bekleyeceğine ve hata sonrası nereden devam edeceğine karar veren bir ajan akışı tasarlıyorsanız LangGraph daha doğru zemindir.

Bir sonraki yazıda n8n tarafını bu ayrımla ele alacağız.

Üretime Almadan Önce Dikkat Edilecekler

LangGraph kullanırken framework seçimiyle iş bitmiyor. Üretim ortamı için birkaç disiplin gerekiyor.

İlk olarak versiyon sabitlemek önemli. LangGraph aktif gelişen bir framework olduğu için bağımlılıkların kontrolsüz güncellenmesi beklenmedik kırılmalara yol açabilir.

İkinci konu test. Node'lar ayrı fonksiyonlar olduğu için birim test yazmak görece kolaydır. Her node'un belirli bir state ile ne döndürdüğü ayrı ayrı doğrulanabilir.

Üçüncü konu gözlemlenebilirlik. LangSmith kullanılabilir, ama zorunlu değildir. Başlangıçta yapılandırılmış loglama ile node başlangıç ve bitişleri izlenebilir. Ölçek büyüdükçe daha güçlü izleme araçları devreye alınmalıdır.

Dördüncü konu sınırları küçük tutmak. LangGraph güçlü olduğu için her görevi graf yapısına taşımak cazip gelebilir. Bu her zaman doğru değil. Basit bir metin özetleme işi, tek API çağrısı veya kısa süreli bir araştırma görevi için StateGraph fazla mühendislik olabilir.

Bizim yaklaşımımız şu: Önce akışın gerçekten state, koşul ve geri dönüş ihtiyacı olup olmadığına bakıyoruz. Bu ihtiyaç yoksa daha hafif bir çözümle başlamak daha sağlıklı oluyor.

Bu sınır, hem geliştirme hızını hem de uzun vadeli bakım maliyetini daha dengeli tutuyor.

SSS

LangGraph öğrenmesi ne kadar zaman alıyor?

Python bilen biri için orta seviye bir öğrenme eğrisi var. Node, edge ve state kavramlarını anlamak birkaç saatlik odaklı çalışma gerektirir. Üretim kalitesinde kullanmak ise test ve gözlemlenebilirlik disiplini ister.

LangGraph ile n8n arasında nasıl karar verilmeli?

n8n servisler arası entegrasyon ve görsel iş akışı için uygundur. LangGraph, ajanın hangi koşulda hangi adıma geçeceğini kontrol etmek için daha uygundur. Biri entegrasyon katmanı, diğeri karar akışı katmanı olarak düşünülmeli.

LangGraph ücretsiz mi?

LangGraph açık kaynaklıdır ve framework olarak ücretsiz kullanılabilir. LangSmith gibi izleme araçlarının ayrıca ücretli katmanları olabilir.

LangGraph olmadan üretim ajan sistemi kurulabilir mi?

Evet, kurulabilir. Ancak deterministik akış, hata yönetimi, checkpoint mantığı ve insan onayı gibi mekanizmaları ayrıca tasarlamak gerekir. LangGraph bu yapıları daha düzenli kurmak için güçlü bir başlangıç noktası sunar.

Sonuç: Araç Seçimi Bir Mimari Karardır

LangGraph'ı yalnızca yeni bir AI framework'ü olarak görmek eksik olur. Asıl değeri, ajan sistemlerini kontrol edilebilir iş akışlarına dönüştürmesinde.

Biz Aforsoft'ta üretim ortamına çıkacak ajan sistemlerinde şu soruyla başlıyoruz: "Bu sistem gerçek kullanıcıya veya gerçek veriye dokunacak mı?"

Cevap evetse LangGraph güçlü bir aday haline geliyor. Çünkü bu noktada önemli olan yalnızca ajanın cevap üretmesi değil, sürecin izlenebilir, test edilebilir ve gerektiğinde durdurulabilir olması. Benzer şekilde AI araçlarını yazılım geliştirme süreci içinde nasıl konumlandırdığımızı Yapay Zeka Verimlilik Rehberi yazısında daha geniş bir çerçevede ele aldık.

Bir sonraki yazıda n8n'i aynı karar haritası içinde ele alacağız: hangi noktada görsel workflow yeterli olur, hangi noktada LangGraph gibi bir framework gerekir.