Akış çalışıyor. Aynı koşul her seferinde aynı yolu seçiyor.
Sonra bir istisna geliyor. Sonra bir tane daha.
Koşul listesi uzadıkça bakımı zorlaşıyor. Bu yazı o listenin nerede bittiğini ve modelin nerede başladığını anlatıyor.
Cevap bütün akışı değiştirmek değil. Tek bir karar noktasını açmak.
Bu hamle geri alınabilir de. Tutmadığında eski koşulu yerine koyup devam ediyorsun.
Deterministik olmak bir avantaj
Aynı girdiye aynı çıktıyı vermek çoğu iş için istenen şey. Hata ayıklaması kolay, maliyeti belli, davranışı öngörülebilir.
Bu özelliği kaybetmek bedava değil. Modeli akışa katmak esneklik getiriyor ama süreyi, maliyeti ve hata davranışını da değiştiriyor.
Bu yüzden soru "ajana geçmeli miyim" değil. Soru şu: kuralların tam olarak nerede yetmiyor?
Cevap çoğu akışta tek bir yeri gösteriyor. Geri kalan her şey zaten iyi çalışıyor ve dokunulmaması gerekiyor.
Cevabı bulmak için akışındaki istisna sayısına bak. En çok istisna eklenen dal, ilk aday.
İkinci aday da şu: her hafta elle düzelttiğin dal. Elle müdahale, kuralın yetmediğinin en net işareti.
Kuralların yetmediği noktayı bul
Gelen destek taleplerini ürün ekiplerine dağıtan bir akış düşün.
Mesajlarda ürün adı açık yazıyorsa basit bir eşleme iş görüyor. Ama kullanıcı iki ürünü karıştırıyorsa, sorunun sebebini bilmiyorsa ya da eksik bilgi veriyorsa istisna eklemeye başlıyorsun.
Modelin katkısı burada: karışık metinden gerekçeli bir yönlendirme önermek.
Dikkat et: öneri diyorum. Yönlendirmeyi otomatik uygulamak ayrı bir karar ve o karar ilk günde verilmiyor.
İhtiyacı buradan tarif et. "Akışıma yapay zekâ ekleyeceğim" cümlesiyle "şu dalda karar veremiyorum" cümlesi aynı işi üretmiyor.
İkinci cümle aynı zamanda ölçülebilir. Kararın doğru çıkıp çıkmadığına bakabiliyorsun.
Seçenekleri önceden ver
Modelden yalnız "hangi ekibe gitsin?" cevabını isteme.
Seçenek listesini ver: ürün ekibi, hesap desteği ya da açıklama isteme. Karar için kullanılacak bilgiyi belirt. Eksik durumda nasıl davranacağını yaz.
Belirsiz bir mesajda uydurulmuş kesinlik yerine soru üretebilmesini sağla. "Bilmiyorum, şunu sormak gerekiyor" geçerli bir cevap olmalı.
Bu seçeneği listeye koymazsan model onu üretmiyor. Kesin cevap vermeye zorlanan bir model, kesin görünen yanlış cevap üretiyor.
Bu üçü yazıldığında çıktı da öngörülebilir oluyor. Akışın geri kalanı değişmeden çalışmaya devam ediyor.
Seçenek listesini kısa tut. Üç ya da dört seçenek çoğu dalda yetiyor; on seçenek model için de belirsizlik üretiyor.
Çıktının biçimini sen belirle
Kararın biçimi, sonraki adımın anlayabileceği kadar açık olmalı.
Serbest bir paragrafı sonraki adımda yorumlamaya çalışma. Sabit bir alan seç ve modelin o alana yalnız listedeki değerlerden birini yazmasını iste.
Gerekçeyi ayrı bir alanda tut. Gerekçe insan için, değer makine için.
Bu ayrım hata ayıklamayı da kolaylaştırıyor. Yanlış yönlendirmede gerekçeyi okuyup nerede yanıldığını görüyorsun.
Gerekçeyi kayda da geçir. Bir ay sonra kararların dağılımına bakmak istediğinde elinde yalnız değerler değil, sebepleri de oluyor.
Her karar ajan gerektirmiyor
Bir kez sınıflandırıp sabit yola dönmek çoğu işte yetiyor. Buna ajan denmiyor ve denmesi de gerekmiyor.
Ajan döngüsü, modelin sonucu gördükten sonra yeniden araç ya da adım seçmesi gerektiğinde anlam kazanıyor. Arama yaptı, sonuç yetersiz, tekrar arıyor.
Bu ayrımı yapmadan kurulan sistemler gereksiz karmaşık oluyor. Tek bir sınıflandırma çağrısı, bir ajan döngüsünden çok daha ucuz ve çok daha öngörülebilir.
Ajanın ne zaman gerektiği ayrı bir rehberde duruyor. İsmi büyütmeden ihtiyacı seç.
Pratik ölçüt şu: model sonucu görüp yeniden karar vermek zorunda mı? Hayırsa tek çağrı yetiyor.
Kararı yetkiden ayır
Model bir talebin iade gerektirdiğini düşünebilir. Bu çıkarım, otomatik iade yetkisi vermen gerektiği anlamına gelmiyor.
Yönlendirme önerisi, kayıt açma ve finansal işlem ayrı yetkiler. Önce öneriyi insanın gördüğü bir taslak olarak üret.
Yanlış kararın maliyetini öğrendikçe hangi parçanın otomatik ilerleyebileceğini değerlendirirsin. İzinleri karar metninin dışında da uygula.
Bu sıra bozulduğunda ortaya çıkan hata pahalı oluyor, çünkü onu bir müşteri fark ediyor.
Yetkiyi akışın kendisinde sınırla. Modelin çıktısı ne derse desin, o adımın çağırabileceği işlem sayısı sabit kalsın.
Sabit adımları koru
Yeni belirsizliği bütün sisteme aynı anda yayma.
Veri çekme, biçim düzeltme, kayıt yazma ve bildirim gönderme adımları sabit kalsın. Model yalnız seçtiğin karar noktasında çalışsın.
Sabit adımların bir faydası daha var: onları test etmeye gerek kalmıyor. Zaten çalışıyorlar ve çalışmaya devam ediyorlar.
Böylece bir şey bozulduğunda nereye bakacağını biliyorsun. Her adımı modele bırakan bir akışta bu bilgi kayboluyor.
Kazancı da ölçebiliyorsun. Tek noktada yapılan değişikliğin etkisi, kalabalık bir değişikliğin içinde kaybolmuyor.
Geri almak da kolay oluyor. Tutmadığında eski kuralı yerine koyup devam ediyorsun.
Eski çıktılarla sına
Akışı canlıya almadan önce geçmiş kayıtlarla koştur.
Elindeki eski talepleri al ve modelin verdiği kararla gerçekte ne olduğunu karşılaştır. Nerede aynı, nerede farklı?
Farklı olan yerlerin hepsi hata değil. Bazıları modelin haklı olduğu yerler ve onlar da bilgi.
Bu karşılaştırmayı bir tabloda tut. Yirmi satır, canlıya çıkma kararını verecek kadar bilgi taşıyor.
Bu karşılaştırmayı yirmi kayıtla yapmak yetiyor. Yirmi kayıt bir öğleden sonra sürüyor ve canlıdaki ilk haftayı kurtarıyor.
Kayıtları seçerken kolay olanları değil, zor olanları al. Kolay vakalarda zaten eski kural da çalışıyordu.
Maliyeti ve süreyi ölç
Model çağrısı akışa gecikme ve maliyet ekliyor. İkisini de baştan ölç.
Günde kaç kez çalışıyor, çağrı başına ne kadar sürüyor, hata durumunda ne oluyor? Yeniden deneme kuralı var mı?
Bu sorular otomasyon tarafında zaten sorduğun sorular. Model eklenince yenilenmiyor, yalnız cevapları değişiyor.
Bir fark var: model çağrısının süresi değişken. Sabit bir adımın aksine, aynı girdi farklı zamanlarda farklı sürebiliyor.
Bir de üst sınır koy. Beklenmedik bir döngü, fark edilmeden çalışırsa faturayı büyütüyor.
Uyarı da kur. Günlük çağrı sayısı beklenenin üstüne çıktığında haber alman, faturayı ay sonunda görmenden iyi.
Kim için
n8n, Zapier ya da benzer bir araçla akış kuran ve koşul listesi uzayan herkes için.
Teknik bir ekipte çalışman da gerekmiyor. Akışı kuran kişi kimse, bu kararı da o veriyor.
Mevcut akışını baştan yazmak isteyen için değil. Burada anlatılan hamle tek bir karar noktasını açmak.
Otomasyonu hiç kurmamış biri için de yarım. Önce deterministik akışı kurmak, sonra kararı açmak daha kısa yol.
Sıra tersine döndüğünde iki belirsizlik birden yönetiliyor: akışın kendisi ve modelin kararı.
Bugün yapılacak tek şey
Akışını aç ve en çok istisna eklenen dalı bul.
O dalda modele sorulacak soruyu yaz: seçenekler ne, karar için hangi bilgi kullanılacak, eksik durumda ne olacak?
Üç cevabı yazdığında akışın nasıl değişeceğini de görmüş oluyorsun.
Sonra son yirmi kaydı al ve modelin kararıyla gerçekte olanı karşılaştır. Farkları oku; canlıya almadan önce öğrenmen gereken her şey o listede.