- Claude Code ilk kullanılmaya başlandığında yaklaşım basitçe prompt talimatları verip düzeltmeleri yinelemek şeklindeydi; ancak karmaşık işlerde sohbet geçmişine bağımlılık ve bağlam sınırları sorunları yaşandı
- Bunu çözmek için, özellik geliştirmeden önce bir plan belgesi (plan document) yazdırılıyor ve bu belge yeni oturumun tek gerçeklik kaynağı (SSOT) olarak kullanılıyor
- Plan belgesi; gereksinimlerin yeniden ifade edilmesini, uygulama ayrıntılarının açıklanmasını, kod kalitesi kontrol komutlarını vb. içeriyor ve uygulama sırasında da bir yaşayan belge (living document) olarak sürekli güncelleniyor
- Bu sayede bağlam kaybı sorunu çözülüyor ve yeni bir oturumda da yalnızca tek bir belgeyle projeye devam edilebiliyor
- Sonuç olarak yapay zeka, basit bir yürütme aracından ziyade, geliştiriciyi tasarımı daha derin düşünmeye ve kayda geçirmeye yönelten işbirlikçi bir tasarım ortağı rolünü üstleniyor
Sorun farkındalığı: Basit sohbet yaklaşımının sınırları
- Claude Code ile sohbet tabanlı çalışırken, bu yöntem basit işler için uygun olsa da iş karmaşıklaştıkça çeşitli ciddi sınırlamalar ortaya çıkıyor
- Sohbet tek gerçeklik kaynağı haline geliyor; yeni mesajlar önceki talimatların üzerine kolayca yazabiliyor ve bunun tam olarak ne zaman olduğunu fark etmek zor olabiliyor
- Yapay zekanın bağlam boyutu sınırı nedeniyle, sohbet uzadıkça önceki bilgiler kaybolabiliyor
- Claude Code sohbet sıkıştırma özelliğine sahip olsa da bu sınırı tamamen ortadan kaldırmıyor
Plan belgesi merkezli yaklaşım deneyi
- Bu sorunları çözmek için plan belgesi tabanlı bir yaklaşım deneniyor
- Başlangıçta, Claude Code'a geliştirilecek özellik ya da düzeltilecek hata hakkında olabildiğince ayrıntılı açıklama yapılıyor
- Başvurulabilecek mevcut kaynak dosyalarına veya daha önce yazılmış plan belgelerine de atıfta bulunuluyor
- Aşırı derecede spesifik uygulama talimatlarından kaçınılıyor; bunun yerine yapay zekanın tasarım önerisi rolü teşvik ediliyor
- Plan belgesi yeterince tatmin edici olduğunda, sohbet geçmişi temizleniyor ve yalnızca bu plan bağlam olarak kullanılarak yeniden başlanıyor
- Planda özellik özeti, uygulama planı, kod ve sözde kod, type/lint/test komutları vb. yer alıyor
İşbirlikçi tasarım süreci
- Yapay zekanın önerdiği tasarım beğenilmediğinde, somut geri bildirim verilerek gözden geçirilmiş bir yaklaşım yönlendiriliyor
- Tartışma sürecinde bazen yapay zekanın ilk önerisinin daha uygun olduğu fark ediliyor; bu da yalnızca kendi tasarımıyla kod yazmaya kıyasla daha verimli oluyor
- Sistematik diyalog, planı bir ekip arkadaşı geliştiriciyle tartışmaya benzer bir deneyim sunuyor
- Yapay zeka tek başına tamamen farklı bir yaklaşım önermese de, sorulduğunda başka alternatifler de sunabiliyor
Yaşayan belge (Living Document) yöntemi
- Plan belgesi bir kez yazılıp bırakılmıyor; özellik geliştirme sırasında da sürekli güncelleniyor
- Uygulama sürecinde, type check, lint ve test aşamalarında ortaya çıkan değişiklikler anlık olarak yansıtılıyor
- Her kod commit'inde planın en güncel durumunun gözden geçirilmesini isteme alışkanlığı oluşuyor
- Her zaman güncel bir plan korunduğu için, yeni bir sohbet oturumunda yalnızca plan eklenerek bağlam kaybı olmadan kaldığı yerden devam edilebiliyor
Kod incelemesi ve geliştirme alışkanlıklarındaki değişim
- Uygulama başladıktan sonra değişiklikler düzenli olarak kontrol ediliyor ve sonuç tatmin ediciyse yapay zekanın çalışmasına daha fazla güven duyulabiliyor
- Nihai kod incelemesinde güncellenmiş plan belgesi, teknik kararların gerekçesini anlamaya yardımcı oluyor
- Önceden titiz bir plan hazırlayıp bunu belgelendirerek daha iyi bir geliştirici olarak gelişme deneyimi kazanılıyor
- Yapay zekaya açıklama yapmak gerektiği için kendi karar verme süreci daha açık biçimde düzenleniyor
Kaostan düzene
- Bu yöntem, plan belgesini tek gerçeklik kaynağı haline getiriyor, bağlam kaybı sorununu gideriyor ve mimari düşünceyi teşvik ediyor
- Plan belgesi hem şartnameyi hem de uygulama günlüğünü içeriyor; yalnızca "ne"yi değil, "neden" ve "nasıl"ı da kaydediyor
- Nihai sonuç; planlı, iyi belgelenmiş ve güvenilir bir geliştirme süreci oluyor
- Yapay zeka, basit bir uygulayıcı değil, işbirlikçi bir tasarım ortağı olarak konumlanıyor
Henüz yorum yok.