Ünite 10 / 11

Ajan İş Akışları ve Çok-Adımlı Görevler

Kazanimlar:

  • En basit çözümden ajana doğru artan karmaşıklık ölçeğini uygulamak
  • Zincirleme, yönlendirme ve paralel iş akışı desenlerini ayırt etmek
  • Çok-adımlı bir görevi planlama-yürütme-doğrulama döngüsüne bölmek

Bir önceki ünitede tek araçlı basit döngüyü kurduk. Gerçek işler ise çoğu zaman birden çok adım, birden çok araç ve bazen dallanan kararlar gerektirir: "Bu ay geciken siparişleri bul, müşterilere özür e-postası taslağı hazırla, yöneticiye özet çıkar." Bu ünitede çok-adımlı görevleri düzenlemenin desenlerini, ne zaman gerçek bir ajana ihtiyaç duyduğunuzu ve planlama-yürütme-doğrulama döngüsünü işliyoruz. Ana ilke: ihtiyaç kadar karmaşıklık.

En Basit Çözümden Ajana Doğru Ölçek

Her görev en karmaşık çözümü hak etmez. Karmaşıklık ölçeğinde adım adım yükselin ve en basit yeterli çözümde durun:

  1. Tek çağrı: Görev tek bir model çağrısıyla çözülüyorsa (özetle, sınıflandır) burada durun.
  2. RAG'li tek çağrı: Bilgi gerekiyorsa retrieval ekleyip yine tek çağrı.
  3. Sabit iş akışı (workflow): Adımlar önceden biliniyorsa, onları elle sıralayın (kod akışı). Model her adımda bir alt işi yapar ama sırayı siz belirlersiniz.
  4. Model-yönlendirmeli ajan: Adımlar önceden bilinemiyorsa, hangi aracın ne zaman çağrılacağına model karar verir. En güçlü ama en pahalı, en riskli seçenek.

Workflow ve ajan farkı kritik: Workflow'da kontrol akışını siz yazarsınız (öngörülebilir, test edilebilir, ucuz). Ajanda kontrolü modele verirsiniz (esnek ama öngörülemez). Çoğu kurumsal iş aslında bir workflow'dur; gerçek ajan görece azdır.

İpucu: "Bu görevin adımlarını önceden yazabiliyor muyum?" diye sorun. Yazabiliyorsanız workflow kurun — daha ucuz, daha güvenli, daha test edilebilir. Ancak adımlar girdiye göre değişiyor ve önceden kestirilemiyorsa ajan gerekir.

Üç Temel İş Akışı Deseni

Zincirleme (prompt chaining): Bir adımın çıktısı bir sonrakinin girdisidir. "Taslak üret → düzelt → biçimlendir." Her adım basit ve odaklı; hata ayıklaması kolay.

Yönlendirme (routing): Gelen isteği önce sınıflandırıp uygun uzmana yollarsınız. "Bu soru teknik mi, faturalama mı, iade mi?" → doğru alt-akışa yönlendir. Her yol kendi promptu ve araçlarıyla optimize edilir.

Paralel (parallelization): Birbirinden bağımsız işleri aynı anda çalıştırıp sonuçları birleştirmek. "5 dokümanı ayrı ayrı özetle, sonra birleştir." Hem hızlı hem de her parça tam dikkat alır.

Desen

Ne zaman

Örnek

Zincirleme

Adımlar sıralı ve bağımlı

Taslak → düzelt → biçimle

Yönlendirme

Girdi türüne göre farklı işlem

Destek talebi sınıflandırma

Paralel

Bağımsız alt işler

Çok dokümanı ayrı özetle

Ajan (döngü)

Adımlar önceden bilinemez

Açık uçlu araştırma/onarım

# Yönlendirme deseni (kavramsal)tur = model.siniflandir(talep) # "iade" | "teknik" | "fatura"if tur == "iade": cevap = iade_akisi(talep)elif tur == "teknik": cevap = teknik_akisi(talep)else: cevap = fatura_akisi(talep)

Planlama-Yürütme-Doğrulama Döngüsü

Gerçek ajanlarda güçlü bir desen: modele önce planlat, sonra yürüt, sonra doğrulat. Model karmaşık görevi alt adımlara böler, her adımı araçlarla yapar ve sonunda "hedefe ulaştım mı?" diye kontrol eder. Doğrulama adımı, ayrı ve taze bir bakışla ("bu çıktı görevi karşılıyor mu?") hataları yakalar.

# Planla-yürüt-doğrula (kavramsal)plan = model.uret("Bu görevi adımlara böl: " + gorev)for adim in plan: sonuc = ajan_dongusu(adim) # araçlarla yürütkontrol = model.uret("Bu çıktı görevi karşılıyor mu? Eksik varsa söyle: " + gorev + sonuclar)if kontrol.eksik: # düzeltme turu ...

Uzun görevlerde iki pratik: durma koşulu koyun (maksimum adım sayısı — sonsuz döngüyü önler) ve ilerleme takibi (ajan ne yaptığını bir yere not etsin ki dağılmasın). Adım sınırı olmayan ajan, takılırsa sonsuza kadar dönebilir ve maliyet patlar.

Zayıf / Güçlü Tasarım

Zayıf (her şeyi tek dev ajana yıkmak):

"Şu karmaşık işi hallet" de, sınırsız araçla serbest bırak.# Sonuç: öngörülemez davranış, sonsuz döngü riski, yüksek maliyet,# hata ayıklaması imkânsız.

Güçlü (önce workflow, ajan sadece gereken yerde, sınırlı):

İşi önce sabit adımlara böl (routing + chaining). Yalnızcaadımların bilinemediği alt görevde ajan kullan; adım sınırı,ilerleme takibi ve doğrulama turu ekle.

Üç Mini Vaka

Vaka 1 — Ajan yerine workflow. Bir ekip "destek talebini işle" görevini serbest ajanla kurmuş; ajan bazen 15 adım dönüp yanlış yola sapıyordu. İşin adımları aslında sabitti (sınıflandır → ilgili bilgiyi getir → taslak yaz → onaya sun). Routing + chaining workflow'una geçilince tutarlılık %58'den %96'ya çıktı, maliyet yarıya indi.

Vaka 2 — Paralel kazancı. Bir hukuk ekibi 20 sözleşmeyi tek tek sırayla özetletiyordu; toplam 4 dakika sürüyordu. Paralel desene geçilince (hepsi aynı anda, sonra birleştir) süre 25 saniyeye indi ve her özet tam dikkat aldığı için kalite de arttı.

Vaka 3 — Durma koşulu yoktu. Bir araştırma ajanı, bulamadığı bir bilgiyi ararken aynı iki aracı sonsuza dek çağırıp durdu; bir gecede önemli bir maliyet biriktirdi. Maksimum 8 adım sınırı ve "3 denemede bulamazsan bilmiyorum de" kuralı eklenince hem maliyet kontrol altına alındı hem de dürüst "bulamadım" cevapları geldi.

Sık yapılan hatalar

  • Her işi ajana yıkmak: Adımlar biliniyorsa workflow daha ucuz, güvenli ve test edilebilir.
  • Workflow ile ajanı karıştırmak: Kontrolü siz mi model mi veriyor? Bunu netleştirmeden tasarlamayın.
  • Durma koşulu koymamak: Ajan sonsuz döngüye girip maliyet biriktirir.
  • İlerleme takibi olmaması: Uzun görevde ajan dağılır, aynı işi tekrar yapar.
  • Doğrulama turunu atlamak: Yanlış ama makul görünen çıktı denetimsiz teslim edilir.
Dikkat: Ajan ne kadar özgürse hata alanı (blast radius) o kadar büyür. Esneklik bedava değildir; her ek serbestlik, öngörülemezlik ve risk ekler. En dar yeterli çözümü seçin.

Özetle

  • Karmaşıklıkta "ihtiyaç kadar" ilkesi geçerlidir: tek çağrı → RAG → workflow → ancak gerçekten gerekirse ajan.
  • Workflow'da kontrol akışını siz yazarsınız (öngörülebilir); ajanda modele bırakırsınız (esnek ama riskli).
  • Üç temel desen: zincirleme (sıralı bağımlı), yönlendirme (türe göre dağıt), paralel (bağımsız işler).
  • Gerçek ajanlarda planla-yürüt-doğrula döngüsü, durma koşulu ve ilerleme takibi kullanılır.
  • Esneklik arttıkça öngörülemezlik ve maliyet artar; en dar yeterli çözümü seçin.

Uygulama görevi

Kendi işinizden çok-adımlı bir görev seçin (ör. "aylık raporu hazırla ve dağıt"). (1) Bu görevin adımlarını önceden yazabiliyor musunuz? Yazabiliyorsanız bir workflow (hangi desen: zincirleme/yönlendirme/paralel?) olarak tasarlayın; yazamıyorsanız neden ajan gerektiğini açıklayın. (2) Seçtiğiniz tasarımı kutu-ok diyagramıyla çizin. (3) Eğer ajansa: durma koşulunu, ilerleme takibini ve doğrulama turunu nasıl kuracağınızı yazın. (4) Aynı görevi "tek dev ajan" ile yapmanın 3 riskini listeleyin.

Kontrol listesi

  • [ ] "İhtiyaç kadar karmaşıklık" ölçeğinde doğru seviyeyi seçebiliyorum.
  • [ ] Workflow ile ajan arasındaki kontrol farkını ayırt edebiliyorum.
  • [ ] Zincirleme, yönlendirme ve paralel desenleri uygun görevlere eşleyebiliyorum.
  • [ ] Ajanlarda planla-yürüt-doğrula döngüsünü, durma koşulunu ve ilerleme takibini kurabiliyorum.
  • [ ] Fazla esnekliğin öngörülemezlik ve maliyet getirdiğini göz önünde tutuyorum.