Yeni Yapay Zeka Çift Programcınıza Giriş
Yazılım geliştirmenin geleceğine hoş geldiniz. Yapay zeka artık sadece bilim kurgu kavramı değil; günlük kodlama iş akışlarımızı artırabilen ve hızlandırabilen pratik, güçlü bir araçtır. Bu devrimin ön saflarında, yardımcı, zararsız ve dürüst olacak şekilde tasarlanmış gelişmiş yapay zeka modelleri ailesi olan Anthropic'in Claude'u yer alıyor. Kodlamaya uygulandığında Claude, inanılmaz derecede yetenekli bir çift programcı, yorulmak bilmeyen bir asistan ve bilgili bir rehber haline gelir.
Bu kılavuz, basit "kod tamamlama"nın ötesine geçmeye ve yapay zeka destekli geliştirmeye daha işbirlikçi, ajan odaklı bir yaklaşım benimsemeye hazır geliştiriciler için tasarlanmıştır. Claude'a talimat vermenin, karmaşık görevler için belleğini yönetmenin ve claude-code
komut satırı aracının tüm gücünü kullanmanın en iyi uygulamalarını keşfedeceğiz.
Yeni bir kod tabanına daha hızlı adapte olmak, sıkıcı yeniden düzenlemeyi otomatikleştirmek veya karmaşık mimari çözümler üzerinde beyin fırtınası yapmak istiyorsanız, bu kılavuzdaki prensipler ve iş akışları Claude'u basit bir sohbet botundan geliştirme ekibinizin vazgeçilmez bir üyesine dönüştürmenize yardımcı olacaktır. Kapsamlı ve uygulanabilir bir eğitim sağlamak için Anthropic'in resmi belgelerinden ve mühendislik bloglarından elde edilen bilgileri sentezleyeceğiz.
Başlayalım.
Bölüm 1: Temeller: Claude ile Kodlama için Temel Prensipler
Geliştirici Ekibinizin birlikte çalışması için entegre, Hepsi Bir Arada bir platform mu istiyorsunuz maksimum üretkenlik?
Apidog tüm taleplerinizi karşılar ve Postman'ı çok daha uygun fiyata değiştirir!
Belirli araçlara ve iş akışlarına dalmadan önce, Claude gibi büyük bir dil modeliyle iletişim kurmanın temel prensiplerini anlamak çok önemlidir. Çıktınızın kalitesi, girdinizin kalitesiyle doğrudan orantılıdır. Bunu bir arama sorgusu gibi düşünmekten çok, çok zeki, çok kelimesi kelimesine ama zihin okuyamayan genç bir geliştiriciye talimat vermek gibi düşünün.
Açık ve Doğrudan Olun
Bu altın kuraldır. Belirsiz talimatlar, belirsiz sonuçlara yol açar. Özellikle Claude 4 modelleri, talimatları yüksek hassasiyetle takip etmek üzere eğitilmiştir. Modelin ne istediğinizi bildiğini varsaymayın; ona tam olarak söyleyin.
Daha az etkili:
"Kullanıcı yüklemelerini işleyecek bir fonksiyon yaz."
Daha etkili:
"Flask kullanarak multipart/form-data resim yüklemelerini işleyen bir Python fonksiyonu yaz. Fonksiyon şunları yapmalı:
1. 5MB'a kadar dosyaları kabul et.
2. Yalnızca .png ve .jpg uzantılarına izin ver.
3. Dosyayı '/uploads' dizinine UUID olarak dosya adıyla kaydet.
4. Başarı durumunda yeni dosya URL'si içeren bir JSON yanıtı, hata durumunda ise bir hata mesajı döndür."
Claude'un "beklenenin ötesine" geçmesini istiyorsanız, bunu istemeniz gerekir. "Mümkün olduğunca çok ilgili özellik ve etkileşim ekle" veya "Tam özellikli bir uygulama oluşturmak için temel bilgilerin ötesine geç" gibi ifadeler daha kapsamlı sonuçları teşvik edebilir.
Bağlam ve Motivasyon Sağlayın
Bir şeyi neden istediğinizi açıklamak, Claude'un amacı anlamasına ve daha uygun yanıtlar vermesine yardımcı olur. Bağlam, basit bir talimatı çözülmesi gereken bir probleme dönüştürür.
Daha az etkili:
"Çıktıda ASLA üç nokta kullanma."
Daha etkili:
"Bu fonksiyonun çıktısı, erişilebilirlik amacıyla bir metin-konuşma motoru tarafından yüksek sesle okunacaktır. Bu nedenle, motor bunları doğru telaffuz edemediği için ASLA üç nokta (...) kullanmamalısınız. Lütfen tam cümleler yazın."
Bu açıklama, Claude'un genelleme yapmasına olanak tanır. Artık kısıtlamanın konuşma senteziyle ilgili olduğunu anlar ve benzer sorunlara yol açabilecek diğer karakterlerden veya biçimlendirmelerden kaçınma olasılığı daha yüksek olur.
Yüksek Kaliteli Örnekler Kullanın (Az Örnekli Yönlendirme)
En güçlü tekniklerden biri, istenen giriş ve çıkış formatına ilişkin örnekler sunmaktır. Bu, az örnekli yönlendirme (few-shot prompting) olarak bilinir. Claude, desen tanımada mükemmeldir ve yanıtını örneklerinizin stiline uyacak şekilde adapte edecektir.
Human: Aşağıdaki Python sözlüğünü bir Java HashMap'e çevir.
Python:
{'user_id': 123, 'username': 'claude', 'is_active': True}
Java:
Assistant:
import java.util.HashMap;
HashMap<String, Object> user = new HashMap<>();
user.put("user_id", 123);
user.put("username", "claude");
user.put("is_active", true);
Örnekler sağlarken dikkatli olun. Örneklerinizin teşvik etmek istediğiniz davranışla mükemmel bir şekilde eşleştiğinden ve kaçınmak istediğiniz davranışlardan hiçbirini içermediğinden emin olun.
Claude'a Bir Rol Verin (Sistem Yönlendirmeleri)
Bir konuşmanın başında Claude'a bir kişilik veya rol atamak, sonraki tüm etkileşimler için zemin hazırlar. Bu genellikle bir "sistem yönlendirmesi" kullanılarak yapılır.
Örnek:
"Siber güvenlik ve güvenli kodlama uygulamaları konusunda uzmansınız. Kod incelediğinizde veya yazdığınızda, birincil odak noktanız SQL enjeksiyonu, XSS ve arabellek taşmaları gibi potansiyel güvenlik açıklarını belirlemek ve azaltmaktır. Tüm yanıtlarınız bu perspektiften olmalıdır."
Bu başlangıç talimatı, tüm konuşmayı çerçeveler ve Claude'un yanıtlarının sürekli olarak bir güvenlik uzmanının bakış açısıyla filtrelenmesini sağlar.
Yapı ve Netlik için XML Etiketleri Kullanın
XML etiketleri, isteminizin farklı bölümlerini ayırmak için harika bir yoldur ve Claude'un isteğinizin yapısını anlamasını kolaylaştırır. Bunları talimatları, bağlamı, örnekleri ve son sorguyu ayırmak için kullanabilirsiniz.
Örnek:
<instructions>
Uzman bir Go geliştiricisiniz. Göreviniz, sağlanan Go kodunu performansını ve okunabilirliğini artırmak için yeniden düzenlemektir. Lütfen özgün Go uygulamalarına uyun.
</instructions>
<go_code_to_refactor>
// ... sağlanan Go kodu ...
</go_code_to_refactor>
<output_format>
Lütfen yeniden düzenlenen kodu tek bir Go kod bloğu içine yerleştirin. Kod bloğunun ardından, yaptığınız belirli değişiklikleri ve bunların kodu neden iyileştirdiğini detaylandıran bir bölümü <explanation> etiketleri içine ekleyin.
</output_format>
Bu yapılandırılmış yaklaşım, belirsizliğe yer bırakmaz ve Claude'un mükemmel biçimlendirilmiş bir yanıt üretmesine yardımcı olur.
Bölüm 2: Bağlam ve Belleği Yönetme
Tek bir istem güçlüdür, ancak gerçek dünya geliştirme, birden çok dosyayı kapsayan, geçmiş bilgi gerektiren ve zamanla gelişen görevleri içerir. İşte bu noktada Claude'un "belleğini"—bağlam penceresini—yönetmek kritik hale gelir.
claude-code
CLI Bellek Sistemi: CLAUDE.md
claude-code
komut satırı aracı, özel bir dosya etrafında oluşturulmuş parlak, dosya tabanlı bir bellek sistemine sahiptir: CLAUDE.md
. Claude, bu dosyanın içeriğini otomatik olarak okur ve o dizindeki her oturumun başlangıcında bağlamına dahil eder. Bu, kalıcı, projeye özel bir bellek sağlar.
Bu bellek dosyalarını koyabileceğiniz üç ana yer vardır:
- Proje Belleği (
./CLAUDE.md
): Projenizin kök dizininde bulunur. Bu en yaygın konumdur. Projeye özel talimatların, komutların ve stil rehberlerinin tüm ekibinizle paylaşılması için bu dosyayı Git'e eklemelisiniz. - Kullanıcı Belleği (
~/.claude/CLAUDE.md
): Ana dizininizde bulunur. Bu dosyanın içeriği tüm projeleriniz için yüklenir. Bu, tercih ettiğiniz kodlama stili veya her yerde kullandığınız özel araç kısayolları gibi kişisel tercihler için mükemmeldir. - Üst/Alt Dizin Belleği: Claude,
CLAUDE.md
dosyalarını özyinelemeli olarak arar. Bir monorepo'nun alt dizinindeyseniz, kök dizindekiCLAUDE.md
dosyasını ve mevcut dizininizdekiCLAUDE.md
dosyasını yükleyecektir. Ayrıca, içlerindeki dosyalarla etkileşime geçmeye başladığınızda alt dizinlerden belleği isteğe bağlı olarak yükleyecektir.
CLAUDE.md
için En İyi Uygulamalar
CLAUDE.md
dosyanızı, sürekli olarak iyileştirdiğiniz dikkatlice hazırlanmış bir istem olarak düşünün.
- Özlü ve Yapılandırılmış Olun: Dosyayı okunabilir ve düzenli tutmak için Markdown başlıkları ve madde işaretleri kullanın.
- Yaygın Komutları Belgeleyin: Sık kullanılan derleme, test ve lint komutlarını listeleyin.
npm run build: Projeyi derle.
- Çekirdek Dosyaları Belirtin: Claude'u temel mimari dosyalara yönlendirin.
Çekirdek mantık
src/services/main_service.pydosyasında.
- Kod Stilini Tanımlayın: Kodlama kurallarını açıkça belirtin.
CommonJS (require) yerine ES modülleri (import/export) kullanın.
- Proje İş Akışlarını Açıklayın: Git dallanması veya test stratejileri gibi süreçleri detaylandırın.
Özellik dallarını her zaman
develop'tan oluşturun.
- Modülerlik için İçe Aktarmaları Kullanın: Diğer dosyaları
@
sözdizimini kullanarak doğrudanCLAUDE.md
dosyanıza aktarabilirsiniz (örn.@docs/api_conventions.md
). Bu, ana bellek dosyanızı temiz tutar ve modüler bağlama olanak tanır.
Bu dosyayı claude-code
CLI'da /init
komutunu çalıştırarak başlatabilir ve bir oturum sırasında isteminizi #
sembolüyle başlatarak hızlıca yeni bellekler ekleyebilirsiniz. Daha kapsamlı düzenlemeler için, dosyayı varsayılan düzenleyicinizde açmak üzere /memory
komutunu kullanmanız yeterlidir.
Uzun Bağlam Geri Çağırma Teknikleri
CLAUDE.md
ile bile, karmaşık görevler bağlam penceresini doldurabilir. Anthropic'in araştırmaları, Claude'un uzun belgelerden veya konuşmalardan belirli bilgileri hatırlama yeteneğini geliştirmek için iki güçlü teknik göstermiştir:
Referans Alıntılar İsteyin: Geniş bir bağlamla ilgili bir soruyu yanıtlamadan önce, Claude'a önce sağlanan metinden yanıtını destekleyen en alakalı alıntıları veya pasajları bulup çıkarması talimatını verin. Bu, modelin yanıtını kaynak materyale dayandırmasını sağlar. Bunun için hatta bir <scratchpad>
XML etiketi bile kullanabilirsiniz.
<instructions>
Kullanıcının sorusunu sağlanan belgeye göre yanıtlayın. Son yanıtı yazmadan önce, soruyla en alakalı olan belgeden tam alıntıları bir <scratchpad> kullanarak yazın.
</instructions>
Bağlam İçi Örnekler Sağlayın: Tıpkı kısa istemlerde olduğu gibi, belgenin diğer bölümleriyle ilgili doğru yanıtlanmış birkaç soru örneği sağlamak performansı önemli ölçüde artırır. Bu, modeli Soru-Cevap görevi formatına hazırlar.
Son olarak, claude-code
CLI'daki /clear
komutunu unutmayın. Uzun bir oturumda ilgisiz görevler arasında geçiş yapıyorsanız, bağlam penceresini sıfırlamak ve Claude'a yeni bir başlangıç yapmak için /clear
komutunu kullanın, böylece ilgisiz geçmiş konuşmalardan kaynaklanan karışıklığı önlersiniz.
Bölüm 3: Güç Kullanıcısının Araç Seti: claude-code
CLI'a Derinlemesine Bakış
Yukarıdaki prensipler Claude ile herhangi bir etkileşim için geçerli olsa da, claude-code
komut satırı arayüzü yeni bir güç ve entegrasyon seviyesinin kilidini açar. Terminalinizde yaşayan, kod tabanınızı anlayan ve gerçek eylemler gerçekleştirebilen ajan odaklı bir kodlama asistanıdır.
Kurulum ve Ayarlar
Başlamak basittir.
Sistem Gereksinimleri:
- İşletim Sistemi: macOS 10.15+, Ubuntu 20.04+ veya WSL aracılığıyla Windows.
- Yazılım: Node.js 18+ gereklidir.
- Ağ: İnternet bağlantısı gereklidir.
Kurulum:
Terminalinizi açın ve çalıştırın:
npm install -g @anthropic-ai/claude-code
Önemli: Bu komutla sudo
kullanmayın, çünkü izin sorunlarına neden olabilir. Hatalarla karşılaşırsanız, npm izinlerini yapılandırmak için resmi belgelere başvurun.
Kimlik Doğrulama:claude
komutunu ilk çalıştırdığınızda, bir kimlik doğrulama sürecinde size rehberlik edecektir. Anthropic Console hesabınız, bir Claude Pro aboneliği veya Amazon Bedrock ve Google Vertex AI gibi kurumsal platformlar aracılığıyla bağlanabilirsiniz.
Özelleştirme ve Yapılandırma
Claude Code, beğeninize göre özelleştirilmek üzere tasarlanmıştır.
- Terminal Optimizasyonu:
/config
komutunu kullanarak Claude'un temasını terminalinizin temasıyla eşleştirebilirsiniz. Çok satırlı istemleri kolaylaştırmak için satır sonları (Option+Enter gibi) için klavye kısayollarını da yapılandırabilirsiniz. - İzinler ve Beyaz Liste: Varsayılan olarak, Claude Code güvenliği önceliklendirir ve dosyaları değiştirmeden veya potansiyel olarak yıkıcı komutları çalıştırmadan önce izin isteyecektir. Bunu
/permissions
komutunu kullanarak özelleştirebilirsiniz. Örneğin,/permissions add Edit
ile dosya düzenlemelerine her zaman izin verebilir veya/permissions add "Bash(git commit:*)"
ile git commit işlemlerine izin verebilirsiniz. Bu ayarlar, ekibinizle paylaşabileceğiniz.claude/settings.json
dosyasında saklanır. - Claude'un Yeteneklerini Genişletme:
- Özel Eğik Çizgi Komutları:
.claude/commands/
dizinine Markdown dosyaları ekleyerek kendi yeniden kullanılabilir istem şablonlarınızı oluşturun. Bunlar eğik çizgi komutları olarak kullanılabilir hale gelir. Örneğin,refactor.md
oluşturmak, önceden tanımlanmış yeniden düzenleme talimatlarınızla/project:refactor
komutunu çalıştırmanıza olanak tanır. Parametreleri geçirmek için$ARGUMENTS
anahtar kelimesini kullanın. - MCP ile Harici Araçlar: Multi-Claude Protocol (MCP), Claude'un diğer araçlara ve hizmetlere bağlanmasına olanak tanır. Claude'a bir web tarayıcısını kontrol etme (Puppeteer ile), bir veritabanını sorgulama veya bir Sentry örneğiyle etkileşim kurma gibi yetenekler kazandırmak için MCP sunucuları kurabilirsiniz.
Bölüm 4: Uygulamada Pratik İş Akışları
Teori değerlidir, ancak Claude Code'un gerçek gücü, onu pratik, günlük geliştirme görevlerine uyguladığınızda ortaya çıkar. İşte Anthropic ve ötesindeki mühendisler tarafından kullanılan, savaşta test edilmiş birkaç iş akışı.
İş Akışı 1: Kod Tabanı Soru-Cevap (Oryantasyon)
Yeni bir projeye katılırken, kod tabanını anlamak ilk engeldir. Claude'u kişisel tur rehberiniz olarak kullanın. Kıdemli bir geliştiriciye soracağınız gibi ona sorular sorun.
- "Bu depoda loglama nasıl çalışıyor?"
- "Yeni bir API uç noktası oluşturma adımlarında bana rehberlik et."
- "
foo.rs
dosyasının 134. satırındaki buasync move { ... }
bloğu ne işe yarıyor?" - "
CustomerOnboardingFlowImpl
sınıfı hangi uç durumları ele alıyor?"
Özel bir istem gerekmez. Sadece sorun. Claude, kod tabanını ajan odaklı bir şekilde arayacak, ilgili dosyaları okuyacak ve bir yanıt sentezleyecektir. Bu, uyum sağlama süresini önemli ölçüde hızlandırır.
İş Akışı 2: Keşfet, Planla, Kodla, Kaydet (Commit)
Bu, neredeyse her yeni özellik veya hata düzeltmesiyle başa çıkmak için çok yönlü, temel bir iş akışıdır.
- Keşfet: Claude'dan ilgili dosyaları, resimleri (UI maketleri gibi) veya URL'leri okumasını isteyin. Önemli olarak, henüz herhangi bir kod yazmaması talimatını verin. Amaç bilgi toplamaktır.
- Planla: Claude'dan ayrıntılı, adım adım bir plan oluşturmasını isteyin. Daha derin düşünmeyi teşvik etmek için "düşün" kelimesini kullanın (örn. "İyice düşün ve bu özelliği uygulamak için bir plan oluştur"). Bu planı dikkatlice gözden geçirin.
- Kodla: Planı onayladıktan sonra, Claude'a çözümü uygulamasını söyleyin. Artık üzerinde anlaşılan adımlara göre kodu yazacaktır.
- Kaydet (Commit): Uygulama tamamlandığında ve doğrulandığında, Claude'dan sonucu kaydetmesini (commit), açıklayıcı bir commit mesajı yazmasını ve hatta
gh
CLI kullanarak bir pull request oluşturmasını isteyin.
"Keşfet" ve "Planla" adımlarını atlamak yaygın bir hatadır. Bir planlama aşamasını zorlamak, son kodun kalitesini ve başarı oranını önemli ölçüde artırır.
İş Akışı 3: Claude ile Test Odaklı Geliştirme (TDD)
TDD ve ajan odaklı kodlama mükemmel bir uyum içindedir. Claude, üzerinde çalışabileceği net, doğrulanabilir bir hedefe sahip olduğunda üstün performans gösterir.
- Testleri Yazın: İstenen işlevselliği açıklayın ve Claude'dan önce testleri yazmasını isteyin. Açık olun: "TDD yapıyoruz. X'i yapan bir fonksiyon için testleri yazın. Bu testler başlangıçta başarısız olmalıdır."
- Başarısızlığı Onaylayın: Claude'a testleri çalıştırmasını ve beklendiği gibi başarısız olduklarını onaylamasını söyleyin.
- Testleri Kaydedin (Commit): Testlerin gereksinimleri karşıladığından emin olduktan sonra, Claude'a onları kaydetmesini (commit) söyleyin.
- Kodu Yazın: Şimdi, tüm testlerin geçmesini sağlama hedefiyle Claude'a uygulama kodunu yazmasını söyleyin. Testleri değiştirmemesini söyleyin. Claude muhtemelen tekrarlayacaktır—kod yazacak, testleri çalıştıracak, hataları analiz edecek, kodu ayarlayacak ve başarıya ulaşana kadar tekrarlayacaktır.
- Kodu Kaydedin (Commit): Tüm testler geçtiğinde, Claude'a son uygulamayı kaydetmesini (commit) söyleyin.
İş Akışı 4: Gelişmiş ve Otomatikleştirilmiş İş Akışları
- Git ve GitHub Entegrasyonu: Claude,
git
vegh
CLI'larına hakimdir. Git geçmişini aramak, karmaşık birleştirme çakışmalarını çözmek, commit mesajları yazmak ve hatta bir PR üzerindeki basit kod inceleme yorumlarını düzeltip değişiklikleri geri göndermek için kullanın. - "Güvenli YOLO Modu": Yüzlerce lint hatasını düzeltmek gibi tekrarlayan görevler için Claude'u izinsiz bir modda çalıştırabilirsiniz. Bu tehlikelidir ve sistemde kazara hasarı önlemek için yalnızca internet erişimi olmayan izole, kapsayıcılı bir ortamda (Docker Dev Container gibi) yapılmalıdır.
- CI/CD için Başsız Mod: Claude'u betiklerde etkileşimli olmayan bir şekilde çalıştırmak için
-p
bayrağını kullanın. Bu otomasyon için mükemmeldir. Örneğin, etiket ekleyerek yeni sorunları otomatik olarak sınıflandırmak için Claude'u kullanan bir GitHub Action oluşturabilirsiniz. - Çoklu Claude İş Akışları: Maksimum verimlilik için, Claude'un birden çok örneğini çalıştırın. Deponuzun izole edilmiş kopyalarını oluşturmak için
git worktrees
kullanın. Bir iş ağacında bir hizmeti yeniden düzenleyen bir Claude örneğiniz olabilirken, ayrı bir iş ağacında başka bir özellik oluşturan bir Claude örneğiniz olabilir. Hatta bir Claude'un kod yazmasını ve ikinci, ayrı bir Claude'un çalışmasını inceleyip doğrulamasını sağlayarak insan kod inceleme sürecini taklit edebilirsiniz.
Sonuç: Yolculuğunuzun Başlangıcı
İstem mühendisliğinin temel prensiplerinden, claude-code
CLI'nın karmaşık, güçlü iş akışlarına kadar bir yolculuk yaptık. Artık kodlama şeklinizi dönüştürmek, yalnız bir aktiviteden dünyanın en gelişmiş yapay zeka sistemlerinden biriyle dinamik bir işbirliğine geçmek için bilgiye sahipsiniz.
Temel çıkarım şudur: aktif bir işbirlikçi olun. Claude'a rehberlik edin, net bağlam sağlayın, saptığında onu düzeltin ve CLAUDE.md
aracılığıyla onu doğru araçlar ve bilgiyle donatın. En etkili kullanıcılar Claude'u sihirli bir kara kutu olarak görmez; onu akıllı bir ortak olarak görürler.
Burada özetlenen iş akışları ve teknikler başlangıç noktalarıdır. Gerçek güç, deney yaptıkça, bu kalıpları benzersiz ihtiyaçlarınıza uyarladıkça ve kendi en iyi uygulamalarınızı keşfettikçe ortaya çıkacaktır. Şimdi terminalinizi açın, claude
yazın ve geleceği inşa etmeye başlayın.
Geliştirici Ekibinizin birlikte çalışması için entegre, Hepsi Bir Arada bir platform mu istiyorsunuz maksimum üretkenlik?
Apidog tüm taleplerinizi karşılar ve Postman'ı çok daha uygun fiyata değiştirir!