"Artık Claude'a komut yazmıyorum. Çalışan döngünün kendisi ve bir sonraki adımda ne yapacağına Claude'a komut vererek karar veren de o döngü. Benim işim artık döngüleri yazmak haline geldi."
Bu sözler, Claude Code'un başında yer alan Boris Cherny tarafından kamuoyu önünde dile getirildi (The New Stack ve Addy Osmani'nin makalelerinde yer aldı).
Birçoğumuz hâlâ doğruluğu artırmak için komutları iyileştirirken, aracı inşa eden kişi çoktan "komut yazan" olmaktan çıktı.
Düşündüğünüzde, "insan adımı" (ekran başında oturup yapay zekâ yanıtını beklemek, kontrol etmek ve tekrar talimat vermek) sürece dahil olduğu sürece, hız sınırını kendi ellerinizin hızı belirler.
Loop Engineering, insan adımını bu yapıdan çıkarma fikridir. Boris buna tamamen bağlı; Kasım 2024'te IDE'sini sildiğini ve o zamandan beri açmadığını söylüyor. Son bir ayda Claude Code'a yaptığı katkıların neredeyse tamamının bizzat Claude Code tarafından yazıldığını iddia ediyor (bildirildiğine göre 200'ün üzerinde PR).
Aracın yaratıcısı kodu kendisi yazmıyor, "döngünün doğru dönüp dönmediğini izleme" tarafına geçmiş durumda. Bugün, bunu yalnızca bir his olarak değil, teknik bir özellik seviyesinde açıklayacağım. Ben de döngü tarafına doğru kayma sürecindeyim ve kaydıkça ellerimin özgürleştiğini hissediyorum.
İlgili Makale: Vibe Coding'e Giriş: Kod Yazamayanların Claude ile Uygulama Yapması İçin 6 Adım. Hafta Sonu Evde Üretim Çağı Geldi

https://note.com/nobel/n/n8192ec07d689
Loop Engineering Bir Rol Değişimi Anlamına Gelir
Başka bir deyişle, konumunuz değişir. Önceden, insanın talimat verdiği, yapay zekânın yanıtladığı ve insanın kontrol edip düzelttiği bir gidiş-gelişin ortasında insan oturuyordu. Döngü tasarımında ise insanlar dolaşım mekanizmasını (döngüyü) tasarlamaktan sorumluyken, deneme-yanılma ve sonuçların doğrulaması yapay zekâ tarafına kaydırılır. İşiniz bittiğinde bir bildirim almak için beklersiniz.
Google'dan Addy Osmani, Loop Engineering başlıklı bir makalede aynı şeyi yazdı ve bunu "komut yazan kişiyi, onun yerine komut yazan bir mekanizmayla değiştirmek" olarak tanımladı. Kaldıraç noktası, iyi komutlar yazma becerisinden, yapay zekânın sizin için komut yazmasına izin veren bir sistemin nasıl tasarlanacağına kaydı. İşin özü budur.
Ancak Addy, "Henüz erken aşamalarda ve ben biraz şüpheciyim. Token maliyetlerine gerçekten dikkat etmelisiniz." diyerek uyarıyor. Bu tuzağa yazının ikinci yarısında tekrar döneceğiz.
/loop'un Teknik Özellikleri
Claude Code'un yerleşik bir becerisi vardır: /loop (sürüm 2.1.72'den itibaren). Loop engineering'e en kolay giriş noktası burasıdır. Çevrimiçi açıklamalar genellikle hatalarla karışık olduğundan, resmi zamanlanmış yürütme belgelerine dayanarak kilit noktalara odaklanacağım.
Davranış, ona ne aktardığınıza bağlı olarak değişir:
- Hem aralık hem komut:
/loop 5m check if the deployment is finished and let me knowsabit aralıklarla çalışır. - Yalnızca komut:
/loop check if the CI passed and respond to review comments. Claude, aralığı 1 dakika ile 1 saat arasında kendisi belirler (kendi hızında). - Hiçbir şey aktarılmazsa
/loop: Yerleşik bakım komutu (bitmemiş işe devam etme, PR'ları takip etme, hafif temizlik) veya yerleştirdiğiniz birloop.mddosyası çalışır.
Aralık, başta 30m veya sonda every 2 hours olacak şekilde yerleştirilebilir. Birimler s / dk / sa / g'dür. Ayrıca /loop 20m /review-pr 1234 gibi başka komutlar da aktararak kaydedilmiş becerilerin her seferinde çalışmasını sağlayabilirsiniz. Durdurmak için beklerken Esc tuşuna basın (doğal dil istekleriyle oluşturulan görevler Esc ile durmaz; silinmelerini istemeniz gerekir). Kendi hızında modda Claude, görevin gerçekten bittiğini belirlerse, bir sonraki çalıştırmayı planlamadan sona erer.
Kendi hızında modun ince bir avantajı vardır: otomatik olarak ayarlanır, bir yapı neredeyse bitmişse kısa bir süre bekler ve hiçbir şey olmuyorsa daha uzun bekler. Bazen yoklama yerine arka plan çıktısını akış haline getirmek için "Monitor" adlı bir mekanizma kullanılır ve bu, sabit aralıklarla bir komut göndermekten genellikle daha ucuzdur.
Kaynak makalelerde bulunan yaygın bir yanlış anlaşılmayı düzelteyim. Görevlerin "oluşturulduktan 3 gün sonra otomatik olarak silindiği" yazılır, ancak doğrusu, yinelenen görevler oluşturulduktan 7 gün sonra sona erer (son bir kez çalışır ve kaybolur). Ayrıca /loop oturum kapsamındadır ve yeni bir konuşma başlattığınızda kaybolur. Kapatırsanız, süresi dolmamışsa --resume ile geri dönebilirsiniz.
Kullanım durumuna göre seçilen üç zamanlama yöntemi vardır:
- Bulut (Routines): Anthropic tarafında çalışır. Makineniz kapalı olsa bile çalışır. Minimum aralık 1 saattir.
- Masaüstü Zamanlanmış Görevler: Makinenizde çalışır ve yerel dosyalara dokunabilir.
- /loop: Yalnızca oturum açıkken. Minimum 1 dakika, bir oturum sırasında yoklama yapmak için kullanışlıdır.
İş bölümü şöyledir: İnsan müdahalesi olmadan kalıcı yerleşim için Routines veya GitHub Actions kullanın, bir oturum sırasında izleme için /loop kullanın.
Döngülerin Etkili Olduğu Standart Görevler
Rutininizde "kontrol et ve biraz düzelt" şeklinde tekrarladığınız görevler genellikle döngüler için uygundur. Üç yaygın desen vardır:
- Hata Devriyesi: Sorunları veya test başarısızlıklarını tespit edin, nedeni okuyun, düzeltin, testleri çalıştırın ve düzenli aralıklarla bir PR oluşturun.
- Sürekli İnceleme: Kod değişikliklerini izleyin ve endişe verici alanları işaretlemeye devam edin. İnsanlar yalnızca önerileri kabul edip etmemeye karar verir.
- Doküman Senkronizasyonu: Kaynak değişikliklerini tespit edin ve README veya teknik özellikleri güncel tutun.
Bu üçünün ortak noktası, hedefin "testler geçti" veya "PR oluşturuldu" gibi net bir şekilde yargılanabilmesidir. Tersine, belirsiz kriterlere sahip görevler döngüler için uygun değildir. Duruş noktası net değilse, çalışmaya devam eder ve token tüketir. İlk göreviniz için başarı veya başarısızlığın ilk bakışta net olduğu birini seçmek daha güvenlidir.
"Durum Dosyaları" ile Kontrolden Çıkma ve Unutkanlığı Önleme
Döngülerle ilgili iki korku vardır: aynı hatayı tekrarlamak ve sonsuza kadar token tüketmek.
Burada projede tek bir durum dosyasıyla tasarım yapmak etkilidir. İster STATE.md ister todo.md olsun, yapay zekâ her döngü sırasında mevcut hedefi / tamamlanan öğeleri / sonraki adımları / takıldığı noktaları okur ve yazar. Oturum kesilse bile, yapay zekâ "nerede olduğunu ve neyi hedeflediğini" kaybetmez.
Bu rastgele bir uygulama değil; Anthropic, Uzun süreli çalışan ajanlar için etkili koşum takımları (Kasım 2024) adlı yazılarında neredeyse aynı sonuca ulaştı. Yapılandırmaları iki rol kullanır: ortamı hazırlamak için bir başlatıcı ajan ve oturum başına bir özelliği ilerletmek için bir kodlama ajanı. İlerleme, git commit'leri ve bir claude-progress.txt dosyası aracılığıyla oturumlar arasında aktarılır. Uzun işler için özetleme yoluyla sıkıştırma yetersizdir. Politika, yapılandırılmış bir dosyaya bir kez yazmak ve bağlamı yeniden oluşturmaktır.
Kendi operasyonlarımda, hem beyin fırtınası tarafının hem de uygulama tarafının hareket etmeden önce okuduğu paylaşılan bir durum merkezi olarak tasks/state.md kullanıyorum. Bu, makaleyle aynı: "Bağlama güvenme, dosyaya güven." Basit, ancak bu olmadan döngü ikinci turda kaybolur.
Ralph Yöntemi ve Üretici ile Denetleyiciyi Ayırma
Döngünün aşırı bir versiyonu "Ralph" yöntemidir. Geoffrey Huntley tarafından popüler hale getirilen orijinal kaynak basit bir bash döngüsüdür:
Aynı komutu sonsuza kadar besleyerek ve planın bulunduğu bir Markdown dosyasını diskte paylaşılan durum olarak kullanarak, yapay zekâ her seferinde okur ve "bir sonraki adımda ne yapacağına" kendisi karar verir. Pervasızca görünüyor, ancak bir durum dosyası olduğu için her turda ilerler. Claude Code'un ayrıca, bir tamamlanma koşulu (tamamlama vaadi) karşılanana kadar aynı komutu tekrar göndermeye devam eden resmi bir ralph-loop eklentisi vardır. Tamamlandığının ancak gerçekten başarıldığında bildirilmesi gibi bir kısıtlama vardır.
Ancak her şeyi bir yapay zekâya bırakırsanız, kendi yazdığı koda "iyi" diyecektir. Burada, oluşturan yapay zekâ (Üretici) ile inceleyen yapay zekâyı (Denetleyici) ayırmak etkilidir. Kendi operasyonlarımda, uygulama ve doğrulamayı farklı ajanlara ayırıyorum ve doğrulama tarafına uygulama amacını vermiyorum; yalnızca gereksinimleri gösteriyorum ve bağımsız olarak değerlendirmesine izin veriyorum. Aynı oturumda kendi kendine incelemenin kaçınılmaz olarak hoşgörülü olduğunu zor yoldan öğrendim.
"Farklı bir bakış açısına sahip yalnızca inceleme yapan bir ajantı döngüye dahil etmek - bu çok katmanlı kontrolü tasarlamak, insanların saklaması gereken işlerden biridir."
Üç Aşamada Tasarım Özerkliği
Her şeyi birden emanet etmek kazalara yol açacaktır. Katılım seviyesini katmanlara ayırmak daha güvenlidir:
- L1 (Manuel): İnsanlar komutları yazar ve her birini kontrol eder. Geleneksel yol.
- L2 (Yarı Özerk Döngü): Bir durum dosyasını takip edin ve
/loopile belirli bir görev kümesini tamamlanana kadar izleyin. - L3 (Yerleşik): İnsan müdahalesi olmadan Routines veya GitHub Actions aracılığıyla sürekli çalıştırın.
L2 ile başlamak gerçekçidir. /loop ile bir görevi tamamlanana kadar çalıştırın ve davranışı gözlemleyin. Güvenilirlik aralığını gördükten sonra L3'e geçin. İlk birkaç seferimde, "yanlış kararı nerede verdiğini" görmek için günlükleri bir yan ekranda izledim.
Tuzaklar (Bunları Önceden Bilin)
Yalnızca iyi yönlerini yazdığım için, takılabileceğiniz üç nokta şunlardır:
- Token Maliyetleri: Döngüler çalıştıkça daha fazla tüketir. Addy'nin vurguladığı da buydu; aralığı çok kısa ayarlarsanız, bir gecede hatırı sayılır bir miktara mal olabilir. Sabit aralıklardan ziyade kendi hızında mod daha iyidir çünkü gerektiğinde bekler ve israfı azaltır.
- Geri Alınamayan İşlemler: Yerleşik bakım komutu, yalnızca "konuşmada zaten izin verilen aralıkta" itme veya silme gibi geri alınamayan eylemler gerçekleştirir. Kendi komutlarınızı yazarken, yıkıcı işlemler için sınırları kendiniz tanımlamanız daha güvenlidir.
- 7 Gün İçinde Kaybolur: Yinelenen
/loopgörevleri, oluşturulduktan 7 gün sonra sona erer. Daha uzun süre çalıştırmak istiyorsanız, Routines veya Masaüstü görevlerine geçin.
Orta Seviye Kullanıcılar İçin Notlar
/loopve/goalfarklıdır./looparalığa göre çalışır. Bir koşul karşılanana kadar her turda devam etmesini istiyorsanız/goalkullanın. Bir olayın meydana geldiği anda tepki vermesini istiyorsanız, Kanallar aracılığıyla push kullanın.- Bir
loop.md(.claude/loop.mdveya~/.claude/loop.md) yerleştirmek, çıplak bir/loopun varsayılan komutunu kendi komutunuzla değiştirmenize olanak tanır. "Sürüm dalı CI'ı kırmızıysa düzelt" gibi rutin görevler yazmak için kullanışlıdır. - Oturum başına en fazla 50 zamanlanmış görev. Listeyi
CronListile görebilir veCronDeleteile ID'ye göre silebilirsiniz.
Özet
Önceden, ekran başında geçirdiğim zaman ilerlemenin üst sınırıydı. Şimdi, ben uyurken bir durum dosyası okuyan bir döngü, her seferinde bir özellik ilerletiyor ve sabahım bu ilerlemeyi kontrol ederek başlıyor.
İçeriği (komut doğruluğunu) geliştirmeden önce, çalışma şeklini (döngülerin ayrılması, durum yönetimi ve doğrulama) tasarlayın. Kaldıraç oraya kaydı - Boris, Addy ve Anthropic'in koşum takımının hikayelerindeki ortak nokta budur. Bunun zor bir teori değil, döngüyü başlatmadan önce ne zaman duracağınıza karar vermek gibi basit tasarımların istikrarlı bir birikimi olduğuna inanıyorum.

X'te paylaşılamayan faydalı bilgiler LINE OpenChat'te paylaşılıyor. Claude Code/Codex kullanımı veya X operasyonları için yapay zekâ kullanmakla ilgileniyorsanız, lütfen bize katılın.





