Agent iş akışları · 2026-09-25

Jev ile destek talebini doğru ekibe yönlendirme

Gelen destek mesajlarını Jev ile ekiplere yönlendiren bir akışın soru seti, seçenek açıklamaları, insan kuyruğuna düşme koşulu, birden fazla konu içeren mesajlar ve maliyeti; örnek kodla birlikte.

Bir destek mesajının faturalama, teknik ve satış ekiplerine ya da insan kuyruğuna yönlendirildiğini, yanında aciliyet işaretinin taşındığını gösteren akış şeması.

Kısa cevap

Bir destek talebini ekibe yönlendirmek, özünde bir Choice kararıdır: mesaj tanımlı ekiplerden birine gider. Gerçek bir akışta bu karar birkaç küçük soruyla birlikte gelir: mesaj acil mi, bir iade talebi var mı, mesajda ikinci bir konu anlatılıyor mu. Jev'de bu soruların hepsi aynı mesaja tek istekte sorulur ve her ek soru yalnızca kendi tokenları kadar maliyet ekler.

Yönlendirmenin güvenilir olması üç şeye bağlıdır: seçeneklerin sınırının açıklamalarda yazılması, listeye uymayan mesajlar için bir çıkış bulunması ve emin olunmayan kararların bir insana gitmesi.

Bir yönlendirme için soru seti

Tablo, tipik bir destek akışında kullanılabilecek soruları ve her cevabın akışta neye dönüştüğünü gösteriyor. Anahtar adları sizin seçiminizdir ve modele gönderilmez.

Örnek destek yönlendirme soruları
AnahtarTipNe sorarAkıştaki karşılığı
departmanChoiceTalebi hangi ekip karşılamalıMesajın düşeceği kuyruk
acil_miNoulAçık bir zaman baskısı var mıKuyrukta öncelik
iade_talebiNoulMüşteri iade istiyor muTalebe eklenen etiket
memnuniyetsizlikScoreSakin, rahatsız ama nazik, çok öfkeliDeneyimli bir temsilciye atama

Seçenekleri yazmak

Choice'ta modelin gördüğü şey seçenek adıyla birlikte açıklamadır. "faturalama" tek başına belirsiz kalabilir; "Ödeme, fatura, iade, abonelik ücreti" açıklaması sınırı çizer. En çok hata iki ekibin kesiştiği yerde olur: yazılım hatası yüzünden iki kez çekilmiş bir ödeme hem faturalamanın hem teknik ekibin konusudur. Böyle bir durumda hangisinin öncelikli olduğu açıklamaya yazılmazsa, sonuç mesajdan mesaja değişir.

Listeye diger seçeneğinin eklenmesi, yeni bir ürün ya da beklenmeyen bir konu hakkında gelen mesajların yanlış ekibe zorlanmasını önler. Choice her zaman listedeki bir seçeneği döndürdüğü için, bu çıkış olmadan her mesaj bir ekibe gider.

Kararı koda bağlamak

Aşağıdaki örnekte ekip seçimi otomatik uygulanır, ama iki durumda mesaj insan kuyruğuna düşer: model diger seçmişse ya da confidence belirlenen eşiğin altındaysa. Eşik değeri bir örnektir; doğru değer kendi mesajlarınızla belirlenir. Soru metinleri ve eşik tek bir yerde tanımlı olduğu için, yönlendirmeyi inceleyen kişinin bakması gereken yer bellidir.

Mesajda ikinci bir konu anlatılıyorsa Choice yalnızca birini döndürür. Örnekteki ek Noul sorusu, faturalamaya giden bir mesajda bir teknik sorun da anlatıldığını işaretler; böylece ikinci konu kaybolmaz.

Ekip seçimi, insan kuyruğu ve ikinci konu işareti

import os, requests

# Soru metinleri ve esik tek yerde durur; inceleyen kisi yalnizca buraya bakar.
QUESTIONS = {
    "departman": {
        "type": "choice",
        "instructions": "Bu destek talebini hangi ekip karsilamali?",
        "criteria": {
            "faturalama": "Odeme, fatura, iade, abonelik ucreti",
            "teknik": "Hata, kesinti, API ve entegrasyon sorunlari",
            "satis": "Fiyat teklifi, yeni hesap, plan degisikligi",
            "diger": None,
        },
    },
    "acil_mi": {"type": "noul", "instructions": "Mesaj acik bir zaman baskisi bildiriyor mu?"},
    "teknik_sorun_da_var_mi": {"type": "noul", "instructions": "Mesajda bir hata ya da kesinti de anlatiliyor mu?"},
}
AUTO_ROUTE_MIN_CONFIDENCE = 0.7  # ornek deger; kendi verinizle belirlenir

def route(message: str) -> dict:
    res = requests.post(
        os.environ["LLMTR_BASE_URL"] + "/v1/systemone",
        headers={"Authorization": "Bearer " + os.environ["LLMTR_API_KEY"]},
        json={"model": "typesafe/jev", "state": message, "questions": QUESTIONS},
        timeout=30,
    )
    a = res.json()["answers"]
    team = a["departman"]["choice"]
    if team == "diger" or a["departman"]["confidence"] < AUTO_ROUTE_MIN_CONFIDENCE:
        team = "insan_kuyrugu"
    return {
        "team": team,
        "urgent": a["acil_mi"]["noul"] >= 0.8,
        "also_technical": a["teknik_sorun_da_var_mi"]["noul"] >= 0.8,
    }

Belirsiz ve eksik mesajlar

"Çalışmıyor" gibi kısa bir mesaj hiçbir ekibe açıkça ait değildir. Choice yine de bir seçenek döndürür; confidence düşük kalır ve mesaj insan kuyruğuna düşer. Bu doğru bir sonuçtur, ama kuyruktaki kişinin ilk işi çoğu zaman müşteriden ayrıntı istemek olur.

Aynı isteğe "Mesaj, hangi ürün ya da hizmetle ilgili olduğunu söylüyor mu?" gibi bir Noul sorusu eklemek bu durumu ayrıca işaretler. Evet olasılığı düşük olan mesajlara, yönlendirmeden önce ayrıntı isteyen otomatik bir yanıt gönderilebilir. Böylece insan kuyruğu gerçekten karar gerektiren mesajlara kalır.

Yönlendirmenin sınırı

Jev bu akışta mesajın nereye gideceğine karar verir; mesajdaki talebin kendisine değil. iade_talebi sorusunun yüksek bir evet olasılığı döndürmesi iadenin yapılacağı anlamına gelmez: faturalama ekibine giden talebe bir etiket eklenir ve iade kararı yine o ekibin kurallarıyla verilir. Aynı ayrım aciliyet için de geçerlidir; acil_mi bir öncelik işaretidir, bir hizmet taahhüdü değildir.

Maliyet ve yönlendirmenin ölçülmesi

Jev'de ücret yalnızca girdi tokenları üzerindendir ve 1 milyon token başına 0,042 dolardır; çıktı ücretsizdir. 300 tokenlık bir destek mesajına toplam 200 tokenlık dört soru sorulduğunda istek 500 token tutar, yani yaklaşık 0,000021 dolar. Ayda 10.000 mesaj için bu yaklaşık 0,21 dolardır. Bu hesap örnektir; gerçek token sayısı yanıttaki usage alanından okunur.

Yönlendirmenin kalitesi, ilk kararın sonradan düzeltilip düzeltilmediğine bakılarak ölçülür. Her mesaj için seçilen ekip, confidence ve mesajı sonunda çözen ekip kaydedildiğinde, hangi seçenek açıklamasının belirsiz kaldığı ve eşiğin nerede olması gerektiği görülebilir.

Sık sorulan sorular

Tek bir soruyla ekip seçilebilir mi?

Evet. Ekipler net tanımlıysa Choice cevabındaki choice alanı yeterlidir. Aciliyet ya da iade gibi ek bilgiler için aynı isteğe Noul soruları eklenir.

diger seçeneği neden gerekli?

Choice her zaman listedeki bir seçeneği döndürür. diger olmadan, hiçbir ekibe uymayan mesajlar da en yakın ekibe gider.

Mesajda iki farklı konu varsa ne olur?

Choice yalnızca bir ekip döndürür. İkinci konuyu görünür tutmak için her konu için ayrı bir Noul sorusu sorulur ve akış bu işareti ayrıca ele alır.

Ayda binlerce mesaj için maliyet ne olur?

Yalnızca girdi ücretlendirilir: 1 milyon token başına 0,042 dolar. Mesaj ve sorular toplam 500 token tutuyorsa 10.000 mesaj yaklaşık 0,21 dolardır.

Ekip listesi değişince ne yapılır?

Seçenekler ve açıklamaları tek bir yerde tutulduğu için yeni ekip oraya eklenir. Seçenek listesi değiştiğinde olasılık dağılımı da değişir; eşiğin yeni listeyle yeniden ölçülmesi gerekir.

İlgili yazılar