37 puan yazan GN⁺ 2025-08-25 | Henüz yorum yok. | WhatsApp'ta paylaş
  • 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.

Henüz yorum yok.