Loop engineering demistik en son, oradan devam edelim.
Loop enginneering’in ne oldugu konusuna diger yazilarimda deginmistim. Ben bunu günlük hayatimda nasil uyguluyorum, bunlara örnekler vererek devam etmek istiyorum.
Loop engineering yaptigim degisik senaryolar var. Ben “bugünden itibaren loop engineering yapacagim” demedim. Kendimi icinde buldum, cünkü kullandigim yeni arac, claude code buna yatkinmis. Ben loop engineering yaptigimi bu terimi gördükten sonra anladim.
Simdi en basit halinden, en komplex haline dogru örnekler üzerinde loop engineering nedir, inceleyelim.
Örnegin büyük bir feature icin calismaya baslamis olayim. Bunun baslangici da loop engineering’e dayaniyor, lakin o noktaya sonra gelecegim. Karmasik uygulama özelliklerinin olusturulmasi da karmasik bir sürec, cünkü sürekli gpt ve opus arasinda da semantik bir loop olusturmam gerekiyor. Bu loop geri bildirim almak ve ikisi arasindaki calismayi senkronize etmek icin gerekli.
Ipin ucunu kaybettigim zaman gpt’nin son durumu analiz etmesini ve eksikler icin bir loop plani olusturmasini istiyorum. Bu loop plani dogrudan opus’a veriyorum ve yaptigi ise hic karismiyorum. O plan modda basladigi icin tekrar analiz yapiyor ve varsa, sorularini bana yöneltiyor. Bu sorulari ben dogrudan cevaplayabilir durumda olmama ragmen, onlari gpt’ye gösteriyorum ve fikrini aliyorum. Buna göre secimleri yapip, opus’in implementasyonu tamamlamasini istiyorum. O isini tamamlayinca, gpt’nin tekrar üzerinden gecmesini ve hata ya da eksik varsa, yine bir loop plan olusturmasini istiyorum. Bu döngü gpt’nin “tamam, simdi eksiksiz” demesine kadar devam ediyor.
Büyük bir feature implementasyonu icin yine gpt ile bir gereksinim analizine giriyorum. Buradaki ana amac alani iyi anlamak. Bu alan bilgisi olmadan yapay zekayi yönlendirmek cok anlamli degil. Bu analiz sona erdikten sonra bana gerekli tüm loop planlarini vermesini istiyorum. Burada onlarca loop plani olusabiliyor. Bu noktadan itibaren her loop plani icin daha önce anlattigim döngü calismaya basliyor.
Loop engineering benim icin cok dogal bir yaklasim, zaten terimi bilmeden bu sekilde calistigimdan bahsetmistim. Bunun nedeni cevik yazilimi icsellestirmemde yatiyor. Söyle hizli bir sekilde cevik yazilima bakacak olursak, su noktalari net olarak görebiliriz:
- Test yazarak kodun ne durumda oldugu,
- Sürekli entegrasyon yaparak, ürünün ne durumda oldugunu,
- Müsteriye sorular sorarak, ne istedigi,
- Pair programming yaparak, alani ve implementasyonu ne kadar anladigimiz,
- Yeni sürümler olusturarak, gereksinimlerin ne oranda tatmin oldugu
geri bildirimini aliyoruz. Yazilimda geri bildirim en önemli husustur. Yapay zeka ile bunun bir üst seviyedeki halini yasamaya baslamis olduk.