Fable Alan Rehberi: Kendi Bilinmeyenlerimi Bulmak
(x.com/trq212)- Claude Fable 5 ile çalışmanın özü, kullanıcının verdiği harita (map, prompt·skill·context) ile işin gerçekten gerçekleştiği bölge (territory, kod tabanı·gerçek dünya·kısıtlar) arasındaki farkı, yani bilinmeyenleri (unknowns) bulup daraltmaktır
- Fable, iş kalitesinin kullanıcının bilinmeyenleri netleştirme becerisi tarafından belirlendiği ilk model; iş yükü arttıkça karşılaşılan bilinmeyenler de artar
- Bilinmeyenler 4 kategoriye ayrılır: Known Knowns / Known Unknowns / Unknown Knowns / Unknown Unknowns; bilinmeyenleri azaltmak ve onlara hazırlıklı olmak, agentic coding’in temel yetkinliğidir
- Uygulama öncesi·sırası·sonrası boyunca blindspot pass, beyin fırtınası, röportaj, referans, uygulama planı, uygulama notları, quiz gibi yinelemeli tekniklerle bilinmeyenler keşfedilir
- Açıklama·beyin fırtınası·röportaj·prototip·referans, sorun pahalı hale gelmeden önce bilinmeyenleri düşük maliyetle keşfetmenin araçlarıdır; bir sonraki projeye Claude’dan bilinmeyenleri bulmasını isteyerek başlamak önemlidir
Harita, Bölge ve Bilinmeyenler (Unknowns)
- Harita, yapılacak işin temsili olan prompt·skill·context, yani Claude’a verdiğiniz şeydir; bölge ise işin gerçekten gerçekleştiği kod tabanı·gerçek dünya·gerçek kısıtlardır
- Harita ile bölge arasındaki fark tam olarak bilinmeyenlerdir (unknowns); Claude bilinmeyenlerle karşılaştığında, kullanıcının ne istediğine dair elindeki en iyi tahminle karar vermek zorunda kalır
- Fable, iş kalitesinin bilinmeyenleri netleştirme becerisi tarafından darboğaza sokulduğu ilk modeldir
- Önceden plan yapmak tek başına yeterli değildir; bilinmeyenler uygulamanın derinliklerinde keşfedilebilir ya da sorunun en baştan farklı bir şekilde çözülmesi gerektiğini gösterebilir
- Fable ile çalışma, uygulama öncesi·sırası·sonrası boyunca bilinmeyenleri keşfetmeye yönelik yinelemeli bir süreçtir
- Bilinmeyenleri bulmaya yardımcı olabilecek bazı örnek materyaller daha sonra bakmak için
Bilinmeyenlerini Tanımak (Knowing your unknowns)
- Problemi 4 parçaya ayırın
- Known Knowns: Prompt’ta yer alanlar, ajana istediğinizi söylediğiniz şeyler
- Known Unknowns: Henüz anlamadığınız ama anlamadığınızın farkında olduğunuz şeyler
- Unknown Knowns: O kadar doğal kabul edilen ki yazılmayan ama görünce tanıdığınız şeyler
- Unknown Unknowns: Hiç düşünmediğiniz şeyler, farkında olmadığınız bilgiler, ne kadar iyi olabileceğini bile bilmediğiniz şeyler
- Güçlü agentic coder’ların görece daha az bilinmeyeni vardır; kod tabanı ve model davranışıyla derin biçimde senkronizedir (in-sync) ve ne istediklerini ayrıntılı olarak bilirler
- Bilinmeyenleri azaltmak ve onlara hazırlanmak, Claude ile çalışırken geliştirilebilen bir beceridir
Claude’un Size Yardım Etmesine Yardım Edin (Help Claude help you)
- Talimatlarda denge önemlidir; fazla spesifik olursa yön değiştirmek daha iyi olduğunda bile talimatı izler, fazla muğlak olursa göreve uymayan sektör teamüllerine (best practices) dayalı seçimler yapar
- Bilinmeyenleri hesaba katmazsanız her iki uçta da başarısız olursunuz; yol tıkandığında mı yoksa açıldığında mı Claude’un yön değiştirmesini istediğinizi bilemezsiniz
- Claude kod tabanını ve interneti hızlıca tarayabilir, ortalama konularda daha fazla şey bilir ve başarısızlıktan hızla yineleme yapabilir; bu da bilinmeyenlerin keşfini hızlandırır
- En önemlisi başlangıç noktasına dair bağlam sağlamaktır; düşünce sürecinizin nerede olduğunu, problem ve kod tabanıyla ilgili deneyiminizi açıkça belirtin ve bir düşünce ortağı gibi işbirliği yapın
- Daha önce Claude’da HTML kullanımı hakkında yazmıştım; çoğu durumda HTML artifact’leri görselleştirme ve ifade için en uygun seçenektir
Uygulama Öncesi (Pre-implementation)
-
Blind Spot Pass
- Yeni bir alanda özellik yazmak veya tasarımı yinelemek gibi yabancı işlerde çok sayıda unknown unknowns bulunur; hangi soruları sormanız gerektiğini, neyin iyi sayıldığını, geçmişte neler yapıldığını ya da hangi tuzaklardan kaçınılması gerektiğini bilmiyor olabilirsiniz
- Claude’dan unknown unknowns’ları bulup açıklamasını isteyin; özellikle "blindspot pass" ve "unknown unknowns" ifadelerini aynen kullanın, ayrıca kim olduğunuzu ve ne bildiğinizi anlatan bağlam vermek önemlidir
- Örnek prompt’lar
- "Yeni bir auth provider ekliyorum ama bu kod tabanındaki auth modülünü hiç bilmiyorum. Bir blindspot pass yapıp ilgili unknown unknowns’ları bul ve daha iyi prompt yazmama yardım et."
- "Color grading’in ne olduğunu bilmiyorum ama bu videoya grade yapmam gerekiyor. Daha iyi prompt yazabilmem için color grading’deki unknown unknowns’ları anlamamı sağlayacak şekilde öğret."
-
Beyin Fırtınası ve Prototipler (Brainstorms and prototypes)
- Çok sayıda unknown knowns içeren alanlarda, yani görünce anladığınız ama önceden tanımlaması zor ölçütlerin yoğun olduğu durumlarda Claude ile beyin fırtınası ve prototipleme yapın
- Unknown knowns’ları uygulama sırasında değil, prototiplemenin erken aşamasında belirlemek ve dile dökmek değerlidir; çünkü spesifikasyondaki küçük değişiklikler kod uygulamasını büyük ölçüde değiştirebilir ve önceki değişiklikleri geri almak zor olabilir
- Örnek: Henüz backend route’u veya frontend state’i olmadan, yalnızca frame’e eklenmiş bir butonun nasıl göründüğünü kontrol etmek istediğinizde
- Görsel tasarım, açıkça ifade etmesi zor ama görünce ne istediğinizi bildiğiniz bir alandır; bu yüzden farklı tasarım yaklaşımları isteyin
- Neredeyse her kodlama oturumuna keşif·beyin fırtınası aşamasıyla başlamak, niyetli biçimde kapsam tanımlamayı sağlar; bu da kapsamın gereğinden dar ya da geniş olmasını önler
- Örnek prompt’lar
- "Bu veriler için bir dashboard istiyorum ama görsel zevkim yok ve nelerin mümkün olduğunu bilmiyorum. Tepki verebilmem için tamamen farklı 4 tasarım yönünde HTML sayfaları üret."
- "Bağlamaya başlamadan önce sahte verilerle yeni editör toolbar’ının mockup’ını içeren tek bir HTML dosyası oluştur. Gerçek uygulamaya dokunmadan önce layout’a tepki vermek istiyorum."
- "Kabaca problemimiz onboarding sonrası kullanıcı kaybı. Kod tabanını tarayıp en düşük maliyetliden en iddialısına kadar müdahale edilebilecek 10 noktayı beyin fırtınasıyla çıkar."
-
Röportajlar (Interviews)
- Yeterince beyin fırtınası yaptıktan sonra hâlâ kalan bilinmeyenler varsa, Claude’dan bu bilinmeyenler ve belirsizlikler hakkında sizi röportajla yönlendirmesini isteyin; soru üretmesini sağlayacak problem bağlamını verin
- Örnek prompt
- "Muğlak kısımları bana bir seferde bir soru sorarak açığa çıkar; cevaplarıma göre mimariyi değiştirebilecek sorulara öncelik ver."
-
Referanslar (References)
- İstediğinizi ayrıntılı tarif edemiyorsanız en iyi cevap referanstır; diyagram, belge veya görsel olabilir ama kaynak kod mutlak olarak en iyi referanstır
- Belli bir şekilde uygulanmış bir kütüphane ya da beğendiğiniz bir tasarım bileşeni varsa, klasörü gösterin ve gerekirse başka bir dilde olsa bile orayı incelemesini isteyin
- Claude Design da aynı şekilde çalışır; beğendiğiniz bir web sitesindeki modülü gösterirseniz ekran görüntüsüne değil, altındaki koda bakarak işaretleme, yapı ve gerçek uygulama biçimi hakkında zengin bilgi sağlar
- Örnek prompt
- "vendor/rate-limiter içindeki bu Rust crate, istediğim backoff davranışını tam olarak uyguluyor. Bunu okuyup aynı anlamı bizim TypeScript API client’ımızda yeniden uygula."
-
Uygulama Planları (Implementation Plans)
- Uygulamaya hazır olduğunuzda, gözden geçirme amacıyla özellikle değişme olasılığı en yüksek bölümlere (veri modeli, type interface’leri, UX akışı) odaklanan bir uygulama planı isteyin; böylece revizyon gerektiren yerler görünür olur
- Örnek prompt
- "Uygulama planını HTML olarak yaz; benim en çok müdahale edeceğim kararları (veri modeli değişiklikleri, yeni type interface’leri, kullanıcıya görünen öğeler) en üste koy, mekanik refactor işleri en alta indir."
Uygulama Sırasında (During implementation)
-
Uygulama Notları (Implementation notes)
- Plandan memnun kaldığınızda yeni bir oturum açın ve spec dosyası, prototip gibi artifact’leri prompt’a vererek ajandan uygulamayı gerçekleştirmesini isteyin
- Ne kadar plan yaparsanız yapın, unknown unknowns her zaman pusudadır; ajan çalışma sırasında karşılaştığı edge case’ler yüzünden farklı bir yol izlemek zorunda kalabilir
- Claude Code’dan geçici bir implementation-notes.md(veya .html) dosyasında aldığı kararları kaydetmesini isteyin ki sonraki denemede bunlardan öğrenebilsin
- Örnek prompt
- "implementation-notes.md dosyasını sürdür. Plandan sapmaya neden olan bir edge case ile karşılaşırsan muhafazakâr bir seçim yap, bunu 'Deviations' bölümüne yaz ve devam et."
Uygulama Sonrası (Post implementation)
-
Sunumlar ve Açıklayıcı Belgeler (Pitches and explainers)
- Bir şeyi yayına almanın en önemli kısımlarından biri mutabakat ve onay almaktır; bunun için son belgede sunum ve açıklayıcı artifact’ler üretmek yardımcı olur
- İnceleyen kişi sizinle aynı bilinmeyenlerden başlıyorsa anlamayı hızlandırır
- Uzman biri bilinmeyenleri ve yaygın başarısızlık noktalarını düşünüp düşünmediğinizi kontrol etmek istiyorsa onayı hızlandırır
- Örnek prompt
- "Prototipi, spec’i ve uygulama notlarını Slack’te paylaşarak mutabakat toplayacağım tek bir belgede birleştir. Demo GIF’i en üste koy."
- Bir şeyi yayına almanın en önemli kısımlarından biri mutabakat ve onay almaktır; bunun için son belgede sunum ve açıklayıcı artifact’ler üretmek yardımcı olur
-
Quiz’ler (Quizzes)
- Uzun bir çalışma oturumundan sonra Claude sizin beklediğinizden daha fazlasını yapmış olabilir; sadece kod diff’ine bakmak ise mevcut kod yollarına bağımlı davranışları yüzeysel anlamanıza yol açar
- Bağlamı verdikten sonra Claude’dan değişiklikler hakkında size quiz hazırlamasını isteyin; anlayışınızı doğrulayın ve ancak quiz’i kusursuz geçtikten sonra merge edin
- Örnek prompt
- "Bu değişiklikte olan her şeyi anlamak istiyorum. Bağlamı, sezgiyi ve yapılanları içeren bir HTML raporu hazırla; en alta da mutlaka geçmem gereken bir quiz ekle."
Fable Lansman Örneğiyle Bunların Bir Araya Gelişi (How this comes together)
- Fable lansman videosu tamamen Claude Code ile düzenlendi ve bu, yeni bir alan olduğu gibi uzmanlık alanı da değildi
- Bildiğim yerden başladım; Claude’un kodla video düzenleme ve transkripsiyon yapabildiğini biliyordum ama doğruluğundan emin değildim, bu yüzden Whisper tarzı transkripsiyonun nasıl çalıştığını ve ffmpeg ile ums ile uzun sessizlikleri doğru şekilde kesmenin mümkün olup olmadığını açıklamasını istedim
- Konuşulan kelimeler ve zamanlamayla eşleşen bir UI istiyordum ama bunun mümkün olup olmayacağından emin değildim; bu yüzden Remotion ve transkripsiyon ile prototip bir video üreterek doğruladım
- Videonun biraz sönük görünmesinin color grading’den kaynaklandığını fark ettim ama bunun ne olduğunu bilmiyordum; bu yüzden varyasyon seçmeye çalışmak yerine color grading’i öğretmesini istedim ve böylece bilinmeyenleri keşfettim
Harita ile Bölgeyi Eşleştirmek (Matching the Map and Territory)
- Model ne kadar iyi hale gelirse, doğru yaklaşımla o kadar fazla şey başarılabilir; uzun soluklu görevler ters giderse, genellikle bilinmeyenleri tanımlamaya veya Claude’un doğaçlama başa çıkabileceği bir uygulama planına daha fazla zaman ayırmak gerekir
- Tüm açıklamalar, beyin fırtınaları, röportajlar, prototipler ve referanslar; sorun pahalı hale gelmeden önce bilinmeyenleri düşük maliyetle keşfetmenin yollarıdır
- Bir sonraki projeye Claude’dan bilinmeyenleri bulmasını isteyerek başlamak kilit önemdedir
Henüz yorum yok.