Şu sıralar kodlama ajanınıza komut vermek yerine "döngüler tasarlamak" hakkında çok fazla konuşma var. X'te bir döngünün gerçekte ne olduğunu tam olarak anlamaya çalışarak biraz zaman geçirirseniz, birden çok farklı cevapla karşılaşırsınız.
Claude Code ekibinde, döngüleri, bir durma koşulu karşılanana kadar iş döngülerini tekrarlayan ajanlar olarak tanımlıyoruz. Aşağıdakilere göre birkaç farklı döngü türünü kategorize ediyoruz:
- Nasıl tetiklendikleri
- Nasıl durduruldukları
- Hangi Claude Code ilkelinin kullanıldığı
- Her birinin hangi tür görev için en uygun olduğu.
Ana döngü türlerini, her birini ne zaman kullanacağınızı ve token kullanımını yönetirken kod kalitesini nasıl koruyacağınızı ele alacağız. Tüm görevler karmaşık döngüler gerektirmez; en basit çözümle başlayın ve bu kalıpları seçici olarak kullanın.
Sıra tabanlı döngüler

- Şunun tarafından tetiklenir: Bir kullanıcı komutu.
- Durdurma kriteri: Claude, görevi tamamladığına veya ek bağlama ihtiyacı olduğuna karar verir.
- En iyi şu amaçla kullanılır: Düzenli bir sürecin veya programın parçası olmayan daha kısa görevler.
- Kullanımı şu şekilde yönetilir: Belirli komutlar yazın ve tur sayısını azaltmak için becerileri kullanarak doğrulamayı iyileştirin.
Gönderdiğiniz her komut, her turu sizin yönlendirdiğiniz manuel bir döngü başlatır. Claude bağlamı toplar, harekete geçer, işini kontrol eder, gerekirse tekrarlar ve yanıt verir. Buna ajan döngüsü diyoruz.
Örneğin, Claude'dan bir beğeni butonu oluşturmasını isteyin. Kodunuzu okur, düzenlemeyi yapar, testleri çalıştırır ve çalıştığına inandığı bir şeyi size geri verir. Daha sonra işi manuel olarak kontrol eder ve bir sonraki komutu yazarsınız.
Manuel adımlarınızı bir SKILL.md dosyası olarak kodlayarak doğrulama adımını iyileştirebilirsiniz, böylece Claude kendi işinin daha fazlasını uçtan uca kontrol edebilir. Bu, Claude'un sonucu görmesini, ölçmesini veya etkileşime girmesini sağlayacak araçları veya bağlayıcıları içermelidir. Kontroller ne kadar nicel olursa, Claude'un kendi kendini doğrulaması o kadar kolay olur.
Örneğin, SKILL.md dosyanızda aşağıdakileri belirtebilirsiniz:
1---2name: verify-frontend-change3description: Herhangi bir UI değişikliğini tamamlandı olarak bildirmeden önce uçtan uca doğrulayın.4---56# Ön uç değişikliklerini doğrulama7Bir UI değişikliğini yalnızca başarılı bir düzenlemeye dayanarak asla tamamlanmış olarak bildirmeyin. Bunu, bir insan inceleyicinin yapacağı gibi doğrulayın:891. Geliştirme sunucusunu başlatın ve düzenlenen sayfayı tarayıcıda açın.10112. Değişiklikle doğrudan etkileşime geçin. Yeni bir kontrol (buton, giriş, geçiş) için: tıklayın, beklenen durum değişikliğini onaylayın ve öncesi/sonrası ekran görüntüsü alın.12133. Tarayıcı konsolunu kontrol edin: sıfır yeni hata veya uyarı.14154. Chrome Devtools MCP'yi kullanın, bir performans izi çalıştırın ve Temel Web Verilerini denetleyin.1617Adımlardan herhangi biri başarısız olursa, sorunu düzeltin ve 1. adımdan itibaren yeniden çalıştırın — kısmen doğrulanmış işi geri vermeyin.
Hedef tabanlı döngü (/goal)

- Şunun tarafından tetiklenir: Gerçek zamanlı olarak manuel bir komut.
- Durdurma kriteri: Hedefe ulaşıldı VEYA maksimum tur sayısına ulaşıldı.
- En iyi şu amaçla kullanılır: Doğrulanabilir çıkış kriterleri olan görevler.
- Kullanımı şu şekilde yönetilir: Belirli bir tamamlama kriteri ve açık tur sınırları belirleyerek, "5 denemeden sonra dur."
Bazen, özellikle daha karmaşık görevler için tek bir tur yeterli olmaz. Ajanlar yineleme yapabildiklerinde daha iyi performans gösterirler. /goal ile işin ne zaman bittiğini tanımlayarak Claude'un ne kadar süre yineleme yapmaya devam edeceğini uzatabilirsiniz.
Başarı kriterini tanımladığınızda, Claude'un "yeterince iyi" olanın ne olduğuna karar vermesi ve döngüyü erken sonlandırması gerekmez. Claude her durmaya çalıştığında, bir değerlendirici model koşulunuzu kontrol eder ve hedefe ulaşılana veya tanımladığınız sayıda tura ulaşılana kadar onu işe geri gönderir.
Bu nedenle, geçilen test sayısı veya belirli bir puan eşiğini geçme gibi deterministik kriterler çok etkilidir.
Örneğin:
1/goal ana sayfa Lighthouse puanını 90 veya üzerine çıkar, 5 denemeden sonra dur.
Zaman tabanlı döngü (/loop ve /schedule)
- Şunun tarafından tetiklenir: Belirtilen bir zaman aralığı.
- Durdurma kriteri: Siz iptal edersiniz veya iş tamamlanır (PR birleşir, kuyruk boşalır).
- En iyi şu amaçla kullanılır: Tekrarlanan işler veya harici ortamlar/sistemlerle arayüz oluşturmak için.
- Kullanımı şu şekilde yönetilir: Daha uzun aralıklar ayarlayın veya zaman yerine olaylara göre tepki verin.
Bazı ajan işleri tekrarlanır: görev aynı kalır ve yalnızca girdiler değişir. Örneğin, her sabah Slack mesajlarını özetlemek. Diğer işler harici sistemlere bağlıdır ve bunlarla arayüz oluşturmanın basit bir yolu, onu belirli aralıklarla kontrol etmek ve değişenlere tepki vermektir. Örneğin, kod incelemeleri alabilen veya CI'da başarısız olabilen bir PR.
Bunlar için, Claude'u bir aralıkta bir komutu yeniden çalıştıran \/loop\ ile çalıştırdığınızda tetikleyebilirsiniz. Örneğin:
1/loop 5dk PR'imi kontrol et, inceleme yorumlarını ele al ve başarısız olan CI'ı düzelt
\/loop\ bilgisayarınızda çalışır, bu nedenle kapatırsanız durur. \/schedule\ ile bir rutin oluşturarak döngüyü buluta taşıyabilirsiniz.
Proaktif döngüler

- Şunun tarafından tetiklenir: Gerçek zamanlı olarak insan olmadan bir olay veya program.
- Durdurma kriteri: Her görev, hedefine ulaşıldığında sona erer. Rutinin kendisi siz kapatana kadar çalışır.
- En iyi şu amaçla kullanılır: İyi tanımlanmış işlerin tekrarlanan akışları: hata raporları, sorun triyajı, geçişler, bağımlılık yükseltmeleri vb.
- Kullanımı şu şekilde yönetilir: Rutinleri daha küçük, daha hızlı modellere yönlendirmek ve karar anlarında en yetenekli modeli kullanmak.
Yukarıdaki ilkeller, otomatik mod ve dinamik iş akışları (araştırma ön izlemesi) gibi diğer Claude Code özellikleriyle birlikte, uzun süreli çalışmalar için bir döngü halinde birleştirilebilir.
Örneğin, gelen geri bildirimleri işlemek için aşağıdakileri kullanabilirsiniz:
- Yeni raporları kontrol eden bir rutini çalıştırmak için `/schedule` (araştırma ön izlemesi)
- İşin ne zaman bittiğini tanımlamak için `/goal` ve nasıl doğrulanacağını belgelemek için beceriler
- Her raporu triyaj yapan, düzelten ve düzeltmeyi gözden geçiren ajanları düzenlemek için Dinamik iş akışları
- Rutinin izin istemeden çalışması için Otomatik mod
Hepsini bir araya getirdiğimizde, bir komut şöyle görünebilir:
1/schedule her saat: proje-geri-bildirim kanalını hata raporları için kontrol et. /goal: bu çalıştırmada bulunan her rapor triyajlanana, işleme alınana ve yanıtlanana kadar durma. Bir hatayı düzeltirken, paralel çalışma ağaçlarında üç çözümü keşfetmek için bir iş akışı kullan ve bir yargıcın bunları çekişmeli olarak incelemesini sağla.
Kod kalitesini koruma
Bir döngünün çıktısının kalitesi, etrafındaki sisteme bağlıdır. Sistemi tasarlarken:
- Kod tabanını temiz tutun: Claude, kod tabanınızda zaten var olan kalıpları ve kuralları takip eder.
- Claude'a kendi işini doğrulaması için bir yol verin: Sizin ve ekibiniz için iyinin neye benzediğini becerilerle kodlayın.
- Belgeleri kolayca erişilebilir kılın: Çerçeve ve kütüphane belgeleri güncel en iyi uygulamalara sahiptir.
- Kod incelemeleri için ikinci bir ajan kullanın: Taze bağlama sahip bir inceleyici daha az önyargılıdır ve ana ajanın muhakemesinden etkilenmez. Github için yerleşik \
/code-review\becerisini veya Code Review özelliğini kullanabilirsiniz.
Bireysel bir sonuç standardı karşılamadığında, yalnızca bireysel sorunu düzeltmekle kalmayın, gelecekteki tüm yinelemeler için sistemi iyileştirmek üzere bunu kodlamaya çalışın.
Token kullanımını yönetme
Token kullanımını yönetmek için döngülerin net sınırları olmalıdır:
- İş için doğru ilkel ve modeli seçin: Daha küçük görevler birden çok ajana veya döngüye ihtiyaç duymaz. Bazı görevler daha ucuz ve daha hızlı modelleri kullanabilir.
- Net başarı ve durma kriterleri tanımlayın: İşin ne zaman bittiğine dair spesifik olun, böylece Claude çözüme daha erken (ama çok erken değil) ulaşabilir.
- Büyük bir çalıştırmadan önce pilot uygulama yapın: Dinamik iş akışları yüzlerce ajan oluşturabilir. Önce işin daha küçük bir diliminde kullanımı değerlendirin.
- Deterministik işler için komut dosyaları kullanın: Bir komut dosyasını çalıştırmak, adımlar arasında akıl yürütmekten daha ucuzdur. Örneğin, bir PDF becerisi, Claude'un kodu yeniden türetmek yerine her seferinde çalıştırdığı bir form doldurma komut dosyası gönderebilir.
- Rutinleri ihtiyacınızdan daha sık çalıştırmayın: Aralığı, izlediğiniz şeyin ne sıklıkta değiştiğiyle eşleştirin.
- Kullanımı gözden geçirin: \
/usage\komutu, son kullanımı becerilere, alt ajanlara ve MCP'lere göre ayrıştırır, bağımsız değişkensiz \/goal\şimdiye kadarki tur sayısını ve token kullanımını gösterir, \/workflows\her ajanın token kullanımını gösterir ve bir ajantı istediğiniz zaman durdurabilirsiniz.
Başlarken
Özetlemek gerekirse:
Döngü
Devrettiğiniz şey
Şu durumlarda kullanın
Ulaşın
Sıra tabanlı
Kontrol
Keşfediyor veya karar veriyorsanız
Özel doğrulama becerileri
Hedef tabanlı
Durma koşulu
İşin ne zaman bittiğini biliyorsanız
/goal
Zaman tabanlı
Tetikleyici
İş, projenizin dışında bir programa göre gerçekleşiyorsa
/loop
,
/schedule
Proaktif
Komut
İş tekrarlanıyor ve iyi tanımlanmışsa
Yukarıdakilerin tümü ve dinamik iş akışları
Döngülerle başlamak için halihazırda yaptığınız işe bakın. Darboğaz olduğunuz bir görev seçin ve hangi parçayı devredebileceğinizi sorun: doğrulama kontrolünü yazabilir misiniz? Hedef yeterince açık mı? İş bir programa göre mi geliyor?
Bir fikriniz olduğunda, döngüyü çalıştırın, nerede takıldığı veya aşırıya kaçtığı gibi sonuçları gözlemleyin ve üzerinde yineleme yapmaktan korkmayın.
Daha fazla bilgi için, Claude Code belgelerindeki ajanları paralel olarak çalıştırma ile loop, schedule, goal ve dynamic workflows sayfalarını okuyun.
Bu makale @delba_oliveira tarafından yazılmıştır.





