Her şeyin altındaki Ralph döngüsü
En eski loop, bir ajana tek bir prompt dosyasını sonsuza kadar veren bash while döngüsü. Her turda taze bağlam, iterasyon başına tek görev ve backpressure olarak testler onu çalıştırıyor. Durma koşulunun olmaması da kursun geri kalanına neden ihtiyaç olduğunu gösteriyor.
Döngü şaşırtıcı derecede küçük
Geoffrey Huntley bu tekniği 2025-07-14'te yayımladı ve adına Ralph dedi. En saf hâli, tek bir prompt dosyasını bir kodlama ajanına pipe'layan, bitince yine aynısını yapan bir bash while döngüsü. Sonsuza kadar.
while true; do
cat PROMPT.md | <your coding agent command>
doneOrkestratör yok, framework yok, süreç içinde hafıza yok. Nicholas Carlini bir Claude ekibiyle C derleyicisi yazarken temel yine aynıydı: Claude Code'u bir prompt dosyasıyla yeniden başlatan bir while-true bash döngüsü.
Bu kadar küçük bir şeyi neden çalışıyoruz? Çünkü bir önceki dersteki her komut, bu döngünün daha iyi parçalarla hâli. /goal bir kontrolcü ekliyor, /loop bir saat. Altındaki şekil değişmedi.
Çalışmasını sağlayan üç tercih
Her iterasyonda taze bağlam. Her tur boş bir bağlam penceresiyle başlıyor. Ajan uzun ve dağınık bir konuşmayı peşinden sürüklemiyor, bu yüzden iş uzadıkça bozulmuyor. Hayatta kalması gereken her şey diskte duruyor.
İterasyon başına tek görev. Ajan öncelik sırasına dizilmiş bir plan dosyasını okuyor, en önemli tek maddeyi seçiyor ve sadece onu yapıyor. Huntley plan dosyasını harcanabilir sayıyor: kayarsa baştan üret. Spec'ler her turda okunan ayrı dosyalar, projenin nasıl derlenip çalıştırılacağını da kısa bir dosya tutuyor.
Backpressure. Huntley'nin, kötü çıktıya karşı geri iten her şey için kullandığı kelime: testler, build'ler, tip denetleyiciler, analizörler. Yanlış işi reddediyorlar, böylece loop hızlı hareket edip yine doğru kalabiliyor. Huntley yalnızca dokunulan birimin testlerini çalıştırıyor, prompt da yer tutucu (placeholder) implementasyonları yasaklıyor. Bu, kolay kaçış yolunu kapatıyor.
Ralph döngüsü her iterasyona neden taze bir bağlam penceresiyle başlıyor?
Pratikte nasıl davranıyor
Huntley'nin ana ajanı bir zamanlayıcı gibi çalışıyor. Pahalı işleri, yani kodda arama ya da test çıktısını özetleme gibi şeyleri alt ajanlara veriyor, aynı anda çalışan build ve test alt ajanı sayısına da üst sınır koyuyor. Ralph yanlış bir şey yapınca onunla tartışmıyor. Prompt'a bir "tabela" ekliyor: bir dahaki sefere o hatayı önleyen kısa bir talimat. Bu sohbet değil, ayar yapmak.
İş rotadan çıktığında iki çıkışı var: planı yeniden üret ya da git ile sıfırlayıp baştan başla. Yeşil build'lerdeki git etiketleri, dönülecek bilinen iyi noktalar sağlıyor.
Bilinen zayıflık
Ralph'ın resmi bir durma koşulu yok. TODO listesi boşalana ya da rotadan çıkana kadar çalışıyor, bunu fark eden de bir insan. Yanında oturuyorsanız sorun değil. Kimse yokken tehlikeli.
Carlini'nin koşusu o boşlukta ne yaşadığını gösteriyor. Yeni özellikler eskileri bozdu, o da CI ekledi. Bütün ajanlar aynı hatada takıldı. Bir ajan kendi döngüsünü pkill ile öldürdü. Bunlar, backpressure'ı olan ama gözetmeni olmayan bir loop'un sıradan arızaları.
Loop engineering bu boşluğa verilen cevap ve cevap daha akıllı bir model değil. Aynı şekil, artı Ralph'ın dışarıda bıraktığı parçalar: ajanın konuşarak aşamayacağı bir kontrolcü, kanıt olarak yazılmış bir durma koşulu, sert bir sınır ve aynı kontrol tekrar tekrar başarısız olunca ne yapılacağına dair bir kural. Sonraki üç ders bunları tek tek ekliyor.
Yalın Ralph döngüsünün bilinen zayıflığı nedir?
Bölüm tamamlandı
Loop engineering kursunun 6 bölümünden 3. bölümü bitirdiniz.
Loop, kontrolünün ölçtüğü şeyi optimize eder, bu yüzden zayıf kontrol kendinden emin yanlış iş üretir. Önce kontrolü kurun, yapanı ve kontrol edeni ayırın, kontrolcüyü kendi muhakemenize göre kalibre edin.
Sonraki bölüm