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
Aralık 20 2024

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

Yapay zeka (AI) dünyasında son dönemde en çok duyduğumuz kavramlardan biri şüphesiz prompt engineering (istemi mühendisliği). Birçoğumuz ChatGPT ya da diğer LLM (büyük dil modeli) araçlarının karşısına geçip sanki Google’da arama yaparmış gibi tek cümlelik sorular soruyoruz. Sonuç? Genellikle ruhsuz, ansiklopedik ve tam olarak işimize yaramayan yanıtlar. Peki, bu araçlardan maksimum verimlilik elde etmek gerçekten mümkün mü? Evet, ama bunun yolu yapay zekaya nasıl hitap edeceğimizi bilmekten geçiyor. Bu yazıda, “goygoy” yapmadan, bizzat test ettiğim ve çalışan pratik formülleri paylaşıyorum.

Prompt Engineering Nedir ve Neden Önemlidir?

Kısaca açıklayalım: Prompt engineering, yapay zekaya neyi, nasıl yapacağını doğru kelimelerle anlatma sanatıdır. LLM’ler (Large Language Models) aslında birer sihirbaz değil, gelişmiş birer kelime tahmin motorudur. Siz bir kelime yazarsınız, o da arkasından gelebilecek en mantıklı kelimeyi matematiksel olarak hesaplar.

Eğer yapay zekaya “Bana bir e-posta yaz” derseniz, internetteki milyonlarca ortalama e-postadan bir karma sunar. Ama ona bağlam, rol ve format verirseniz, tam olarak sizin kaleminizden çıkmış gibi duran bir metin elde edersiniz. Yani mesele “akıllıca sormak”.

Sihirli Formüller: En İyi Teknikleri Test Ediyoruz

Lafı uzatmayalım ve doğrudan test edip onayladığım, günlük işlerinizi kolaylaştıracak üç temel tekniğe bakalım.

1. Rol Atama (Persona Prompting)

Yapay zekanın en sevdiği şey bir role bürünmektir. Ona kim olduğunu söylemezseniz, her konuda yarım yamalak fikri olan bir lise öğrencisi gibi davranır. Ona bir uzmanlık yükleyin.

Kötü Prompt: “Yeni mobil uygulamam için pazarlama fikirleri ver.”

İyi Prompt:

Sen, bütçesi kısıtlı startup'lar konusunda uzmanlaşmış, 10 yıllık kıdemli bir büyüme pazarlamacısı (growth marketer) gibisin. 
Senden yeni geliştirdiğimiz meditasyon uygulaması için 3 adet yaratıcı ve sıfır bütçeli büyüme stratejisi üretmeni istiyorum. 
Format: Başlık, Uygulama Adımları ve Beklenen Sonuç şeklinde olsun.

Bu şekilde sorduğunuzda ChatGPT, genel pazarlama klişelerini bir kenara bırakıp doğrudan hedef odaklı gerilla pazarlama taktiklerine odaklanacaktır.

2. Örneklerle Eğitme (Few-Shot Prompting)

Yapay zekanın sizin tarzınızı anlamasını istiyorsanız, ona “ne istediğinizi” tarif etmek yerine “nasıl yapıldığını” gösterin. Buna literatürde Few-Shot Prompting denir. Hiç örnek vermezseniz buna da Zero-Shot deniyor ki, genellikle hüsranla sonuçlanır.

Örnek Prompt Şablonu:

Girdi: Kitap okuma alışkanlığı kazanmak.
Çıktı: Sayfalar arasında kaybolmak, her gün kendinize yapacağınız en entelektüel yatırımdır.

Girdi: Erken uyanmak.
Çıktı: Güneşten önce uyananlar, günün ritmini kendi belirler.

Girdi: Sağlıklı beslenmek.
Çıktı: [Lütfen bu formata göre doldur]

Bu yöntemi kullandığınızda, modelin çıktıyı tamamen sizin istediğiniz edebi tonda yazdığını göreceksiniz.

[Görsel: Few-shot prompting tekniği kullanılarak elde edilen özel tonlama ve standart bir prompt ile alınan sıradan yanıtın yan yana ekran görüntüsü karşılaştırması]

3. Adım Adım Düşündürme (Chain-of-Thought)

Özellikle matematik, mantık veya karmaşık analiz gerektiren konularda yapay zeka aceleci davranıp saçmalayabilir (buna halisünasyon diyoruz). Onu yavaşlatın. Promptun sonuna ekleyeceğiniz sihirli bir cümle her şeyi değiştirir: “Adım adım düşünelim.”

Bu cümle, LLM’nin cevabı üretirken ara adımları da hesaplamasını sağlar ve hata payını neredeyse sıfıra indirir.

Hangi Görev İçin Hangi LLM Modelini Seçmeli?

Her iş için aynı aracı kullanmak, her vidayı çekiçle çakmaya çalışmaya benzer. Güncel modellerin güçlü oldukları alanlar farklıdır:

  • Yaratıcı Yazarlık ve Türkçe Esneklik: Claude 3.5 Sonnet şu an Türkçe nüansları anlama ve doğal yazma konusunda ChatGPT’den bir tık önde.
  • Kodlama ve Teknik Analiz: GPT-4o ve Claude 3.5 Sonnet başa baş yarışıyor ancak GPT-4o’nun veri analiz aracı (Advanced Data Analysis) hala rakipsiz.
  • Hızlı ve Güncel Bilgi Tarama: Perplexity AI veya Google Gemini, güncel web aramaları konusunda standart ChatGPT’den daha verimli sonuçlar sunuyor.

Prompt Tekniklerinin Karşılaştırması

Aşağıdaki tabloda, denediğimiz tekniklerin pratik hayattaki artı ve eksilerini derledim:

Teknik En İyi Kullanım Alanı Artıları Eksileri
Rol Atama İçerik üretimi, mentorluk Tonu ve bakış açısını anında özelleştirir. Bazen çok klişe “uzman” dili kullanabilir.
Few-Shot (Örnekleme) Veri formatlama, marka dili oluşturma Tam olarak istediğiniz şablonu ve üslubu verir. Prompt uzunluğunu (token tüketimini) artırır.
Chain-of-Thought Mantık, matematik, kod analizi Hataları ve mantık dışı uydurmaları engeller. Yapay zekanın daha uzun ve bazen sıkıcı yazmasına neden olur.

Fiyatlar ve Ücretsiz Alternatifler

Bu işi profesyonel boyuta taşımak istiyorsanız cebinizden biraz para çıkması gerekiyor. Ancak ücretsiz yollar da yok değil.

  • Ücretli Seçenekler: ChatGPT Plus ve Claude Pro aylık $20 + KDV civarında bir abonelik ücretine sahip. Eğer günde 2-3 saatten fazla yapay zekayla çalışıyorsanız bu parayı kesinlikle hak ediyorlar.
  • Ücretsiz Alternatifler:
    • ChatGPT Free: GPT-4o mini modelini ücretsiz sunuyor, günlük basit işler için fazlasıyla yeterli.
    • Microsoft Copilot: Arka planda ücretsiz olarak GPT-4 modelini kullanıyor ve internet erişimi var.
    • Hugging Face Chat: Llama 3 gibi en güçlü açık kaynaklı (open-source) modelleri tamamen ücretsiz deneyebileceğiniz harika bir platform.

Son Söz: Denemekten Korkmayın

Prompt engineering bir programlama dili değil, bir uzlaşma sanatıdır. Karşınızda dünyanın en geniş kütüphanesine sahip ama ne yapacağını bilemeyen bir stajyer olduğunu hayal edin. Ona ne kadar net yönergeler verirseniz, o kadar iyi bir asistan kazanmış olursunuz. Klavyenizin başına geçin, yukarıdaki şablonları kopyalayıp kendi işinize uyarlayın ve aradaki farkı kendiniz görün!

Category: Genel | LEAVE A COMMENT
Kasım 29 2024

Cursor vs GitHub Copilot: Hangisi Gerçekten İşe Yarıyor?

Kod yazarken yanınızda bir yapay zeka (ai) asistanı olması artık bir lüks değil, modern yazılım geliştiriciler için standart bir ihtiyaç haline geldi. Piyasada developer tools dünyasını kasıp kavuran iki büyük isim var: Yılların eskitemediği, VS Code’un sadık dostu GitHub copilot ve son zamanlarda adını sıkça duyduğumuz, adeta bir çılgınlık haline gelen cursor. Peki, bu iki devden hangisi gerçekten işe yarıyor? Sizin için süslü pazarlama cümlelerini bir kenara bıraktık, kolları sıvadık ve gerçek bir projede bu iki aracı test ettik. İşte modern kodlama dünyasının yeni gladyatörleri!

Yarışmacıları Tanıyalım: Copilot Amca ve Yeni Yetme Cursor

Karşılaştırmaya geçmeden önce, bu iki aracın felsefesini anlamak gerekiyor. Çünkü ikisi de temelde kod yazmanıza yardım etse de, çalışma mantıkları oldukça farklı.

GitHub Copilot, Microsoft destekli bir VS Code eklentisidir. Mevcut editörünüze kurulur ve siz kod yazarken bir sonraki satırı tahmin etmeye çalışır. “Tab tuşuna bas ve devam et” mantığıyla çalışır.

Cursor ise bağımsız bir kod editörüdür. VS Code’un açık kaynaklı altyapısı (VSCodium) üzerine inşa edilmiştir. Yani Cursor’ı indirdiğinizde aslında yeni bir VS Code indirmiş olursunuz (tüm eklentileriniz ve ayarlarınız tek tıkla aktarılır). Ancak en büyük farkı, yapay zekanın eklenti olarak değil, editörün tam kalbine, çekirdeğine entegre edilmiş olmasıdır.

Gerçek Bir Senaryo: Savaş Alanı

Sözü uzatmayalım ve doğrudan pratiğe geçelim. Test etmek için basit ama gerçekçi bir senaryo seçtik: Bir React projesinde, harici bir API’den hava durumu verisi çeken, bu verileri filtreleyen ve harita üzerinde gösteren bir dashboard bileşeni yazmak.

GitHub Copilot Nasıl Performans Gösterdi?

Copilot, kod tamamlama (autocomplete) konusunda hala bir numara. Siz daha const fetchWeatherData = yazarken, arka plandaki bağlamı (context) sezip fonksiyonun devamını şak diye önünüze getiriyor. Hızı muazzam. Ancak iş karmaşıklaşınca, örneğin “API’den dönen veriyi formatla ve bunu haritadaki marker yapısına uygun hale getir” dediğinizde tıkanmaya başlıyor. Satır satır onaylayarak gitmeniz gerekiyor. En büyük eksisi ise projenin genel yapısını tam olarak görememesi. Bir dosyada yaptığınız değişiklik, diğer dosyadaki bir fonksiyonu bozduğunda bunu otomatik olarak fark edip düzeltemiyor.

Cursor Nasıl Performans Gösterdi?

Cursor burada tamamen farklı bir lige geçiyor. Cursor’ın içinde yer alan “Composer” (Cmd+I) özelliğini açtık ve şu promptu girdik: “@components klasöründeki WeatherMap.jsx bileşenini güncelle, gelen verideki koordinatları al ve haritada işaretle. Ayrıca App.jsx’teki state yapısını buna uygun hale getir.”

Cursor, projedeki birden fazla dosyayı aynı anda okudu, aralarındaki ilişkiyi anladı ve tek bir hamlede 3 farklı dosyayı hatasız bir şekilde güncelledi. Kullandığı Claude 3.5 Sonnet modeli sayesinde, kodun mantıksal kalitesi Copilot’a kıyasla çok daha yüksek ve insansıydı.

[Görsel: Cursor Composer ekranında tek bir prompt ile birden fazla dosyanın (App.jsx ve WeatherMap.jsx) aynı anda canlı olarak düzenlenme anı]

Detaylı Karşılaştırma: Hız, Doğruluk ve Gizlilik

Yapay zeka araçlarında “hız” ve “doğruluk” genellikle ters orantılıdır. Hızlı olan model bazen saçmalar, doğru olan model ise sizi biraz bekletir. İşte bu iki aracın farklı disiplinlerdeki performansı:

  • Bağlam (Context) Penceresi: Cursor, projenizin tamamını indeksler. Klasör yapısını, kullandığınız kütüphaneleri bilir. Copilot ise genellikle sadece açık olan sekmelerinize ve imlecinizin bulunduğu yere odaklanır.
  • Hız: Copilot, satır içi kod tamamlamada (inline autocomplete) milisaniyeler içinde yanıt verir. Cursor da oldukça hızlıdır ancak büyük modelleri (GPT-4o veya Claude 3.5) kullandığı için çoklu dosya işlemlerinde birkaç saniye bekletebilir.
  • Gizlilik (Privacy): Kurumsal projelerde çalışanlar için bu konu hayati önem taşır. Copilot, kurumsal üyeliklerde verilerinizi eğitime dahil etmeyeceğini garanti eder. Cursor da benzer şekilde “Privacy Mode” sunar ve kodunuzun sunucularında saklanmadığını belirtir. Ancak yine de lokalde çalışan alternatifler kadar güvenli hissettirmeyebilir.

Hangisinin Hangi Özelliği İyi? (Artı/Eksi Tablosu)

Özellik GitHub Copilot Cursor
Satır İçi Kod Tamamlama Harika (Çok hızlı) İyi (Bazen hantal)
Çoklu Dosya Düzenleme Zayıf (Dosya dosya gezmeniz gerekir) Mükemmel (Composer özelliği ile tek tıkla)
Kullanılan Modeller Özel OpenAI modelleri Claude 3.5 Sonnet, GPT-4o, Llama 3 vb. (Seçilebilir)
Proje Bağlamı (RAG) Sınırlı Çok güçlü (Tüm projeyi anlar)
Kullanım Kolaylığı VS Code içinde doğrudan çalışır Yeni bir editöre geçiş gerektirir

Cüzdan Düşmanları: Fiyatlar ve Ücretsiz Alternatifler

Gelelim işin en can alıcı noktasına: Bu oyuncakların maliyeti ne?

GitHub Copilot: Bireysel kullanım için aylık 10$ veya yıllık 100$. Öğrenciler ve popüler açık kaynaklı projelerin yöneticileri için tamamen ücretsiz.

Cursor: Aylık 50 hızlı “premium” istek sunan ücretsiz bir sürümü var. Ancak aktif olarak kullanacaksanız Pro planı aylık 20$. Bu planda ayda 500 hızlı istek hakkınız oluyor, sonrasında istekleriniz biraz daha yavaş işleniyor.

Ücretsiz ve Lokal Alternatifler Var mı?

Eğer bu araçlara bütçe ayırmak istemiyorsanız veya kodunuzun internete çıkmasını istemiyorsanız harika bir alternatif kombinasyon mevcut:

VS Code + Continue Eklentisi + Ollama: Bilgisayarınıza Ollama kurarak Llama 3 veya Mistral gibi modelleri lokalinizde çalıştırabilir, VS Code içindeki “Continue” eklentisiyle bu modellere tamamen ücretsiz ve internet bağlantısı olmadan bağlanabilirsiniz. Elbette performans bir Claude 3.5 Sonnet kadar keskin olmayacaktır ancak gizlilik ve maliyet açısından kusursuzdur.

Son Karar: Hangisini Seçmelisiniz?

Peki günün sonunda cüzdanımızı kime teslim edeceğiz?

Eğer yaptığınız iş genellikle bilinen kalıpları tekrarlamaksa, hızlıca fonksiyonlar yazıp geçmek istiyorsanız ve halihazırda kurulu olan VS Code düzeninizi bozmak istemiyorsanız, aylık 10$’lık fiyatıyla GitHub Copilot hala mantıklı ve güvenli bir liman.

Ancak sıfırdan büyük projeler geliştiriyorsanız, karmaşık mimariler arasında kayboluyorsanız ve yapay zekanın sadece kod yazmasını değil, projenin tamamını refactor etmesini (yeniden düzenlemesini) istiyorsanız, aylık 20$’ı gözden çıkarıp kesinlikle Cursor kullanmalısınız. Cursor, şu an piyasada yazılım geliştirme deneyimini gerçekten dönüştüren nadir araçlardan biri.

Category: Genel | LEAVE A COMMENT
Kasım 29 2024

Cursor vs GitHub Copilot: Hangisi Gerçekten İşe Yarıyor?

Yazılım dünyası son bir yıldır adeta bir “yapay zeka savaşı” alanı haline geldi. Eskiden sadece copilot kullanarak “Acaba yazdığım fonksiyonu tamamlar mı?” diye beklerken, bugün karşımızda kod tabanımızı tamamen teslim edebileceğimiz cursor gibi devrimsel ai ve developer tools alternatifleri var. Peki ama hangisi gerçekten işe yarıyor? Bu yazıda, her iki aracı da gerçek projelerde terleterek test ettim ve sonuçları sizin için raporluyorum. Yapay zeka ile kodlama deneyimini baştan tanımlayan bu iki devin kapışmasına yakından bakalım.

İki Dev Karşı Karşıya: Nedir Bu Araçlar?

Test detaylarına geçmeden önce, tarafları doğru tanımlayalım. Çünkü yapısal olarak birbirlerinden oldukça farklılar.

  • GitHub Copilot: Microsoft ve OpenAI ortaklığının bir meyvesi. VS Code, JetBrains gibi popüler editörlerin içine bir eklenti (extension) olarak kuruluyor. Görevi, siz kod yazarken bir sonraki satırı tahmin etmek veya yan paneldeki chat üzerinden size yardımcı olmak.
  • Cursor: Doğrudan VS Code’un açık kaynak kodlu altyapısı (fork) üzerine inşa edilmiş, başlı başına müstakil bir kod editörü. Yani VS Code’dan vazgeçip Cursor’ı kuruyorsunuz (tüm eklentileriniz tek tıkla aynen aktarılıyor). AI, bu editörün kalbine gömülü olarak geliyor.

Gerçek Bir Senaryo: FastAPI ve React Projesinde Test Ettik

Bu iki aracı sadece teorik olarak karşılaştırmadık. Gerçek bir Python (FastAPI) backend ve React frontend barındıran mini bir e-ticaret projesinde test ettik. Görevimiz basitti: Mevcut sisteme JWT tabanlı bir kullanıcı doğrulama (auth) sistemi eklemek ve bunu frontend ile bağlamak.

GitHub Copilot Deneyimi

Copilot, “ghost text” dediğimiz satır içi kod tamamlama konusunda hala çok hızlı. Ben daha def create_access_token yazarken, arka plandaki kütüphaneleri de hesaba katarak fonksiyonu neredeyse hatasız tamamladı. Ancak iş frontend tarafındaki dosyayı güncelleyip, backend ile entegre etmeye gelince koptu.

Copilot’a yan panelden “Auth akışını frontend’e bağla” dediğimde bana genel geçer bir kod verdi. Bu kodu alıp manuel olarak App.jsx dosyama kopyalamam, API endpoint’lerini kendi projeme göre elle düzenlemem gerekti. Yani Copilot iyi bir asistan, ancak işin ameleliğini hala siz yapıyorsunuz.

Cursor Deneyimi

Cursor ise bu senaryoda tamamen farklı bir ligde oynadığını kanıtladı. Editör içinde Cmd + I (veya Windows için Ctrl + I) tuşlarına basarak “Composer” modunu açtım. Projeyi bütünüyle analiz etmesi için @codebase komutunu ekledim ve şu prompt’u verdim:

Backend'deki auth sistemini kullanarak frontend tarafında login sayfasını oluştur ve Axios isteklerini buna göre güncelle.

Cursor, projedeki klasör yapısını taradı. FastAPI’deki endpoint’leri gördü, React tarafındaki router yapısını anladı ve benim için aynı anda hem Login.jsx dosyasını oluşturdu hem de api.js dosyasındaki yetkilendirme başlıklarını (headers) güncelledi. Değişiklikleri tek tek onaylamamı (Accept/Reject) istedi ve sistem tek seferde çalıştı.

[Görsel: Cursor Composer arayüzünün birden fazla dosyayı aynı anda analiz edip düzenleme anı]

Bağlam (Context) Neden Bu Kadar Önemli?

Yapay zeka modellerinin en büyük zayıflığı “bağlam” yani projenizin bütününü görememeleridir. Copilot, genellikle sadece o an açık olan sekmedeki dosyayı veya son açtığınız birkaç dosyayı bağlam olarak kabul eder. Bu yüzden büyük projelerde sık sık “Bunu nerede tanımlamıştık?” sorusunu sorar.

Cursor ise arka planda tüm kod tabanınızı yerel olarak indeksler (vektör veri tabanı oluşturur). Siz @UserHelpers dediğinizde, o dosyanın nerede olduğunu bilir ve doğrudan o bağlamı yapay zekaya (örneğin Claude 3.5 Sonnet veya GPT-4o) gönderir. Sonuç? Çok daha az halüsinasyon gören, projenizin kurallarına uyan doğru kodlar.

Karşılaştırma Tablosu

İki aracın öne çıkan özelliklerini, yaptığımız testler doğrultusunda şu şekilde özetleyebiliriz:

Özellik GitHub Copilot Cursor
Arayüz Entegrasyonu Eklenti (Her editöre uyar) Müstakil Editör (VS Code Fork’u)
Çoklu Dosya Düzenleme Zayıf / Manuel kopyala-yapıştır Çok Başarılı (Composer Modu)
Kod Tabanı İndeksleme Sınırlı Tam ve Gelişmiş (@codebase)
Kullanılan Modeller Copilot özel modelleri Claude 3.5 Sonnet, GPT-4o, Llama vb. (Seçilebilir)
Gizlilik (Privacy Mode) Var (Kurumsal hesaplarda daha güçlü) Var (Kodları sunucuda saklamama seçeneği)

Fiyatlandırma ve Ücretsiz Alternatifler

Gelelim işin cüzdanı ilgilendiren kısmına. Harika özellikler bedava gelmiyor, ancak bütçenize göre harika alternatifler de mevcut.

  • GitHub Copilot Fiyatı: Bireysel kullanım için aylık 10$. Eğer öğrenciyseniz veya popüler bir açık kaynak kodlu projenin yöneticisiyseniz tamamen ücretsiz.
  • Cursor Fiyatı: Aylık 50 premium sorgu hakkı veren “Hobby” planı ücretsiz. Sınırsız yavaş sorgu ve aylık 500 hızlı premium model (Claude 3.5 Sonnet/GPT-4o) sorgusu sunan Pro planı ise aylık 20$.

Peki Ücretsiz Alternatif Yok mu?

Elbette var! Eğer hiçbir ücret ödemeden yapay zeka desteğiyle kod yazmak istiyorsanız şu kombinasyonu kullanabilirsiniz:

VS Code + Continue.dev (Eklenti) + Ollama (Lokal Model): Bilgisayarınıza Ollama kurup Llama 3 veya Qwen gibi açık kaynaklı modelleri indirebilir, VS Code üzerinde Continue.dev eklentisi aracılığıyla tamamen ücretsiz ve internete bile ihtiyaç duymadan kendi yapay zeka asistanınızı çalıştırabilirsiniz. Bir diğer güçlü ücretsiz alternatif ise bireysel geliştiriciler için harika bir otomatik tamamlama sunan Codeium eklentisidir.

Kertenkerem’in Kararı: Hangisini Seçmelisiniz?

Eğer “Ben editörümden vazgeçmem, JetBrains veya standart VS Code kullanırım. Sadece yazarken bana ufak tefek tamamlamalar yapsın, çok da projenin geneline karışmasın” diyorsanız, GitHub Copilot hala stabil ve güvenli bir liman.

Ancak, “Ben yapay zekayı bir asistan gibi değil, bana junior bir yazılımcı gibi eşlik etsin diye istiyorum. Büyük refactoring işlemlerini ona yaptırayım, hata ayıklarken tüm projeyi tarasın” diyorsanız, tereddüt etmeden Cursor‘a şans vermelisiniz. Claude 3.5 Sonnet modeliyle birleşen Cursor, şu an piyasadaki en yetenekli kodlama aracı konumunda.

Category: Genel | LEAVE A COMMENT
Kasım 22 2024

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

Yazılım dünyasında kartlar her gün yeniden dağıtılıyor. “Kod yazmayı bilmeden yazılımcı olmak” gibi büyük vaatleri ve pazarlama balonlarını bir kenara bırakalım; bugün asıl odaklanmamız gereken şey, ai ve llm araçlarını birer asistan olarak nasıl en yüksek verimle kullanabileceğimiz. Bu yazıda, özellikle kod yazma yetenekleriyle son dönemde tahtı sallayan claude modelini merceğe alıyoruz. Sadece teoride kalmayıp, doğru prompt engineering tekniklerini kullanarak sıfırdan çalışan bir uygulamayı nasıl ayağa kaldıracağımızı adım adım test edeceğiz. Hazırsanız, kahvenizi alın ve yeni nesil kodlama sürecini birlikte deneyimleyelim.

Neden Claude? Kodlamada Farkı Yaratan Ne?

Bugün piyasada onlarca farklı dil modeli var. Ancak yazılımcıların ve teknoloji meraklılarının büyük bir kısmı, kodlama söz konusu olduğunda rotayı Claude’a (özellikle Claude 3.5 Sonnet modeline) kırıyor. Bunun “çünkü çok zeki” gibi yüzeysel bir cevabı yok. Teknik olarak sebebi, Claude’un karmaşık mantık yürütme (reasoning) yeteneği ve “context window” yani bağlam penceresini yönetme biçimidir.

Claude, verdiğiniz kod blokları arasındaki ilişkileri çok daha iyi analiz ediyor. Bir fonksiyonda yaptığınız değişikliğin, projenin diğer ucundaki bir dosyayı nasıl etkileyeceğini sezebiliyor. Ayrıca, yazdığı kodlar genellikle “çalışmaya hazır” oluyor; yani sizi saatlerce hata (bug) temizlemekle uğraştırmıyor.

“Artifacts” Devrimi: Tarayıcıda Kod Koşturmak

Eğer Claude.ai arayüzünü kullandıysanız, “Artifacts” özelliğine denk gelmişsinizdir. Bu özellik, Claude’un yazdığı HTML, CSS, JavaScript veya React kodlarını ekranın sağ tarafında canlı bir önizleme olarak çalıştırmasını sağlıyor. Kodun çıktısını görmek için yerel bilgisayarınızda bir geliştirme ortamı kurmanıza gerek kalmıyor.

[Görsel: Claude Artifacts arayüzünde çalışan minimalist bir web uygulamasının canlı önizlemesi]

Adım Adım Deney: “TaskFlow” Pomodoro Uygulaması

Gelin, vaatleri test edelim. Claude’a sadece “Bana bir Pomodoro uygulaması yaz” demek yerine, sistem promptu ve detaylı isterlerle yaklaşacağız. Buna prompt engineering diyoruz; yani modele sınırlarını, rolünü ve uyması gereken kuralları net bir şekilde çiziyoruz.

1. Adım: Sistem Promptu ve İsterlerin Hazırlanması

Claude’a doğrudan konuya giren, rol tanımlayan ve yapısal sınırlar koyan şu promptu verdik:

Rol: Kıdemli Frontend Geliştiricisi
Teknolojiler: React, Tailwind CSS, Lucide Icons
Görev: Minimalist ve modern bir Pomodoro zamanlayıcı uygulaması geliştir.

Gereksinimler:
1. Zamanlayıcı: 25 dk odaklanma, 5 dk kısa mola, 15 dk uzun mola modları olsun.
2. Tur Sayacı: Kullanıcı kaç tur tamamladığını görebilsin.
3. Sesli Uyarı: Süre bittiğinde tarayıcı içi hafif bir ses çalsın.
4. Tasarım: Koyu tema (Dark Mode) uyumlu, göz yormayan pastel tonlar.
5. Kod yapısı tek bir dosya (Single File Component) halinde olsun ki Artifacts üzerinde hemen çalışsın.

2. Adım: Claude’un Tepkisi ve Kod Üretimi

Claude, bu promptu aldıktan sonra saniyeler içinde temiz bir React bileşeni oluşturdu. Tailwind sınıflarını son derece estetik kullandı. State yönetimini (zamanın durdurulması, sıfırlanması ve modlar arası geçişler) hatasız kurguladı.

İşte Claude’un ürettiği kod yapısının temel mantığı:

// Claude'un kurduğu state yapısından bir kesit
const [timeLeft, setTimeLeft] = useState(25 * 60);
const [isRunning, setIsRunning] = useState(false);
const [currentMode, setCurrentMode] = useState('focus'); // focus, shortBreak, longBreak

Peki sesli uyarı çalıştı mı? Evet, HTML5 Audio API’sini kullanarak tarayıcının yerel bip sesini üreten ufak bir fonksiyonu koda dahil etti. Harici bir .mp3 dosyasına bağımlı kalmadan bu sorunu çözmesi tam bir “kıdemli geliştirici” refleksiyidi.

3. Adım: Context Yönetimi (Uygulamayı Büyütmek)

Uygulamaya yeni bir özellik eklemek istedik: “Yapılacaklar Listesi (To-Do List)”. İşte burada bağlam (context) yönetimi devreye giriyor. Claude’a tüm kodu tekrar yazdırmak yerine, sadece ilgili değişikliği yapmasını istedik:

“Harika gidiyor. Şimdi bu Pomodoro’nun altına, o an odaklandığımız görevi seçebileceğimiz basit bir yapılacaklar listesi ekle. Mevcut state yapısını bozmadan entegre et.”

Claude, mevcut kodu hafızasında (context) tutarak, sadece gerekli eklemeleri yaptı ve güncellenmiş tek parça kodu bize sundu. Kod hiçbir aşamada kırılmadı.

Claude ile Kodlama: Artılar ve Eksiler

Yaptığımız yoğun testler sonucunda Claude’un kodlama asistanı olarak performansını şu şekilde özetleyebiliriz:

Özellik Artıları (+) Eksileri (-)
Kod Kalitesi Modern standartlara uygun, temiz ve okunabilir kod yazar. Gereksiz kütüphane bağımlılığı yaratmaz. Çok niş veya çok yeni güncellenmiş kütüphanelerde eski versiyon kodlar önerebilir.
Hata Çözme Hata çıktılarını (error log) verdiğinizde sorunu hızla tespit edip nokta atışı düzeltir. Bazen aynı hatayı düzeltirken kodun başka çalışan bir yerini bozabilir (Regresyon).
Arayüz ve Deneyim Artifacts sayesinde anında görsel çıktı verir, prototip süresini 10 kat hızlandırır. Ücretsiz plandaki katı kullanım limitleri kod yazarken yarı yolda bırakabilir.

Fiyatlandırma ve Ücretsiz Alternatifler

Claude’un bu yeteneklerinden faydalanmak için önünüzde birkaç seçenek var:

  • Claude.ai (Ücretsiz Web Sürümü): Günlük çok sıkı limitleri vardır. Birkaç büyük kod sorgusundan sonra “Limitiniz doldu, 5 saat sonra gelin” uyarısı alabilirsiniz. Prototip yapmak için yeterli ama profesyonel işler için zorlayıcıdır.
  • Claude Pro ($20/ay): Web arayüzünde 5 kat daha fazla mesaj hakkı sunar. Projeler (Projects) özelliğiyle kod tabanınızı sisteme yükleyip onun üzerinden konuşabilirsiniz.
  • Claude API (Kullandığın Kadar Öde): VS Code veya Cursor gibi editörlerin içine Claude’u entegre etmek istiyorsanız en mantıklı yoldur. Harcadığınız token başına ödeme yaparsınız.

Ücretsiz ve Güçlü Alternatifler Neler?

Eğer bütçeniz yoksa veya Claude limitlerine takılmak istemiyorsanız şu alternatifleri değerlendirebilirsiniz:

  • Google AI Studio (Gemini 1.5 Pro): Tamamen ücretsiz bir geliştirici paneli sunar. En büyük avantajı, 2 milyon token’lık devasa bağlam penceresidir. Tüm projenizin kodunu tek seferde içine atabilirsiniz.
  • DeepSeek Coder: Son dönemin yükselen yıldızı. Kodlama konusunda inanılmaz başarılı ve API fiyatları Claude’a kıyasla neredeyse bedava.
  • Ollama (Lokal/Çevrimdışı): Bilgisayarınızın donanımı güçlüyse, Qwen2.5-Coder gibi açık kaynaklı modelleri tamamen ücretsiz ve internet bağlantısı olmadan bilgisayarınızda koşturabilirsiniz.

Kertenkerem’in Son Sözü: Yazılımcılar İşsiz mi Kalıyor?

Günün sonunda gördük ki, Claude harika bir yardımcı pilot (co-pilot). Ancak uçağı tek başına uçurması henüz mümkün değil. Siz ne istediğinizi, mantık sınırları çerçevesinde ve doğru algoritmik düşünceyle belirtmediğiniz sürece Claude size sadece şık görünen ama işlevsiz kod yığınları verecektir.

Yani hayır, kodlama ölmedi. Sadece artık amelelik kısmını (syntax ezberlemek, parantez kapatmayı unutmak vb.) yapay zekaya devrediyoruz; biz ise sistem mimarisi tasarlamaya ve problem çözmeye odaklanıyoruz. Denemeye değer mi? Kesinlikle evet.

Category: Genel | LEAVE A COMMENT
Kasım 22 2024

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

Yazılım dünyasında kartlar yeniden dağıtılıyor desek abartmış olmayız. Özellikle claude gibi gelişmiş bir llm modelinin hayatımıza girmesiyle, kod yazma süreci artık sadece klavyeye basmaktan ibaret değil. Bugün, ai destekli kodlama dünyasının parlayan yıldızı Claude’u masaya yatırıyoruz. Sadece teoride değil; doğru prompt engineering teknikleriyle Claude’u nasıl gerçek bir kodlama canavarına dönüştürebileceğimizi, kendi deneyimlerimle adım adım anlatıyorum. Sözü uzatıp “yapay zeka dünyayı ele geçirecek” klişelerine girmeden, doğrudan işin mutfağına, kod editörünün başına geçelim.

Neden Herkes Claude Konuşuyor? (Bağlam ve Context Farkı)

Piyasada bu kadar çok yapay zeka modeli varken, yazılımcılar neden ısrarla Claude (özellikle Claude 3.5 Sonnet) kullanıyor? Bunun cevabı aslında çok basit: Yazma tarzı ve geniş context window (bağlam penceresi).

Diğer modeller bazen size “akıl vermeye” çalışıp kodun yarısını keserek “buraya eski kodlarınızı ekleyin” derken, Claude genellikle çalışan, derli toplu ve bütünsel kod blokları sunuyor. Ayrıca projenizin tüm dosyalarını Claude’a yüklediğinizde, dosyalar arasındaki ilişkileri anlama yeteneği rakiplerine göre oldukça üstün. Yani sadece tek bir fonksiyon yazmıyor; projenizin mimarisini anlayıp ona göre davranıyor.

[Görsel: Claude.ai arayüzünde çoklu kod dosyalarının projeye yüklenmesi ve analiz süreci]

Kod Yazdırırken Sihirli Değnek: System Prompt Tasarımı

Claude’a doğrudan “Bana bir To-Do uygulaması yaz” derseniz, size internetten bulduğu sıradan ve jenerik bir kod verir. İstediğimiz bu değil. Biz, projenin kurallarına uyan, temiz yazılmış ve hatasız bir kod istiyoruz. Bunun sırrı ise system prompt tasarımında gizli.

Claude’u bir yazılım mimarı gibi davranmaya zorlamalıyız. API üzerinden veya Claude Projects özelliğini kullanırken aşağıdaki gibi bir sistem yönergesi kullanmak, alacağınız cevabın kalitesini katlayacaktır:

"Sen kıdemli bir yazılım mimarısın. 
Sana verdiğim görevlerde sadece çalışan kodu değil, en iyi pratikleri (clean code) de gözetmelisin.
- Kod bloklarını açıklamadan önce kısa ve net bir özet geç.
- Yorum satırlarını sadece karmaşık mantıkları açıklamak için kullan.
- Kodda asla geçici çözümler (placeholder) bırakma, tüm fonksiyonları eksiksiz yaz."

Gerçek Bir Test: Telegram Kur Takip Botu Yapıyoruz

Lafı uzatmayalım ve Claude’un yeteneklerini test edelim. Senaryomuz şu: Döviz kurlarını takip eden ve belirli bir eşik aşıldığında bize Telegram üzerinden mesaj atan basit bir Python betiği yazacağız.

Claude’a projemizi şu prompt ile verdik:

“Python ile ücretsiz bir API kullanarak USD/TRY kurunu çeken ve kur 33’ü geçtiğinde bana Telegram’dan uyarı gönderen bir script yaz. Kod modüler olsun ve hata yönetimini (try-catch) içersin.”

Claude’un Verdiği Çıktı ve Analizimiz

Claude bize yaklaşık 40 saniye içinde çalışmaya hazır bir Python kodu sundu. İşin güzel tarafı, sadece kodu vermekle kalmadı; Telegram bot token’ını nasıl alacağımızı ve çevre değişkenlerini (.env) nasıl saklayacağımızı da adım adım anlattı. Kodun kalitesini incelediğimizde gereksiz kütüphaneler yerine standart requests kütüphanesini kullandığını gördük.

Kodu çalıştırmak için terminalimizde şu adımları izledik:

# Gerekli kütüphaneleri kuruyoruz
pip install requests python-dotenv

# Scripti çalıştırıyoruz
python kur_takip.py

Sonuç: Kod ilk seferde hatasız çalıştı. Claude, API bağlantısı koptuğunda programın çökmemesi için harika bir hata yönetim mekanizması kurmuştu. İşte “neden Claude?” sorusunun cevabı burada yatıyor: Kodun çalışabilirliği ve üretim kalitesi.

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

Her güzel şeyin bir kusuru vardır. Claude harika bir yardımcı pilot olsa da direksiyonu tamamen ona bırakmak kaza yapmanıza neden olabilir. İşte yaptığımız testler sonucu ortaya çıkan tablo:

Artıları (+) Eksileri (-)
Bütünsel ve çalışmaya hazır kod üretimi Bazen çok uzun kodlarda çıktı limitine takılabiliyor
Büyük projelerde harika dosya analizi Karmaşık matematiksel algoritmalarda mantık hatası yapabiliyor
Refactoring (kodu iyileştirme) yeteneği çok yüksek API kullanım ücretleri yoğun kullanımda cep yakabilir

Cüzdanı Düşünenler İçin: Fiyatlar ve Ücretsiz Alternatifler

Claude’u kullanmanın birkaç yolu var. İlki, web arayüzü olan Claude.ai. Burada ücretsiz bir katman var ancak günlük mesaj limitiniz oldukça sınırlı. Eğer yoğun kod yazıyorsanız, aylık 20 USD olan Claude Pro üyeliğini almanız neredeyse şart.

Eğer “Ben sadece kullandığım kadar ödemek istiyorum” derseniz, Claude API anahtarı alarak bunu VS Code eklentileri (örneğin Cline veya Continue) ile birleştirebilirsiniz. API kullanımında girdi ve çıktı token’ları üzerinden ücretlendirilirsiniz, bu da genellikle yoğun olmayan kullanıcılar için aylık 20 dolardan çok daha ucuza gelir.

Peki ya tamamen ücretsiz alternatifler?

  • DeepSeek-Coder: Son zamanlarda açık kaynak dünyasının gözbebeği. Kodlama konusunda Claude’a oldukça yakın performans gösteriyor ve birçok platformda ücretsiz denenebiliyor.
  • Google Gemini (Free tier): Google AI Studio üzerinden geniş bir ücretsiz kota sunuyor. Büyük kod dosyalarını analiz etmek için devasa bağlam penceresiyle harika bir alternatif.

Son Söz: Yazılımcıların Sonu mu Geliyor?

Kesinlikle hayır. Claude ile geçirdiğim saatler bana gösterdi ki, yapay zeka harika bir tuğla taşıyıcısı ama binanın mimarı hala sizsiniz. Ne isteyeceğinizi bilmediğiniz sürece, Claude size sadece çok hızlı üretilmiş çöpler verecektir. İşin sırrı doğru yönlendirmede, yani prompt engineering yeteneğinizde bitiyor. Claude’u korkulacak bir rakip değil, kahvesini eksik etmediğiniz çok hızlı bir stajyer gibi görün; o zaman yazılım geliştirmek çok daha keyifli bir hale gelecek.

Category: Genel | LEAVE A COMMENT