13 puan yazan GN⁺ 4 시간 전 | Henüz yorum yok. | WhatsApp'ta paylaş
  • Kodlama ajanına her istemde talimat vermek yerine, durdurma koşulu karşılanana kadar iş döngüsünü yineleyen bir ajan işletim kalıbına geçiliyor
  • Claude Code ekibi döngüleri dört ölçüte göre sınıflandırıyor: tetiklenme biçimi, durdurulma biçimi, kullanılan primitive’ler, uygun iş türleri
  • Başlıca döngü türleri dört taneden oluşuyor: Turn-based, Goal-based, Time-based, Proactive
  • Her iş için karmaşık bir döngü gerekmez; en basit çözümden başlayıp kalıpları seçici biçimde uygulamak gerekir
  • Döngü çıktısının kalitesi çevre sistemlere bağlı olduğundan kod kalitesini korumak ve token kullanımını yönetmek kritik önemdedir

Döngünün tanımı ve sınıflandırma ölçütleri

  • Claude Code ekibi döngüyü, durdurma koşulu karşılanana kadar iş döngüsünü yineleyen bir ajan olarak tanımlıyor
  • Döngü sınıflandırması için dört ölçüt sunuluyor
    • Nasıl tetikleniyor?
    • Nasıl durduruluyor?
    • Hangi Claude Code primitive’lerini kullanıyor?
    • En çok hangi tür işler için uygun?
  • Karmaşık döngüler her zaman gerekli değildir; önce basit çözüm, ardından kalıpları seçici kullanım

Turn-based döngüler

  • Kullanıcı istemi ile tetiklenir; Claude işin tamamlandığına karar verdiğinde veya ek bağlama ihtiyaç duyduğunda durur
  • Düzenli bir sürece ya da takvime bağlı olmayan kısa işler için uygundur
  • Yönetim yöntemi: somut istemler yazmak ve skills kullanarak doğrulamayı iyileştirip tur sayısını azaltmak
  • Her istem, kullanıcının her turu yönlendirdiği manuel bir döngü başlatır; buna agentic loop denir
    • Claude bağlam toplar → eylem gerçekleştirir → işi kontrol eder → gerekirse tekrarlar → yanıt verir
    • Örnek: like düğmesi oluşturma isteğinde kodu okur, düzenler, testleri çalıştırır ve sonucu döndürür; ardından kullanıcı manuel kontrol yapıp sonraki istemi yazar
  • Doğrulama aşamasında manuel prosedürler SKILL.md içine kodlanarak Claude’un kendi kendine kontrol kapsamı genişletilebilir
    • Sonucu görüp ölçebilecek veya onunla etkileşime geçebilecek araç ve connector’ların dahil edilmesi gerekir
    • Doğrulama ne kadar nicel olursa, kendi kendine doğrulama o kadar kolaylaşır
  • SKILL.md örneği (verify-frontend-change)

    • UI değişikliğini tamamlandı ilan etmeden önce uçtan uca doğrulama kuralı
    • Yalnızca düzenlemenin başarılı olmasına bakarak tamamlandı raporu vermeyi yasaklar; bir insan reviewer gibi doğrular
      • dev sunucusunu başlattıktan sonra düzenlenen sayfayı tarayıcıda açma
      • Değiştirilen öğeyi doğrudan kullanma (düğme, giriş alanı, toggle tıklama), durum değişimini kontrol etme, öncesi/sonrası ekran görüntüleri alma
      • Tarayıcı konsolunda yeni hata ve uyarıların sıfır olduğunu doğrulama
      • Chrome Devtools MCP ile performans trace’i çalıştırma ve Core Web Vitals denetimi yapma
    • Bir adım başarısız olursa düzeltip 1. adımdan yeniden çalıştırma; kısmi doğrulama durumuyla geri dönmeyi yasaklama

Goal-based döngüler (/goal)

  • Gerçek zamanlı manuel istem ile tetiklenir; hedefe ulaşıldığında veya maksimum tur sayısına varıldığında durur
  • Doğrulanabilir bitiş ölçütleri olan işler için uygundur
  • Yönetim yöntemi: somut tamamlanma ölçütleri ve açık tur üst sınırı belirlemek; “5 denemeden sonra dur”
  • Tek turun yetmediği karmaşık işlerde ajan, yineleme (iterate) yaptığında daha iyi performans gösterir
  • /goal ile tamamlanma durumu tanımlandığında Claude “yeterince iyi mi?” diye kendi başına karar verip erken bitirmez
    • Claude her durmaya çalıştığında bir evaluator model koşulları kontrol eder; hedefe ulaşılana veya belirtilen tur sayısına varılana kadar yeniden çalışılır
    • Geçen test sayısı, belirli bir skor eşiği gibi deterministik ölçütler etkilidir
  • Örnek
    • /goal get the homepage Lighthouse score to 90 or above, stop after 5 tries.

Time-based döngüler (/loop ve /schedule)

  • Belirli zaman aralıklarında tetiklenir; kullanıcı iptal ettiğinde veya iş tamamlandığında (PR merge edilmesi, kuyruğun boşalması) durur
  • Tekrarlayan işler ya da dış ortam/sistemlerle arayüz kurma için uygundur
  • Yönetim yöntemi: aralıkları uzun ayarlamak veya zamana değil olay tabanlı tepkilere dayanmak
  • Bazı agentic işler tekrarlıdır; iş aynıdır, yalnızca girdi değişir. Örnek: Her sabah Slack mesajlarını özetleme
  • Dış sistemlere bağımlı işler, her aralıkta kontrol edip değişikliğe tepki vererek arayüzlenir. Örnek: Kod incelemesi veya CI hatası oluşan PR
  • /loop, istemi her aralıkta yeniden çalıştırır
    • /loop 5m check my PR, address review comments, and fix failing CI
  • /loop kullanıcının bilgisayarında çalışır ve kapatıldığında durur; /schedule ile routine oluşturup bunu buluta taşımak mümkündür

Proactive döngüler

  • Olay veya takvim ile tetiklenir; gerçek zamanlı insan müdahalesi yoktur
  • Her iş, hedefe ulaşıldığında sona erer; routine’in kendisi kullanıcı kapatana kadar çalışır
  • Hata raporları, issue sınıflandırma, migration, bağımlılık yükseltmeleri gibi iyi tanımlanmış tekrarlı iş akışları için uygundur
  • Yönetim yöntemi: routine’i daha küçük ve hızlı modellere yönlendirmek, yalnızca muhakeme gerektiren kısımlarda en güçlü modeli kullanmak
  • Yukarıdaki primitive’ler; auto mode, dynamic workflows (research preview) vb. ile birleştirilerek uzun süre çalışan döngüler oluşturulur
  • Geri bildirim işleme yapılandırması örneği

    • /schedule (research preview) ile yeni raporları kontrol eden routine çalıştırma
    • /goal ile tamamlanmayı tanımlama, skills ile doğrulama yöntemini belgeleme
    • Dynamic workflows ile her raporun sınıflandırma, düzeltme ve inceleme ajanlarını orkestre etme
    • Auto mode ile izin onayı olmadan routine çalıştırma
    • Birleşik istem örneği: /schedule every hour: check the project-feedback channel for bug reports. /goal: don't stop until every report found this run is triaged, actioned, and responded to. When fixing a bug, use a workflow to explore three solutions in parallel worktrees and have a judge adversarially review them.

Kod kalitesini koruma

  • Döngü çıktısının kalitesi çevre sistemlere bağlı olduğundan sistem tasarımı önemlidir
  • Kod tabanını temiz tutma: Claude mevcut kod tabanının kalıplarını ve konvansiyonlarını izler
  • Kendi kendine doğrulama araçları sağlama: skills ile ekibin “iyi durum” ölçütleri kodlanır
  • Dokümantasyona erişimi kolaylaştırma: Framework ve kütüphane dokümantasyonlarında güncel en iyi pratikler bulunur
  • Kod incelemesi için second agent kullanma: Yeni bağlama sahip reviewer daha az önyargılıdır ve ana ajanın akıl yürütmesinden etkilenmez; yerleşik /code-review skill’i veya Github için Code Review kullanılır
  • Tekil sonuçlar standardın altındaysa yalnızca tekil issue’ları düzeltmekle kalmayıp, sistemin kendisini iyileştirecek şekilde kodlama yapılır

Token kullanımını yönetme

  • Döngülerin net sınırları olmalı ve aşağıdaki ilkeler uygulanmalıdır
  • Uygun primitive ve model seçimi: Küçük işler için çoklu ajan veya döngü gerekmez; bazı işler için daha ucuz ve hızlı modeller kullanılır
  • Net başarı ve durdurma ölçütleri tanımlama: Tamamlanma durumunu somutlaştırarak çok erken olmayacak şekilde sonuca ulaşma
  • Büyük ölçekli çalıştırmadan önce pilot uygulama: dynamic workflows yüzlerce ajan oluşturabilir; önce küçük kapsamda kullanım ölçülür
  • Deterministik işler için script kullanma: Adımları muhakeme ettirmek yerine script çalıştırmak daha ucuzdur; örneğin PDF skill’i form doldurma script’i sağlar ve her seferinde kodu yeniden üretmek yerine onu çalıştırır
  • Routine’leri gereğinden fazla çalıştırmama: Aralığı, izlenen öğenin değişim sıklığına uydurma
  • Kullanımı gözden geçirme: /usage, skills, subagents ve MCP’lere göre kullanım analizi yapar; argümansız /goal mevcut tur sayısını ve token kullanımını gösterir; /workflows her ajanın token kullanımını gösterir ve istenildiği zaman durdurulabilir

Başlarken

  • Döngü türlerine göre özet
    • Turn-based: Doğrulama (check) işlemini devretme; keşif ve karar süreçlerinde kullanma; özel doğrulama skills’lerinden yararlanma
    • Goal-based: Durdurma koşulunu devretme; tamamlanma durumunu bildiğinizde kullanma; /goal kullanma
    • Time-based: Tetiklemeyi devretme; iş proje dışından takvimle geldiğinde kullanma; /loop ve /schedule kullanma
    • Proactive: İstemi devretme; tekrarlı ve iyi tanımlanmış işlerde kullanma; yukarıdakilerin tümüyle dynamic workflows kullanma
  • Başlama yöntemi: Halihazırda yaptığınız işlere bakıp kendisinde darboğaz olduğunuz bir işi seçerek hangi kısmın devredilebileceğine karar vermek
    • Doğrulama kontrolü yazabilir misiniz?
    • Hedef yeterince net mi?
    • İş takvimle mi geliyor?
  • Fikir oluştuğunda döngüyü çalıştırın; tıkandığı veya aşırı çalıştığı noktaları gözlemleyin ve yinelemeli iyileştirmeden çekinmeyin

Henüz yorum yok.

Henüz yorum yok.