Geçen hafta, Claude Code'da dinamik workflow'lar yayınladık. Claude artık anında, eldeki göreve özel olarak kendi harness'ini yazabiliyor.
Varsayılan Claude Code harness'i kodlama için tasarlanmış olsa da, birçok başka tür görev için de kullanışlıdır çünkü görünen o ki birçok görev kodlama görevlerine benzer. Ancak, Araştırma, güvenlik analizi, ajan ekipleri veya Kod İncelemesi gibi en yüksek performansa ulaşmak için Claude Code'un üzerine özel harness'ler inşa etmemiz gereken belirli görev sınıfları var.
Workflow'lar, Claude'un tüm bu sorunları ve daha fazlasını Claude Code içinde yerel olarak çözmesini sağlayan harness'leri dinamik olarak oluşturmanıza olanak tanır. Ayrıca bu workflow'ları başkalarıyla paylaşabilir ve yeniden kullanabilirsiniz.
Bu yazıda, ilk workflow deneyimlerimi ve öğrendiklerimi ele alacağım, böylece bundan tam anlamıyla faydalanabilirsiniz.
Bununla birlikte, en iyi uygulamalar hâlâ gelişiyor! Dinamik workflow'lar genellikle daha fazla token kullanır, bu nedenle ne zaman ve nasıl kullanılacağını dikkatlice düşünün.
Not: bu yazı ayrıca Claude Blog'da da mevcut
Örnek prompt'lar
Teknik detaylara dalmadan önce, workflow'ların olanakları hakkında fikir edinmeniz için bazı örnek prompt'larla başlamak istiyorum:
- "Bu test yaklaşık 50'de 1 kez başarısız oluyor. Bunu yeniden üretmek, teoriler oluşturmak ve bunları worktree'lerde adversarial olarak test etmek için bir workflow kur /goal bir teori işe yarayana kadar durma."
- "Bir workflow kullanarak son 50 oturumumu tara ve sürekli yaptığım düzeltmeleri çıkar, tekrar edenleri CLAUDE.md kurallarına dönüştür."
- "Slack'te son altı aydaki #incidents kanalını tara ve kimsenin ticket açmadığı tekrarlayan kök nedenleri bulmak için bir workflow kullan."
- "İş planımı al ve farklı ajanların onu bir yatırımcı, bir müşteri ve bir rakip perspektifinden paramparça ettiği bir workflow çalıştır."
- "İşte 80 özgeçmişten oluşan bir klasör, backend rolü için onları sıralamak üzere bir workflow kullan ve ilk on'u tekrar kontrol et. Bir rubrik için AskUserQuestion aracını kullanarak benimle mülakat yap."
- "Bu CLI aracı için bir isme ihtiyacım var. Bir workflow kullanarak bir sürü seçenek üret ve en iyi 3'ü seçmek için bir turnuva çalıştır."
- "User modelimizin adını her yerde Account olarak değiştirmek için bir workflow kullan."
- "Blog yazısı taslağımı gözden geçir ve bir workflow kullanarak her teknik iddiayı kod tabanına karşı doğrula, yanlış bir şey yayınlamak istemiyorum."
Dinamik workflow'lar nasıl çalışır
Dinamik workflow'lar, alt ajanları başlatmaya ve koordine etmeye yardımcı olan birkaç özel işleve sahip bir javascript dosyası yürütür:

Dinamik workflow'lar ayrıca verileri işlemeye yardımcı olmak için JSON, Math ve Array gibi standart JavaScript işlevlerini de içerir.
Dinamik workflow'ların bir ajanın hangi modelleri kullanacağına ve alt ajanların kendi worktree'lerinde çalıştırılıp çalıştırılmayacağına karar verebileceğini bilmek özellikle yararlıdır; bu, Claude'un ihtiyaç duyulan zeka seviyesini ve izolasyonu seçmesine olanak tanır.
Bir workflow kesintiye uğrarsa, örneğin kullanıcı eylemi veya terminalin kapatılmasıyla, oturumu devam ettirmek workflow'un kaldığı yerden devam etmesini sağlar.
Neden dinamik workflow'lar
Varsayılan Claude Code harness'inden bir görevi yapmasını istediğinizde, hem planlamayı hem de yürütmeyi aynı bağlam penceresinde yapması gerekir. Birçok kodlama görevi için bu oldukça etkilidir, ancak uzun süreli, büyük ölçüde paralel ve/veya oldukça yapılandırılmış adversarial görevlerde bazen bozulabilir.
Bunun nedeni, Claude'un tek bir bağlam penceresinde karmaşık bir görev üzerinde ne kadar uzun süre çalışırsa, birkaç belirli başarısızlık moduna o kadar duyarlı hale gelmesidir:
- Ajan tembelliği, Claude'un özellikle karmaşık, çok parçalı bir görevi bitirmeden önce durup kısmi ilerlemeden sonra işi tamamlanmış ilan etmesini ifade eder; örneğin bir güvenlik incelemesinde 50 maddeden 20'sini ele almak gibi.
- Kendini kayırma yanlılığı, Claude'un, özellikle bir rubriğe karşı doğrulaması veya değerlendirmesi istendiğinde, kendi sonuçlarını veya bulgularını tercih etme eğilimini ifade eder.
- Hedef sapması, birçok adım boyunca, özellikle sıkıştırmadan sonra, orijinal hedefe olan bağlılığın kademeli olarak kaybolmasını ifade eder. Her özetleme adımı kayıplıdır ve uç durum gereksinimleri veya "şunu yapma" kısıtlamaları gibi ayrıntılar kaybolabilir.
Bir workflow oluşturmak, kendi bağlam pencerelerine ve odaklanmış, izole hedeflere sahip ayrı Claudeları orkestre ederek bunlarla mücadeleye yardımcı olur.
Dinamik ve statik workflow'lar
Daha önce Claude Agent SDK veya claude -p kullanarak birden fazla Claude Code örneğini bir arada koordine etmek için statik bir workflow oluşturmuş olabilirsiniz.
Ancak statik workflow'lar tüm uç durumlar için çalışması gerektiğinden genellikle daha geneldir. Claude Opus 4.8 ve dinamik workflow'larla birlikte, Claude artık kullanım durumunuza özel olarak uyarlanmış özel bir harness yazacak kadar zekidir.

Dinamik workflow'ları kullanırken faydalı kalıplar
Dinamik workflow'ları kullanmaya başlamak için sadece Claude'dan bir tane yapmasını isteyebilir veya Claude Code'un bir workflow oluşturmasını sağlamak için "ultracode" tetikleyici kelimesini kullanabilirsiniz.
Ancak dinamik workflow'ların nasıl çalıştığına dair bir zihinsel model oluşturmak, bunları ne zaman kullanacağınızı ve Claude'u prompt'lar aracılığıyla nasıl yönlendirebileceğinizi anlamanıza yardımcı olacaktır.
Workflow'lar oluşturulurken Claude'un kullanabileceği ve bir araya getirebileceği birkaç yaygın kalıp vardır:

Sınıflandır-ve-harekete-geç
Görev türüne karar vermek için bir sınıflandırıcı ajan kullanın ve ardından göreve göre farklı ajanlara veya davranışlara yönlendirin. Veya çıktıyı belirlemek için sonda bir sınıflandırıcı kullanın.
Yay-ve-sentezle
Bir görevi birçok küçük adıma bölün, her adımda bir ajan çalıştırın ve ardından bu sonuçları sentezleyin. Bu, özellikle çok sayıda küçük adım olduğunda veya her adımın birbirine karışmaması veya çapraz bulaşma olmaması için kendi temiz bağlam penceresinden faydalandığında kullanışlıdır. Sentezleme adımı bir bariyerdir; tüm yayılma ajanlarını bekler, ardından yapılandırılmış çıktılarını tek bir sonuçta birleştirir.
Adversarial doğrulama
Başlatılan her ajan için, çıktısını bir rubriğe veya kritere göre adversarial olarak doğrulamak üzere ayrı bir başlatılmış ajan çalıştırın.
Oluştur-ve-filtrele
Bir konu hakkında bir dizi fikir oluşturun ve ardından bunları bir rubrik veya doğrulama ile filtreleyin, kopyaları temizleyin ve yalnızca en yüksek kaliteli, test edilmiş fikirleri döndürün.
Turnuva
İşi bölmek yerine, ajanların bunun üzerinde rekabet etmesini sağlayın. Her biri aynı görevi farklı yaklaşımlar kullanarak deneyen N tane ajan başlatın. Ardından prompt'lar veya modeller, bir kazananınız olana kadar bir değerlendirme ajanı kullanarak sonuçları ikili olarak değerlendirir.
Bitene kadar döngüye al
Bilinmeyen miktarda iş içeren görevler için, sabit sayıda geçiş yerine bir durdurma koşulu (yeni bulgu yok veya günlüklerde daha fazla hata yok) karşılanana kadar ajanları döngüye alarak başlatın.
Kullanım senaryoları
Claude Code'tan dinamik workflow'lar yapmasını ne zaman ve nasıl isteyeceğinizi yaratıcı bir şekilde düşünün. Workflow'ların bazen teknik olmayan işler için daha da kullanışlı olduğunu gördüm.

Geçişler ve yeniden düzenlemeler
Bun, workflow'lar kullanılarak Zig'den Rust'a yeniden yazıldı. Bunun nasıl yapıldığı hakkında daha fazla bilgiyi Jarred'in X başlığında okuyabilirsiniz.
Anahtar, görevi, örneğin çağrı noktaları, başarısız testler, modüller vb. üzerinde işlem yapılması gereken bir dizi adıma bölmektir. Her düzeltme için bir worktree'de bir alt ajan başlatın, düzeltmeyi yapmasını sağlayın, ardından başka bir ajanın adversarial olarak incelemesini sağlayın ve birleştirin. Kaynak yoğun komutlar kullanmamasını söylemeyi düşünün, böylece makinenizde kaynaklar tükenmeden maksimum düzeyde paralelleştirme yapabilirsiniz.
Derin araştırma
Claude Code içinde dinamik workflow'lar kullanan bir derin araştırma becerisi (/deep-research) yayınladık. Spesifik olarak, web aramalarını yayar, kaynakları getirir, iddialarını adversarial olarak doğrular ve atıf yapılmış bir rapor sentezler.
Ancak bu tür bir araştırmayı yalnızca web aramalarından daha fazlası için yapabilirsiniz. Örneğin, Claude'dan Slack'teki bağlamdan bir durum raporu derlemesini veya bir kod tabanını derinlemesine keşfederek bir özelliğin nasıl çalıştığını araştırmasını istemek gibi.
Derin doğrulama

Öte yandan, atıfta bulunduğu her olgusal iddiayı kontrol etmek ve kaynağını bulmak istediğiniz bir raporunuz varsa, tüm olgusal iddiaları belirleyen bir ajanı ve ardından her birini ayrıntılı olarak kontrol etmek için bir alt ajan başlatan bir workflow oluşturmak isteyebilirsiniz. Ayrıca, kaynak alt ajanının kaynağının yüksek kalitede olduğundan emin olmak için bir doğrulama ajanı da kullanabilirsiniz.
Sıralama

Claude Code'un değerlendirmede iyi olduğuna inandığınız bazı nitel ölçütlere göre sıralamak istediğiniz bir öğe listeniz olabilir; örneğin, hatanın ciddiyetine göre sıralanmış destek biletleri. Ancak 1000'den fazla satırı tek bir prompt'ta sıralamaya çalışırsanız kalite düşer ve bağlama sığmaz. Bunun yerine bir turnuva, ikili karşılaştırma ajanlarından oluşan bir ardışık düzen (karşılaştırmalı yargı, mutlak puanlamadan daha güvenilirdir) çalıştırın veya paralel olarak grup halinde sıralayıp ardından birleştirin. Her karşılaştırma kendi ajanıdır, bu nedenle deterministik döngü parantezi tutar ve yalnızca çalışma sırası bağlamda kalır.
Bellek ve kural uyumu

Claude'un CLAUDE.md'lere konulduğunda bile kaçırdığını veya zorlandığı belirli bir kural kümeniz varsa, doğrulayıcı ajanlar tarafından kontrol edilmesi gereken bir kural listesiyle (kural başına bir doğrulayıcı) bir workflow oluşturun. Kuralların uyumlu olduğundan emin olmak için bunları gözden geçiren bir şüpheci kişiliği alt ajanı oluşturmak, çok fazla yanlış pozitiften kaçınmaya yardımcı olacaktır.
Ters yön de işe yarar: son oturumlarınızı ve kod inceleme yorumlarınızı, sürekli yaptığınız düzeltmeler için tarayın, bunları paralel ajanlarla kümeleyin, her adayı adversarial olarak doğrulayın (bu kural gerçek bir hatayı önler miydi?) ve ardından hayatta kalanları tekrar bir CLAUDE.md dosyasına damıtın.
Kök neden araştırması
Hata ayıklama, birkaç bağımsız hipotez oluşturup bunları test ettiğinizde en iyi sonucu verir, ancak yalnızca bir bağlam penceresi kullanıyorsanız Claude kendini kayırma yanlılığına takılabilir.
Bir workflow, ayrık kanıtlardan hipotezler oluşturmak için ajanlar başlatarak bunu yapısal olarak önleyebilir. Örneğin, günlükler, dosyalar ve veriler için ayrı ajanlar. Daha sonra her hipotez bir doğrulayıcı ve çürütücü panosuyla karşılaşabilir.
Bu sadece kod için değil. Workflow'lar satışlar (Mart ayında satışlar neden düştü?), veri mühendisliği (bu ardışık düzen neden başarısız oldu?) veya herhangi bir ölüm sonrası inceleme için kullanılabilir.
Ölçekte triyaj

Her ekibin insanlar tarafından tamamen işlenemeyen bir destek kuyruğu, hata raporları veya başka bir birikmiş iş listesi vardır.
Bir triyaj workflow'u her öğeyi sınıflandırır, daha önce takip edilenlerle kopyaları giderir ve harekete geçer. Bu, düzeltmeyi denemek veya bir insan kullanıcıya iletmek anlamına gelebilir.
Triyaj workflow'ları için kullanışlı bir kalıp karantinadır. Bu, güvenilmeyen genel içeriği okuyan ajanların yüksek ayrıcalıklı eylemler gerçekleştirmesini engellemeyi içerir; bu eylemler bunun yerine bilgiye göre hareket etmekten sorumlu ajanlar tarafından gerçekleştirilir.
Triyaj workflow'larını /loop ile eşleştirerek Claude'un bunu sürekli olarak yapmasını sağlayın.
Keşif ve beğeni
Workflow'lar, bir çözüme yönelik farklı yaklaşımları keşfederken kullanışlı olabilir, özellikle de tasarım veya isimlendirme gibi beğeniye dayalıysa ve bir rubrikten faydalanacaksa.
Claude'dan bir dizi çözüm keşfetmesini isteyin ve bir inceleme ajanına iyi bir çözümün neye benzediğine dair bir rubrik verin. Görev, inceleme ajanının kriterleri karşıladığını hissettiğinde tamamlanır. Çözümler ayrıca rubriğe dayalı bir turnuva yoluyla sıralanabilir veya seçilebilir.
Değerlendirmeler
Belirli görevler için, bir worktree'de ayrı ajanlar başlatarak ve ardından belirli çıktıları bir rubriğe karşı karşılaştırmak ve derecelendirmek için karşılaştırma ajanları başlatarak hafif değerlendirmeler çalıştırabilirsiniz. Örneğin, belirli bir kritere göre oluşturduğunuz bir beceriyi değerlendirip ardından iyileştirmek gibi.
Model ve zeka yönlendirmesi
Görevlerinize göre ayarlanmış ve hangi modelin kullanılacağına karar veren bir sınıflandırıcı ajan oluşturun. Bu, göreviniz birçok araç çağrısı içerecekse ve yürütmeden önce araştırma yapmak iş için en iyi modeli belirleyebilecekse yararlı olabilir.
Örneğin, "auth modülünün nasıl çalıştığını açıkla" görevi için en iyi model, auth modülünde kaç dosya olduğuna ve kod tabanının şekline bağlıdır. Bir sınıflandırıcı ajan bu araştırmayı yapabilir ve ardından görevin beklenen karmaşıklığına göre Sonnet veya Opus'a yönlendirebilir.
Dinamik workflow'lar ne zaman kullanılmamalı
Workflow'lar yenidir. Olağanüstü sonuçlar yaratacağı birçok kullanım senaryosu olsa da, her görev için gerekli değildirler ve önemli ölçüde daha fazla token kullanabilirler.
Workflow'ları, Claude Code'u daha önce yapmadığınız şekillerde zorlamak için yaratıcı bir şekilde kullanmak en iyisidir. Normal kodlama görevleri için, gerçekten daha fazla hesaplama gücüne ihtiyacı var mı diye kendinize sorun. Örneğin, çoğu geleneksel kodlama görevi 5 incelemeci paneli gerektirmez.
Dinamik workflow'lar oluşturmak için ipuçları
Prompt'lama
Yukarıda açıkladığımız belirli teknikleri kullanarak ayrıntılı prompt'lama, dinamik workflow'lar için en iyi sonuçları yaratır.
Workflow'lar yalnızca büyük görevler için değildir. Modele "hızlı bir workflow" kullanmasını söyleyebilirsiniz. Örneğin, bir varsayımın hızlı bir adversarial incelemesini oluşturabilirsiniz.
/goal ve /loop ile birleştirin
Triyaj, araştırma veya doğrulama gibi tekrarlanabilen workflow'lar kullanırken, bunları düzenli aralıklarla çalıştırmak için /loop ile ve zor bir tamamlama gereksinimi belirlemek için /goal ile eşleştirin.
Token kullanım bütçeleri
Dinamik workflow'lar için, bir görevin kaç token kullanacağını sınırlamak üzere açık token kullanım bütçeleri belirleyebilirsiniz. "10 bin token kullan" gibi bir bütçeyle prompt verebilirsiniz, bu da sınırı belirleyecektir.
Dinamik workflow'ları kaydetme ve paylaşma
Workflow menüsünde "s" tuşuna basarak workflow'ları kaydedebilirsiniz. Bunları ~/.claude/workflows dizinine göz atabilir veya bir beceri aracılığıyla dağıtabilirsiniz.

Bunları bir beceri aracılığıyla paylaşmak için, JavaScript workflow dosyalarınızı beceri klasörüne koyun ve SKILL.MD dosyasında bunlara başvurun. Daha fazla esneklik sağlamak için Claude'a, becerideki workflow'ları harfiyen çalıştırılması gereken bir betik yerine bir şablon olarak düşünmesini isteyebilirsiniz.

Yepyeni bir dünya
Workflow'lar, Claude Code'u genişletmenin yararlı bir yeni yoludur. Bunu bir başlangıç noktası olarak düşünmenizi tavsiye ederim; onları en iyi şekilde nasıl kullanacağınız konusunda hâlâ keşfedilecek çok şey var. Bulduklarınızı bize bildirin.
Thariq Shihipar ve Sid Bidasaria (@sidbid), Anthropic'te teknik ekip üyeleridir ve Claude Code üzerinde çalışmaktadırlar.





