Model-Agnostic İş Akışları: Farklı LLM’leri Tek Bir Arayüzde Zincirleme (Chaining)
Yapay zeka cephesinde son bir yıldır garip bir kabilecilik var. Kimi yalnızca Claude 3.5 Sonnet’i övüyor, kimi GPT-4o olmadan parmağını bile kıpırdatmıyor. Oysa üretim bandına indiğimizde gerçek yüzümüze çarpıyor: Her işi mükemmel yapan tek bir llm henüz icat edilmedi. Asıl güç, tek bir modele tapınmakta değil, modellerin en iyi yönlerini bir araya getiren akıllı bir otomasyon kurmakta yatıyor.
Bu yazıda, tek bir modele bağımlı kalmadan (“model-agnostic”), Claude’un akıcı üslubu ile GPT-4’ün analitik zekasını aynı pipeline üzerinde nasıl zincirleyeceğimizi (chaining) test edeceğiz. Karmaşık kod yığınlarına boğulmadan, popüler iş akışı aracı n8n üzerinden somut bir senaryo kuracağız.
“Model-agnostic” ne demek ve neden umurumuzda olmalı?
Model-agnostic, en basit tanımıyla kurduğunuz sistemin arkasındaki yapay zeka sağlayıcısına (OpenAI, Anthropic, Google ya da yerel bir Mistral modeli) körü körüne bağımlı olmamasıdır. Bugün ChatGPT API’ı çökerse ya da Anthropic fiyatlarına %50 zam yaparsa iş akışınız duruyor mu? Duruyorsa “vendor lock-in” tuzağındasınız demektir.
Bir de her modelin uzmanlık alanı farklı. OpenAI modelleri genellikle katı JSON çıktıları üretmede, fonksiyon çağırmada (function calling) ve mantıksal veri analizinde bir tık daha kararlı. Anthropic’in Claude modelleri ise insansı metin üretiminde, yaratıcı yazarlıkta ve nüans yakalamada bariz şekilde daha doğal hissettiriyor. Birini seçmek zorunda değiliz.
Test senaryosu: kaotik veriden akıcı bültene
Lafı uzatmadan laboratuvara geçelim. Müşterilerden gelen dağınık geri bildirimleri (e-postalar, destek biletleri, anketler) toplayıp yönetim ekibi için haftalık şık bir özet bültene dönüştürmek istiyoruz.
Bu senaryoda tek bir LLM kullandığımızda genellikle iki sorunla karşılaşıyoruz:
1. GPT-4’e “samimi ve akıcı bir dille özetle” dediğimizde yine de hafif kurumsal ve mekanik bir ton alıyoruz.
2. Claude’a ham veriyi atıp “bunu önce kategorize et, puanla, sonra yaz” dediğimizde bazen format kurallarını esnetebiliyor.
Çözüm görevi ikiye bölüp zincirlemek (chaining).
Adım 1: GPT-4o ile analiz ve sınıflandırma
İlk aşamada ham metni OpenAI’ın GPT-4o modeline paslıyoruz. İyi bir prompt engineering dokunuşuyla modelden yalnızca geçerli bir JSON çıktısı istiyoruz. Modelin edebiyat yapmasını değil, duyguları -1 ile +1 arasında puanlamasını ve ana problemleri etiketlemesini bekliyoruz.
POST https://api.openai.com/v1/chat/completions
{
"model": "gpt-4o",
"response_format": { "type": "json_object" },
"messages": [
{"role": "system", "content": "Gelen metni analiz et ve {'kategori': '', 'duygu_skoru': 0, 'oncelik': ''} formatında JSON dön."}
]
}
Adım 2: Claude 3.5 Sonnet ile hikayeleştirme
GPT-4o işini bitirdiğinde elimizde tertemiz, filtrelenmiş bir JSON objesi oluyor. Bu JSON’ı şimdi Claude 3.5 Sonnet’e devrediyoruz. Claude’a verdiğimiz komut basit: “Bu analitik veriyi al ve şirket içi Slack kanalında paylaşılacak, esprili, motive edici ama sorunları da net gösteren bir mini bültene çevir.”
Ortaya GPT-4’ün hata yapmayan mantık süzgecinden geçmiş, Claude’un kaleminden çıkmış hibrit bir rapor çıkıyor. İki model de en iyi bildiği işi yapmış oluyor.
Bu düzeni n8n ile nasıl kurduk?
Bunu Python script’leriyle LangChain kullanarak da yapabilirdiniz. Ancak işi operasyonel hale getirmek ve görsel olarak takip edebilmek için n8n biçilmiş kaftan. n8n, API’ları birbirine lego gibi bağlamanızı sağlayan açık kaynaklı bir iş akışı otomasyon aracı.
Kurulum mantığı oldukça sade:
- Bir Webhook ya da Cron node’u akışı tetikler.
- OpenAI Node’u ham veriyi alır, yapılandırılmış analizi çıkarır.
- Araya koyacağınız minik bir Code Node’u (JavaScript) veriyi kontrol eder; hata varsa modeller arasında fallback mekanizması çalıştırır.
- Anthropic Node’u temiz veriyi alıp nihai metni üretir.
- Sonuç Slack, e-posta ya da Notion’a otomatik postalanır.
Zincirlemenin artıları ve eksileri
Her teknolojik yaklaşım gibi bu sistem de sihirli bir değnek değil. Avantajları kadar getirdiği yükler de var.
| Avantajlar | Dezavantajlar / Zorluklar |
|---|---|
| Her modelin en güçlü yönünden faydalanırsınız. | İki farklı API çağrısı nedeniyle gecikme (latency) süresi artar. |
| Tek bir sağlayıcının çökmesine karşı B planı (fallback) kurabilirsiniz. | Hata ayıklama (debugging) zorlaşır; zincirin nerede koptuğunu bulmak gerekir. |
| Daha tutarlı ve formatına sadık çıktılar üretir. | İki farklı API için token maliyeti doğar. |
Maliyetler ve ücretsiz alternatifler
İki model birden kullanınca “Cüzdanı OpenAI ve Anthropic’e mi bırakacağız?” diye düşünebilirsiniz. İşin matematiği sanıldığı kadar korkutucu değil:
- API Maliyeti: GPT-4o mini ve Claude 3.5 Haiku gibi daha ufak modelleri zincirlediğinizde 1.000 adet raporun maliyeti 1 doları bile bulmuyor. Ön analizi ucuz modelle yapıp vitrin metnini pahalı modele bırakmak ciddi tasarruf sağlıyor.
- Araç Maliyeti (n8n): n8n Cloud versiyonu aylık yaklaşık 20€'dan başlıyor. Güzelliği şurada: n8n fair-code lisanslıdır. Kendi sunucunuza (örneğin 5 dolarlık bir Hetzner/DigitalOcean VPS) Docker ile kurarsanız arayüz için sıfır lira ödersiniz.
- Alternatif Araçlar: Benzer chaining işlemlerini kod yazmadan yapmak için tamamen açık kaynaklı ve ücretsiz Flowise veya Dify araçlarını da tercih edebilirsiniz. No-code dünyasının kolaylığına alışkınsanız Make.com da iyi bir seçenek, ama operasyon sayısı arttıkça maliyeti katlanır.
Tek bir modele mahkûm değilsiniz
Yapay zekayı bir çalışan gibi düşünün. Muhasebe müdürünüze pazarlama metni yazdırmadığınız gibi, yaratıcı metin yazarınıza da karmaşık finansal verileri ayıklatmazsınız. LLM’lerde de mantık aynı.
Model-agnostic düşünürseniz yarın GPT-5 çıktığında ya da yerel açık kaynak bir model Claude’u tahtından indirdiğinde sisteminizi 5 dakika içinde güncelleyebilirsiniz. İşinizi tek bir yapay zekaya emanet etmek yerine, modelleri bir orkestra gibi yöneten iş akışları kurmaya bugünden başlayın.