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