Ekim 27 2026

Model-Agnostic İş Akışları: Farklı LLM’leri Tek Bir Arayüzde Zincirleme (Chaining)

Yapay zeka dünyasında son bir yıldır garip bir kabilecilik var: Kimi sadece Claude 3.5 Sonnet övüyor, kimi GPT-4o olmadan parmağını bile kıpırdatmıyor. Oysa üretim bandına indiğimizde acı gerçek yüzümüze çarpıyor: Her işi mükemmel yapan tek bir llm henüz icat edilmedi. Günümüzün modern ai tools ekosisteminde asıl güç, tek bir modele tapınmakta değil; modellerin en iyi yönlerini bir araya getiren akıllı bir otomasyon kurgulamakta 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. Üstelik 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 diğer mesele de her modelin uzmanlık alanının farklı olması. OpenAI modelleri genellikle katı JSON çıktıları üretmekte, fonksiyon çağırmada (function calling) ve mantıksal veri analizinde bir tık daha kararlıyken; Anthropic’in Claude modelleri insansı metin üretimi, yaratıcı yazarlık ve nüans yakalama konusunda bariz şekilde daha doğal hissettiriyor. Peki neden birini seçmek zorunda kalalım?

Test Senaryosu: Kaotik Veriden Akıcı Bültene

Lafı uzatmadan laboratuvara geçelim. Şöyle bir problemimiz olsun: 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).

[Görsel: n8n üzerinde Webhook tetikleyicisi, ardından OpenAI Node’u ve devamında Claude Node’unun bağlandığı iş akışı şeması]

Adım 1: GPT-4o ile Analiz ve Sınıflandırma

İlk aşamada ham metni OpenAI’ın GPT-4o modeline paslıyoruz. Burada iyi bir prompt engineering dokunuşuyla modelden sadece ve sadece 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 var. Şimdi bu JSON’ı alıp 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.”

Sonuç? GPT-4’ün hata yapmayan mantık süzgecinden geçmiş, Claude’un o nefis kaleminden çıkmış hibrit bir rapor. İki model de en iyi bildiği işi yaptı.

Bu Düzeni Nasıl Kurduk? n8n ile Pratik Entegrasyon

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:

  1. Bir Webhook ya da Cron node’u akışı tetikler.
  2. OpenAI Node’u ham veriyi alır, yapılandırılmış analizi çıkarır.
  3. Araya koyacağınız minik bir Code Node’u (JavaScript) veriyi kontrol eder; hata varsa modeller arasında fallback mekanizması çalıştırır.
  4. Anthropic Node’u temiz veriyi alıp nihai metni üretir.
  5. Sonuç Slack, E-posta ya da Notion’a otomatik postalanır.

[Görsel: n8n Node ayarlarında Prompt alanına bir önceki GPT adımından gelen JSON parametrelerinin eklendiği arayüz görünümü]

Zincirleme Yapmanın Artıları ve Eksileri

Her teknolojik yaklaşım gibi bu sistem de sihirli bir değnek değil. Masaya getirdiği avantajlar kadar, beraberinde 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 sorabilirsiniz. İşin matematiği düşündüğünüz 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 emanet etmek ciddi tasarruf sağlıyor.
  • Araç Maliyeti (n8n): n8n Cloud versiyonu aylık yaklaşık 20€’dan başlıyor. Ancak 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 olan Flowise veya Dify araçlarını da tercih edebilirsiniz. Eğer no-code dünyasının kolaylığına alışıksanız Make.com da iyi bir opsiyondur fakat operasyon sayısı arttıkça maliyeti katlanır.

Sonuç: 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’ler için de mantık aynı.

Model-agnostic düşünmek, yarın GPT-5 çıktığında veya yerel açık kaynak bir model Claude’u tahtından indirdiğinde sisteminizi 5 dakika içinde güncelleyebilme lüksü tanır. İşinizi tek bir yapay zekaya emanet etmek yerine, modelleri bir orkestra gibi yöneten iş akışları kurmaya bugünden başlayın.

Category: Genel | LEAVE A COMMENT
Ekim 18 2026

AI Ajanlarında ‘Judgment-First’ Yaklaşımı: Otomasyonu Denetleyen İnsan Karar Mekanizması

Son bir yıldır teknoloji dünyasında herkes aynı hayali satıyor: Bir ai agents ordusu kuracaksınız, siz kahvenizi yudumlarken onlar kod yazacak, testleri geçecek ve prodüksiyona deploy edecek. Kulağa harika geliyor değil mi? Ancak işin mutfağına girdiğinizde gerçekler biraz can yakıyor. Test sunucusunu yanlışlıkla silen veya sonsuz döngüye girip kredi kartı limitinizi eriten bir yapay zekayla karşılaştığınızda, otonomluğun aslında ne kadar tekinsiz bir lüks olduğunu anlıyorsunuz. İşte tam bu kırılma noktasında karşımıza yeni bir paradigma çıkıyor: Judgment-First yaklaşımı.

Bu makalede, kod yazımı ve devops süreçlerinde otonom ajanları başıboş bırakmak yerine, insan muhakemesini (yani judgment mekanizmasını) merkeze alan dengeli bir ai workflow nasıl kurulur, birlikte inceliyoruz.

“Bırakın Yapsın” Yanılgısı ve Prompt Engineering Sınırları

Bir süredir sadece iyi bir prompt engineering yaparak her sorunu çözebileceğimiz söylendi. “Sen kıdemli bir yazılımcısın, hata yapma” yazdığınızda modelin gerçekten kusursuz çalışacağına inandık. Ancak Large Language Models (LLM) olasılıksal makinelerdir; deterministik değillerdir. Yani aynı prompt, dokuz kez doğru çalışan bir kodu onuncu denemede çökertebilir.

Yapay zekanın “karar alma” (judgment) yetisi yoktur; sadece bir sonraki en olası kelimeyi tahmin etme yeteneği vardır. Kodun çalışması ile o kodun şirket kültürüne, güvenlik standartlarına ve iş mantığına uyması bambaşka şeylerdir. Bu yüzden kontrolsüz otomasyon yerine, ajanın sadece “öneri getirdiği”, insanın ise “onayladığı” bir mimari kurmak zorundayız.

[Görsel: Bir terminal ekranında sol tarafta otonom ajanın önerdiği Git diff çıktısı, sağ tarafta ise geliştiricinin onayını bekleyen interaktif CLI onay kutusu]

Judgment-First Mimarisi Nasıl Çalışır?

Geleneksel bir ai workflow döngüsünde ajan görevi alır, planlar, adımları yürütür ve bitirir. Judgment-First modelinde ise bu süreç kritik kontrol noktalarıyla (checkpoint) bölünür:

  • Keşif ve Taslak: Ajan bağlamı toplar, problemi analiz eder ve çözüm için bir plan sunar. Henüz hiçbir kod veya ayar değişmez.
  • İnsan Değerlendirmesi: Geliştirici ajanın planını inceler. Yanlış varsayımlar burada elenir.
  • Sınırlı İcra: Ajan sadece onaylanan adımı, izole bir ortamda (sandbox) çalıştırır.
  • Doğrulama ve Kabul: Nihai diff veya sistem değişikliği insan tarafından tekrar kontrol edilip ana dala birleştirilir.

Özellikle devops süreçlerinde bu yaklaşım hayat kurtarır. Bir ajana Terraform dosyalarını doğrudan uygulama yetkisi vermek yerine, plan çıktısını alıp Slack üzerinden onayınıza sunmasını sağlamak tipik bir “judgment” katmanıdır.

# Örnek: Ajanın doğrudan çalıştırması yerine plan çıktısı üretmesi
terraform plan -out=tfplan.binary
# Ajan bu noktada durur ve insan operatöre diff özetini iletir:
# "3 kaynak eklenecek, 1 veritabanı SİLİNECEK. Onaylıyor musunuz? (e/h)"

Gerçek Dünya Testi: LangGraph ve CrewAI ile Doğrulama

Geçtiğimiz haftalarda kendi projelerimden birinde LangGraph kullanarak basit bir hata ayıklama ajanı kurdum. Sisteme iki farklı yaklaşım uyguladım:

İlk senaryoda ajan tam yetkiliydi. Kod tabanındaki hatayı buldu, bir bağımlılığı güncelledi ve testleri çalıştırmadan doğrudan repoya commit attı. Sonuç? Paket uyumsuzluğu yüzünden build patladı. İkinci senaryoda ise araya bir insan onay fonksiyonu (human-in-the-loop) ekledim. Ajan güncelleme önerdiğinde terminal bana sordu. Bağımlılığın ana sürüm atladığını fark edip işlemi reddettim ve ajana “minor sürümü sabitle” direktifini verdim. Sorunsuz çözüldü.

[Görsel: LangGraph akış şemasında ‘Agent Execution’ ve ‘Tool Call’ arasına yerleştirilmiş kırmızı renkli ‘Human Approval Gate’ diyagramı]

Tam Otonom vs. Judgment-First Yaklaşımı

İki yaklaşım arasındaki farkı netleştirmek için artı ve eksilere bir göz atalım:

Kriter Tam Otonom Ajanlar Judgment-First Ajanlar
Hız Çok yüksek (aralıksız çalışır) Orta (insan onayına bağlıdır)
Hata Maliyeti Yüksek (prodüksiyon riskleri taşır) Düşük (hatalar kapıda yakalanır)
Maliyet / Token Tüketimi Sonsuz döngü riski yüksektir Denetimli ve öngörülebilirdir
Geliştirici Güveni Düşük (paranoya yaratır) Yüksek (kontrol geliştiricidedir)

Araçlar, Fiyatlar ve Ücretsiz Alternatifler

Bu doğrulama katmanını sıfırdan yazmak zorunda değilsiniz. Ekosistemde hem açık kaynaklı hem de ücretli birçok seçenek mevcut:

  • LangGraph (LangChain): Python ve JS kütüphanesi. Tamamen açık kaynak ve ücretsizdir (self-hosted). Human-in-the-loop (kesme noktaları) yeteneği şu an sektör standardı düzeyinde.
  • CrewAI: Kolay kurulur, ajanlar arası görev dağılımı yapar. Temel kütüphane ücretsiz, kurumsal Enterprise sürümü kullanıcı başına aylık 25 dolardan başlıyor.
  • n8n: Eğer kod yazmadan bir ai workflow kurmak istiyorsanız ideal. Kendi sunucunuzda çalıştırmak (Community Edition) ücretsiz; bulut versiyonu ise aylık 20 euro civarından başlıyor. Araya onay mailleri veya webhook eklemek çocuk oyuncağı.
  • GitHub Actions Environments: Kod süreçlerinizde ekstra maliyet ödemeden “Required Reviewers” özelliğini kullanarak yapay zekanın PR’larını insan onayına bağlayabilirsiniz (Genel repolarda ücretsiz).

Sonuç: Direksiyonu Tamamen Bırakmayın

Ajanların yetenekleri her ay katlanarak artıyor, bunda şüphe yok. Ancak en sofistike LLM bile sisteminizin iş hedeflerini, teknik borçlarını ve kullanıcı reflekslerini sizin kadar anlayamaz.

Yapay zekayı harika bir stajyer gibi düşünün: Hızlı araştırır, ilk taslağı yıldırım gibi çıkarır, rutin angaryayı sırtlar. Ancak kontratı imzalamadan veya prodüksiyona çıkmadan önce evrakın üzerinden bir çift tecrübeli gözün geçmesi şarttır. Judgment-First yaklaşımı, sizi hem yapay zeka trenini kaçırmaktan hem de o trenin altında kalmaktan kurtaracak en rasyonel formüldür.

Category: Genel | LEAVE A COMMENT
Ekim 3 2026

AI Kodlama Maliyetini Düşürme: Token Kullanımını Optimize Etme Rehberi

Yazılımcılar olarak son bir yıldır yeni bir refleks edindik: Bir fonksiyon yazarken takıldığımızda ya da sıkıcı bir CRUD operasyonu kapıya dayandığında hemen kısayol tuşuna basıp yapay zekayı yardıma çağırıyoruz. Fakat ay sonu kredi kartı ekstresinde ya da ekip dashboard’unda beliren o sürpriz bulut maliyetleri, keyfimizi bir anda kaçırabiliyor. AI kodlama yaparken çoğumuz ne kadar devasa bir veri hacmini her seferinde modele yolladığımızı fark etmiyoruz. İşte bu yazıda, geliştirme hızımızı zerre düşürmeden token optimizasyonu yapmanın ve cüzdanı rahatlatmanın denenmiş yollarını masaya yatırıyoruz.

Token Mantığı: Bu Sayaç Neden Bu Kadar Hızlı Dönüyor?

Bilmeyenler veya “token tam olarak neydi ya?” diyenler için en basit tanımı yapalım: Büyük dil modelleri (LLM) kelimeleri bizim gibi harf harf değil, “token” adını verdikleri hece veya karakter öbekleri halinde okur. Ortalama olarak 1000 token, yaklaşık 750 İngilizce kelimeye (Türkçe’de ek yapısından ötürü biraz daha azına) denk gelir.

Asıl tuzak şu: Bir sohbet uzadıkça, Claude veya GPT her yeni cümlenizde geçmiş konuşmaların tamamını tekrar okur. Yani model hafızaya sahip değildir; hafıza yanılsaması, geçmişin her istekte (request) baştan sona yeniden gönderilmesiyle (Context Window) sağlanır. Projenin 500 satırlık bir dosyasını AI’a verip 10 soru sorduğunuzda, o 500 satırı modele 10 defa baştan okutmuş ve parasını 10 defa ödemiş olursunuz.

[Görsel: Cursor veya VS Code arayüzünde context token sayacının soru sordukça katlanarak arttığını gösteren panel ekranı]

Context Penceresi Tuzağı ve .cursorignore Kurtarıcısı

Cursor, Windsurf ya da Copilot Workspace gibi modern AI kodlama araçları projenizi “indeksler”. Siz bir soru sorduğunuzda arkada akıllı bir vektör araması yapar ve alakalı gördüğü dosyaları context’e (bağlama) ekler. Harika bir özellik, değil mi? Teoride evet, pratikte ise tam bir bütçe canavarı.

Çünkü araç çoğu zaman test log’larını, build çıktılarını, package-lock.json gibi binlerce satırlık dosyaları da bağlama dahil eder. Bunu engellemenin en temiz yolu, projenizin kök dizinine bir .cursorignore (veya kullandığınız araca özel yoksayma dosyası) eklemektir:

# Gereksiz dosyaları AI context'inden uzak tutun
dist/
build/
node_modules/
*.log
package-lock.json
pnpm-lock.yaml
coverage/

Sadece şu küçük dosya bile tek bir sorguda bağlama giden token sayısını %40 ila %60 oranında azaltabiliyor. Denediğimiz bir projede, sırf kilitli bağımlılık dosyalarının context dışı bırakılmasıyla 200k context limitine dayanan sorguların 30k seviyesine gerilediğini bizzat ölçtük.

Prompt Engineering ile Akıllı Token Diyeti

Yapay zekaya soru sorarken edebiyat yapmayı bırakmamız gerekiyor. Doğru prompt engineering teknikleri yalnızca daha iyi kod üretmekle kalmaz, gidiş-dönüş maliyetini de doğrudan kısar.

1. “Bütün Dosyayı Yeniden Yazma” Kuralı

LLM faturalarında en pahalı kısım girdi (input) değil, çıktı (output) token’larıdır. OpenAI ve Anthropic modellerinde çıktı token’ları genellikle girdiden 3 ila 5 kat daha pahalıdır. Bir fonksiyonda hata ayıklarken modele “Bunu düzelt” derseniz, size 400 satırlık dosyanın tamamını tekrar yazar. Bunun yerine şunu deneyin:

“Sadece değişen fonksiyonu ver, dosyanın tamamını yazdırma.” veya “Yalnızca Git diff formatında göster.”

Bu ufak dokunuş, tek bir yanıtta 2000 output token tasarrufu demektir.

2. Doğrudan Referans Verme (@ Dosya Adı)

Aracın tüm codebase üzerinde körlemesine arama yapmasına izin vermek yerine, ilgili dosyayı doğrudan işaret edin. Cursor veya modern eklentilerde @UserAuth.ts şeklinde hedef göstermek, arka plandaki arama token’larını sıfıra indirir.

[Görsel: İyi optimize edilmiş bir prompt ile savruk bir prompt’un harcadığı token miktarlarını yan yana gösteren karşılaştırma grafiği]

Fiyat Tablosu: Hangi Model Ne Kadar Yakıyor?

Piyasadaki popüler modellerin maliyet profilleri ciddi şekilde farklılaşıyor. 2025 başı itibarıyla kabaca tablo şu şekilde:

Model Girdi (1M Token) Çıktı (1M Token) Öne Çıkan Özellik
Claude 3.5 Sonnet $3.00 $15.00 Kodlamada endüstri standardı, yüksek kavrayış
GPT-4o $2.50 $10.00 Hızlı ve dengeli performans
DeepSeek V3 / R1 ~$0.14 – $0.55 ~$0.28 – $2.19 Fiyat/performans canavarı, açık ağırlıklı
Yerel Model (Llama 3, Ollama) $0.00 $0.00 Kendi donanımınız (Sıfır bulut maliyeti)

Agresif Token Tasarrufunun Artıları ve Eksileri

Her şeyi aşırı kısmak da her zaman en iyi çözüm olmayabilir. Dengeyi iyi kurmak şart.

Avantajlar (Artılar) Dezavantajlar (Eksiler)
Aylık API faturalarında %50’ye varan düşüş Model bazen eksik context nedeniyle “halüsinasyon” görebilir
Daha hızlı yanıt süreleri (Latency düşer) Geliştiricinin prompt yazarken daha dikkatli düşünmesi gerekir
Gürültüden arınmış, net ve nokta atışı yanıtlar Büyük çaplı mimari refactor işlerinde parça parça ilerlemek zorlaşabilir

Cüzdan Dostu Alternatifler: Ne Yapmalı?

Eğer kurumsal bir bütçeniz yoksa ve kendi cebinizden ödüyorsanız izleyebileceğiniz üç somut yol var:

  1. Prompt Caching Kullanın: Anthropic ve OpenAI’ın sunduğu “Prompt Caching” özelliğini destekleyen eklentileri tercih edin. Proje bağlamı önbelleğe alındığında, tekrarlayan girdilerde %90’a varan indirim sağlanıyor.
  2. Continue.dev Eklentisine Geçin: VS Code için tamamen açık kaynaklı ve ücretsiz olan Continue.dev eklentisini kurup, arka plana DeepSeek API’sini bağlayabilirsiniz. Claude kalitesine çok yakın kodlamayı neredeyse onda biri fiyatına getirirsiniz.
  3. Lokal Modellere Şans Verin: Bilgisayarınızda güçlü bir Apple Silicon (M serisi) işlemci veya en az 16GB VRAM’li bir Nvidia kart varsa, Ollama üzerinden Qwen 2.5 Coder çalıştırın. Günlük ufak işler, test yazımları ve regex açıklamaları için buluta tek kuruş ödemenize gerek yok.

Sonuç: Kontrolü Modele Bırakmayın

Yapay zeka araçları inanılmaz bir kaldıraç gücü sunuyor, ancak onları “nasılsa otomatik hallediyor” diyerek tamamen serbest bırakmak ay sonunda tatsız sürprizler doğurabiliyor. Context dosyalarınızı temiz tutmak, gereksiz log ve kütüphaneleri dışlamak ve yanıtları diff formatında istemek gibi basit alışkanlıklar, geliştirme deneyiminizden ödün vermeden faturalarınızı kontrol altında tutmanızı sağlar.

Category: Genel | LEAVE A COMMENT
Haziran 8 2026

Claude ile Kod Yazmak: Prompt’tan Çalışan Uygulamaya

Yazılım dünyası garip ve bir o kadar da heyecan verici bir yere doğru evriliyor. Eskiden saatlerce Stack Overflow forumlarında hata kodu ararken, bugün yapay zekayla (ai) kahve eşliğinde sohbet ederek kod yazıyoruz. Peki, Anthropic firmasının göz bebeği olan claude gibi modern bir llm (büyük dil modeli), gerçekten bizim yerimize hatasız kodlama yapabilir mi? Yoksa her şey sadece süslü bir prompt engineering pazarlamasından mı ibaret? Bu yazıda büyük vaatleri bir kenara bırakıp, Claude’u masaya yatırıyor ve sıfırdan çalışan bir uygulamayı nasıl ayağa kaldıracağımızı adım adım deniyoruz.

Neden Claude? (Ve Neden Şimdi?)

Piyasada GPT-4o, Gemini ve Llama gibi devasa rakipler varken neden Claude? Özellikle yazılımcılar arasında Claude 3.5 Sonnet modelinin bu kadar popüler olmasının arkasında iki temel neden var: Bağlam yönetimi (Context Window) ve mantıksal akıl yürütme yeteneği.

Bağlam penceresi, bir modelin tek seferde ne kadar bilgiyi aklında tutabildiğini belirler. Claude, kod blokları arasındaki ilişkileri ve projenin genel yapısını rakiplerine göre çok daha iyi kavrıyor. Kodu sadece “tamamlamıyor”, projenin mimarisini anlayarak mantıklı öneriler sunuyor.

Sistem Promptu ve Context Yönetimi: Claude’a “Kim Olduğunu” Söyleyin

Doğrudan “Bana bir yapılacaklar listesi uygulaması yaz” derseniz, Claude size ortalama, jenerik ve muhtemelen hatalarla dolu bir kod sunacaktır. İyi bir çıktı almanın sırrı, ona doğru bir rol (System Prompt) vermektir.

Claude API kullanırken ya da arayüz üzerinden çalışırken şu tarz bir sistem tanımı yapmak işleri tamamen değiştirir:

Sen kıdemli bir Python ve React geliştiricisisin. 
Yazdığın kodlar temiz, okunabilir (clean code prensiplerine uygun) ve optimize olmalı. 
Hataları açıklamadan önce doğrudan çalışan kodu ver, ardından kısa açıklamalar ekle.

Bu basit dokunuş, yapay zekanın “gevezelik etmesini” engeller ve doğrudan sonuca odaklanmasını sağlar.

Gerçek Bir Deney: Python ile CLI Harcama Takipçisi

Sözü daha fazla uzatmayalım ve Claude’un yeteneklerini test edelim. Amacımız, harcamalarımızı terminal üzerinden kaydeden, bunları bir JSON dosyasında tutan ve basit bir rapor sunan Python tabanlı bir uygulama yazmak.

Claude’a verdiğimiz ilk prompt şu oldu: “Bana kullanıcıdan harcama adı ve tutar alan, bunları local bir JSON dosyasında saklayan ve ‘rapor’ komutuyla toplam harcamayı gösteren basit bir Python CLI aracı yaz.”

Claude’un bize saniyeler içinde ürettiği kod tam olarak şuydu:

import json
import os

DB_FILE = "harcamalar.json"

def verileri_yukle():
    if not os.path.exists(DB_FILE):
        return []
    with open(DB_FILE, "r", encoding="utf-8") as file:
        return json.load(file)

def verileri_kaydet(veriler):
    with open(DB_FILE, "w", encoding="utf-8") as file:
        json.dump(veriler, file, indent=4, ensure_ascii=False)

def harcama_ekle(isim, miktar):
    veriler = verileri_yukle()
    veriler.append({"isim": isim, "miktar": float(miktar)})
    verileri_kaydet(veriler)
    print(f"✓ {isim} ({miktar} TL) başarıyla eklendi!")

def rapor_goster():
    veriler = verileri_yukle()
    toplam = sum(item["miktar"] for item in veriler)
    print("\n--- HARCAMA RAPORU ---")
    for item in veriler:
        print(f"- {item['isim']}: {item['miktar']} TL")
    print(f"----------------------\nToplam: {toplam} TL\n")

# Basit bir döngü ile CLI yönetimi
if __name__ == "__main__":
    while True:
        islem = input("1. Harcama Ekle\n2. Rapor Göster\n3. Çıkış\nSeçiminiz: ")
        if islem == "1":
            isim = input("Harcama kalemi: ")
            miktar = input("Tutar: ")
            try:
                harcama_ekle(isim, miktar)
            except ValueError:
                print("Lütfen geçerli bir sayı girin!")
        elif islem == "2":
            rapor_goster()
        elif islem == "3":
            break
        else:
            print("Geçersiz seçim!")

Kodu kopyalayıp terminalimizde çalıştırdık. Ve bilin bakalım ne oldu? Kod ilk seferde, hiçbir kütüphane çakışması veya yazım hatası olmadan çalıştı.

[Görsel: Python CLI uygulamasının terminalde sorunsuz çalışarak harcama verilerini JSON formatında kaydettiği anın ekran görüntüsü]

Ancak bu çok temel bir uygulamaydı. “Acaba veri doğrulama (validation) kısmında patlar mı?” diye düşünüp sayı yerine harf girmeyi denedik. Claude yazdığı try-except bloğu sayesinde bu hatayı da önceden öngörmüştü. İşte Claude’u rakiplerinden ayıran “detaycılık” tam olarak bu.

Claude ile Kod Yazmanın Artıları ve Eksileri

Birkaç haftalık yoğun kullanım testlerimizin ardından, bu süreci objektif bir şekilde değerlendirmek gerekiyor.

Artıları (+) Eksileri (-)
Prototip süresini %80 azaltır. Büyük projelerde bazen bağlamı kaybedip saçmalayabilir (halüsinasyon).
Hata kodlarını (Debugging) çok hızlı çözer. API kullanımı yoğun projelerde pahalı olabilir.
Bilmediğiniz dillerde hızlıca temel atmanızı sağlar. Yazılımcıyı tembelliğe alıştırıp öğrenme sürecini köreltebilir.

Cüzdanı Üzmeyelim: Claude Fiyatlandırması ve Ücretsiz Alternatifler

Claude’u kullanmanın birkaç yolu var. İhtiyacınıza ve bütçenize göre en uygun olanı seçebilirsiniz:

  • Claude.ai Web Arayüzü: Ücretsiz seçeneği var ancak günlük limitleri oldukça katı. Claude Pro ise aylık 20$.
  • Anthropic API: Kullandıkça öde (pay-as-you-go) modeli. Küçük projeler için oldukça ucuzdur; girdiğiniz ve aldığınız token miktarına göre ücretlendirilirsiniz.

Peki ya Ücretsiz Alternatifler?

Eğer cebinizden para çıksın istemiyorsanız, şu yolları izleyebilirsiniz:

  • Cursor: Yapay zeka destekli bu kod editörü, Claude 3.5 Sonnet’i belirli bir kota dahilinde ücretsiz denemenize izin verir.
  • Hugging Face / OpenRouter: Benzer yeteneklere sahip açık kaynaklı alternatif modelleri (örneğin Llama 3) tamamen ücretsiz olarak buralarda deneyebilirsiniz.
  • Ollama (Yerel Kullanım): Bilgisayarınızın donanımı güçlüyse, yerel olarak çalışan modellerle internet bağlantısı olmadan, tamamen ücretsiz ve sınırsız kodlama yapabilirsiniz.

Son Söz: Geliştirici Koltuğu Hâlâ Sizin

Yapay zeka araçları ne kadar gelişirse gelişsin, ortaya çıkan kodun kalitesini, güvenliğini ve mimarisini denetlemek hâlâ insanın sorumluluğunda. Claude harika bir yardımcı pilot (co-pilot) ancak uçağı uçuran kaptan pilot hâlâ sizsiniz. Prompt yazma yeteneğinizi geliştirerek, sıkıcı işleri ona devredebilir ve siz sadece uygulamanızın mantığına odaklanabilirsiniz.

Category: Genel | LEAVE A COMMENT
Aralık 20 2024

Prompt Engineering: ChatGPT’den En İyi Yanıtı Almanın Formülü

Yapay zeka hayatımıza girdiğinden beri hepimiz birer “yapay zeka fısıldayıcısı” olduk. Ancak chatgpt ekranının karşısına geçip “Bana bir diyet listesi yaz” veya “Şu e-postayı profesyonelce yanıtla” dediğimizde aldığımız yanıtlar genellikle can sıkıcı derecede genel ve ruhsuz oluyor. İşte tam bu noktada, ai dünyasından maksimum verimlilik elde etmemizi sağlayan sihirli değnek devreye giriyor: prompt engineering. Peki ama bu kavram sadece yapay zeka gurularına özel bir teknik mi, yoksa günlük işlerimizi kolaylaştıracak pratik bir formülü var mı? Lafı uzatmadan, kendi deneyimlerimizle test ettiğimiz yöntemleri masaya yatıralım.

Neden Doğrudan Sormak Yetmiyor? (İşin Arkasındaki Mantık)

Bir llm (Büyük Dil Modeli), sizin ne düşündüğünüzü veya şirketinizin kültürünü tahmin edemez. O, özünde devasa bir “sonraki kelime tahmin motorudur”. Ona ne kadar çok bağlam (context) ve sınır verirseniz, olasılık havuzunu o kadar daraltır ve tam hedefi vuran bir yanıt üretir. Yani kötü yanıt aldığınızda suç yapay zekada değil, büyük ihtimalle ona verdiğiniz eksik talimatlardadır.

[Görsel: Sıradan ve yüzeysel bir prompt ile detaylı yapılandırılmış bir promptun ürettiği sonuçların yan yana karşılaştırması]

—

En Etkili 3 Prompt Engineering Tekniği ve Test Sonuçlarımız

1. Rol Atama (Role Prompting)

Yapay zekaya bir kimlik kazandırmak, alacağınız yanıtın tonunu ve derinliğini tamamen değiştirir. Sadece “Sosyal medya için başlık yaz” demek yerine, ona bir rol verin.

Denediğimiz Şablon:

"Sen 10 yıllık kıdemli bir dijital pazarlama uzmanısın. Hedef kitlen teknolojiye meraklı genç profesyoneller. Yeni bir üretkenlik uygulaması için merak uyandıran 3 farklı Instagram başlığı yaz."

Neden işe yarıyor?: Yapay zeka, “dijital pazarlama uzmanı” rolünü üstlendiğinde sıradan kelimeleri eliyor ve hedef kitleye uygun, sektörel jargona hakim bir dil kullanıyor.

2. Few-Shot Prompting (Örnekleme)

Modelin nasıl bir çıktı üretmesini istediğinizi anlatmakta zorlanıyorsanız, ona birkaç örnek gösterin. Bu teknik, özellikle veri formatlama veya belirli bir üslubu yakalama konusunda hayat kurtarır.

Denediğimiz Şablon:

Müşteri yorumlarını analiz etmeni istiyorum.
Örnek 1: "Kargo çok hızlı geldi, ürün harika." -> [Durum: Olumlu, Kategori: Lojistik]
Örnek 2: "Arayüzü hiç beğenmedim, çok karışık." -> [Durum: Olumsuz, Kategori: UX/Tasarım]
Şimdi bu yorumu analiz et: "Ödeme adımında sürekli hata alıyorum, kartımı kabul etmedi." ->

Neden işe yarıyor?: Yapay zeka kuralları tahmin etmek yerine verdiğiniz şablonu doğrudan kopyalar. Sonuç sıfır hata!

3. Chain-of-Thought (Düşünce Zinciri)

Eğer mantık yürütme, matematik veya karmaşık kodlama gerektiren bir iş yapıyorsanız, yapay zekaya doğrudan cevabı sormayın. Ondan “adım adım düşünmesini” isteyin.

Denediğimiz Şablon:

"Şirketimiz bu ay %15 büyüdü. Geçen ayki gelirimiz 120.000 TL ise, bu ayki net kârımızı bulmak için önce yeni geliri hesapla, ardından %20 vergi oranını düşerek adım adım açıkla."

Neden işe yarıyor?: LLM’ler işlem sırasını atladıklarında saçmalayabilirler (buna halüsinasyon diyoruz). Adım adım gitmesini söylediğinizde, kendi yaptığı hataları işlem sırasında fark edip düzeltir.

—

Hangi Görev İçin Hangi Modeli Seçmeli?

Her iş için aynı modeli kullanmak, her çiviyi aynı çekiçle çakmaya çalışmaya benzer. İşte sahada yaptığımız testlere göre en iyi modeller:

  • Yaratıcı Yazarlık ve Metin Tonlama: Claude 3.5 Sonnet. Türkçe dil hakimiyeti ve insan benzeri yazım tonu konusunda şu an ChatGPT’nin bir adım önünde.
  • Hızlı Bilgi Arama ve Kod Yazma: GPT-4o. Hızı ve mantıksal problem çözme yeteneği inanılmaz düzeyde.
  • Büyük Doküman Analizi: Google Gemini 1.5 Pro. Dev devasa bağlam penceresi sayesinde yüzlerce sayfalık PDF’leri tek seferde yutup analiz edebiliyor.

—

Prompt Engineering Artı ve Eksi Analizi

Avantajları (Artılar) Zorlukları (Eksiler)
Yapay zekadan alınan yanıtların kalitesini %80’e kadar artırır. Doğru promptu yazmak ilk başta zaman alır ve deneme-yanılma gerektirir.
Tekrar eden işleri (raporlama, formatlama) tamamen otomatize eder. Modeller güncellendikçe bazen aynı prompt farklı sonuçlar verebilir.
Halüsinasyon (uydurma bilgi) oranını minimuma indirir. Uzun promptlar, API kullanımında daha fazla token tüketimi (maliyet) demektir.

—

Maliyetler ve Ücretsiz Alternatifler

Prompt engineering yeteneğinizi geliştirmek tamamen ücretsizdir. Bu bir yazılım değil, bir düşünme biçimidir. Ancak bu teknikleri uygulayabileceğiniz platformların maliyet durumları şöyle:

  • Ücretli Seçenekler: ChatGPT Plus (aylık 20$) veya Claude Pro (aylık 20$). En gelişmiş modellere (GPT-4o, Claude 3.5 Sonnet) sınırsız erişim sağlarlar.
  • Ücretsiz Alternatifler:
    • ChatGPT Free: GPT-4o mini modelini ücretsiz sunar. Günlük basit işler ve prompt denemeleri için fazlasıyla yeterli.
    • Microsoft Copilot: Arka planda ücretsiz GPT-4 kullanır ve güncel internet erişimi vardır.
    • Hugging Face & LM Studio: Bilgisayarınızın gücü yetiyorsa, Llama 3 gibi açık kaynaklı modelleri tamamen ücretsiz ve internetsiz olarak lokalde çalıştırabilirsiniz.

Son Söz: Denemekten Korkmayın

Prompt engineering gözünüzü korkutmasın. Yapay zeka ile konuşurken karşınızda stajyer bir üniversite öğrencisi varmış gibi hayal edin. Ona görevi ne kadar net anlatır, ne kadar çok örnek gösterir ve sınırları ne kadar iyi çizerseniz, akşam masanıza gelecek olan rapor o kadar kusursuz olur. Şimdi ChatGPT ekranını açın ve ilk rol tanımlamanızı yaparak farkı kendi gözlerinizle görün!

Category: Genel | LEAVE A COMMENT