İçeriğe atla
megapromotingHadi konuşalım

aichat.md — etkileşimlerin yönlendirilmesi

Bir mesaja, bize ulaştığı saniyeden birinin onu çözüldü olarak işaretlediği ana kadar ne olur.

İyi yanıt veren bir asistanı demoda göstermek kolaydır. Göstermesi zor olan ve aslında önemli olan şey yolculuktur: mesaj nasıl gelir, iki kez yanıt verilmemesi için ne yapılır, yanıt vermeden önce ne kadar beklenir, bilgi nereden alınır, hangi araç çağrılır, ajan nerede durur ve yerine kimi çağırır. Aşağıda, koddaki numaralarla birlikte gerçek akış var. Özel mesaja göre tamamen farklı davranan — ve farklı davranması gereken — yorumlar kısmı da dahil.

Traseul

Gerçekleşme sırasına göre dokuz aşama

  1. 01

    1. Giriş, kişinin yazdığı kanaldan

    Farklı mekanizmalara sahip altı giriş yolu. Messenger, Instagram Direct ve WhatsApp Cloud API webhook üzerinden, nesne türüne göre dallanan aynı giriş noktasından gelir. Sitedeki widget doğrudan kendi rotasından girer. Telegram webhook üzerinden değil, sürekli sorgulama ile gelir. 999.md ise ne webhook ne de sürekli sorgulama kullanır — yirmi saniyede bir iş parçacıklarına bakan bir saati vardır.

    Her alım, şifreli imza durumu ve ham içerikle birlikte, herhangi bir şey işlenmeden önce bir olay günlüğüne yazılır. Neden basit: bir mesaj „ulaşmadığında” ilk soru bize ulaşıp ulaşmadığıdır ve cevap bir tahmin değil, bir tablo satırı olmalıdır. Kanal → ajan yönlendirmesi, sayfa tanımlayıcısı ile hizmet arasındaki bir eşleştirme tablosu üzerinden yapılır, bu yüzden aynı hesap farklı kanallarda birden fazla ajan taşıyabilir.

  2. 02

    2. Diğer her şeyden önce deduplikasyon

    Mesaj kimliği, koşullu yazmayla bir Redis anahtarına konur — anahtar zaten varsa, mesaj yinelenmiştir ve burada durur. Anahtarın yaşam süresi 24 saattir. Redis yanıt vermezse, 5.000 girişte temizleme eşiği olan yerel bir belleğe geçilir; yani deduplikasyon kaybolmaz, sadece bellek içinde daha kısa ömürlü olur.

    Pencere, 10 Temmuz 2026 tarihine kadar 120 saniyeydi; o gün tekrarlı yanıtlar olayından sonra 24 saate yükseltildi. Değişikliği açıklayan yorum, kodda değerin yanında yazılıdır. Burada ayrıca sticker’lar ve „like” düğmesi de atılır; aksi halde bunlar, ajanın yanıt vermeye çalışacağı sorulara dönüşürdü.

  3. 03

    3. Tampon — art arda yazılan üç mesaj tek bir soruya dönüşür

    İnsanlar bir paragraf yazmaz. „merhaba” yazar, sonra „bir sorum var”, sonra soruyu. Her satıra tek tek yanıt veren bir asistan sinir bozucudur ve aptal görünür. Bu yüzden mesajlar, gönderici–sayfa çifti üzerinde bir tamponda biriktirilir ve zamanlayıcı her yeni mesajda sıfırlanır. İnsan sustuğunda, hepsine bir kez yanıt verilir.

    Messenger ve Instagram’da varsayılan bekleme 15 saniyedir; WhatsApp’ta 5. Tampona en fazla beş mesaj kabul edilir — altıncısı sonuncusunun yerini alır — ve birleştirilen metin 2.000 karakterde kesilir. Bekleme değeri genel değil, ajan başınadır: ajanın yapılandırmasından okunur ve hızın tutarlılıktan daha önemli olduğu bir senaryo için sıfıra indirilebilir. Göndermeden hemen önce, arada akışın duraklatılıp duraklatılmadığı veritabanında yeniden kontrol edilir — çünkü 15 saniye içinde bir insan girmiş olabilir.

  4. 04

    4. Kendi kaynaklarınızdan okuma

    Soru bir vektöre dönüştürülür ve yüklediğiniz parçalar içinde aranır. Arama hibrittir: kelime eşleşmesi ile vektörel yakınlık üçe yedi oranında birleştirilir. Ajanın bilgi tabanından 300’e kadar aday parça yüklenir, her biri için birleşik puan hesaplanır ve en iyileri tutulur — mesajlaşma kanallarında beş, widget’ta on.

    Parça sayısı, ajan başına 1 ile 20 arasında yapılandırılabilir. Parçalar indeksleme sırasında 1.200 karakterde kesilir. Nihai seçim mutlak bir benzerlik eşiğine göre değil, sıralamaya göre yapılır: birleşik puana göre dizilir ve ilk olanlar alınır. Yapılandırmada bir eşik alanı da vardır, ancak arama yolunda etkili filtre sıfırın üstündeki herhangi bir parçayı tutar ve konuma göre keser — bunu söylüyoruz çünkü panelde yazanla kodun yaptığı arasındaki fark budur. Her sorgu, dönen parçalar ve puanlarıyla günlüğe kaydedilebilir; böylece „neden bunu söyledi” sorusuna yanıt verilebilir.

  5. 05

    5. Araçlar — ajan bir şey yapmak zorunda olduğunda, sadece söylemekle kalmayınca

    Yanıt bir eylem gerektiriyorsa, model bir araç çağırır. Bir araç üç türdendir: kendi sisteminize bir webhook, yalıtılmış olarak çalıştırılan bir kod parçası veya platforma gömülü olan biri. Model–araç–model döngüsünün her iki motorda da en fazla beş turu vardır. Beşten sonra durur ve elindekiyle yanıt verir.

    Bir aracın varsayılan azami süresi 15 saniyedir. Bugün موجود olan yerleşik araçlar: web sayfasında arama, geçerli saat, hesaplayıcı, Google çalışma sayfasına yazma, Telegram’da lead bildirimi, SMS gönderme, harici bir rezervasyon sistemi için altı programlama aracı ve bir mağaza kataloğu için üç araç — arama, eşleştirme ve ürün fişi. Katalog canlı okur, on dakikalık tampon bellekle, en fazla 30 sayfa ve 20 saniyelik azami süreyle. İç araç olarak işaretlenmiş bir dizi araç vardır; bunların sonucu hiçbir zaman müşterinin gördüğü metne ulaşmaz.

  6. 06

    6. Geçmiş önde, yanıt

    Model soruyu, bulunan parçaları, araç sonuçlarını ve konuşma geçmişini alır — ana yolda son 25 mesaj, yeni motorda 50. Çağrının azami süresi 120 saniyedir, iki yeniden denemeyle; araçlardan sonraki çağrı 90 saniyedir. Yanıt, sorunun geldiği kanaldan, sorunun sorulduğu dilde gönderilir.

    Yeni ajan motoru, anahtarla açılır; ajan bazında, hesap bazında veya genel olarak — her şey aynı anda değiştirilmez. Böylece eski davranış aynı trafik üzerinde yenisiyle karşılaştırılabilir; bir şeyin daha iyi olduğunu dürüstçe söylemenin tek yolu budur.

  7. 07

    7. Bir insana devretme

    Akışın bir durumu vardır: bot ya da insan. Geçiş dört şekilde yapılabilir. Anahtar kelimelerle — Rumence, İngilizce ve Rusça on yedi ifadeden oluşan bir liste; tek kelimeler kelime sınırında karşılaştırılır, ifadeler metin içinde eşleşmeyle. Hüsranla — yine on yedi öğeden oluşan ikinci bir liste. Tekrarla — son on mesaj içinde aynı sorunun üç kez sorulması; yalnızca on karakterden uzun mesajlar sayılır. Ya da modelin kararıyla; bu durumda özel bir işaretle devretme isteyebilir.

    Mod, ajan başınadır ve varsayılan olarak kapalıdır — seçenekler „kapalı”, „anahtar kelimelerle” ve „akıllı”dır. Tetiklenince: akış „insan bekle” durumuna geçer, zaman işaretlenir, müşteri kendi dilinde bir onay mesajı alır ve ajan susar. Paralel yanıt vermez, tamamlamaz, özür dilemez. Susar, hepsi bu. Meta’nın resmi devretme protokolü de vardır; bu, akış kontrolünü sayfanın kutusuna taşır; yedek kanal, kontrol insanda olsa bile mesajları kaydetmeye devam eder, böylece geçmişte boşluk olmaz.

  8. 08

    8. Operatör sayfadan yanıt verdiğinde, ajan kendini durdurur

    Bir kişi Meta arayüzünden doğrudan müşteriye yazarsa, platforma o mesajın yankısını görür ve kimse bir şeye basmadan akışı otomatik olarak duraklatır. Varsayılan süre 30 dakikadır, beş dakika ile yedi gün arasında yapılandırılabilir. Bir asistan tasarlanırken en kolay gözden kaçan durum budur: kimse devralma düğmesine basmaz, kişi просто yanıt verir ve platform bunu fark etmezse müşteri aynı anda iki ses duyar.

    Geri dönüşün üç yolu vardır. 30 dakika boyunca insan yanıtı olmadan otomatik yeniden etkinleştirme — bir döngü her dakika kontrol eder ve en fazla 50 akışlık partiler halinde yeniden etkinleştirir, ayrıca konuşma belleğini temizler ki ajan hiç yürütmediği bir sohbeti sürdürmesin. Ayrı olarak kontrol edilen duraklama süresinin dolması. Ve paneldeki düğme: devralma, çözme, bot’a geri dönme, botu tamamen durdurma.

  9. 09

    9. Kapanış — ve kendi kendine kapanmayanlar

    Akış, panelden, çözüm notları ve geçmişe yazılmış bir sistem mesajıyla elle çözülmüş olarak işaretlenir. Hareketsizlik nedeniyle otomatik kapanma yoktur: açık bırakılan bir akış açık kalır. Bunu, her şeyin kendi kendine temizlendiği izlenimini bırakmamak için böyle söyledik.

    Yine de kendi kendine kapanan iki şey vardır: yukarıda anlatılan 30 dakika sonra ajanın yeniden etkinleşmesi ve Telegram’a gönderilen escaladations; bunlar 30 dakika boyunca yanıt gelmezse süresi dolmuş olarak işaretlenir ve nedeni yazılarak akışı ajana geri döndürür. Tüm bunların üzerinde bir yanıt süresi göstergesi çalışır: bir saatin üstünde uyarı, dört saatin üstünde aşım olur. Renklendirir, kapatmaz.

Asistentul magazinuluiSe potrivește cu aparatul meu?Spune-mi modelul aparatului.Verific variantele din catalog.Catalog conectat · informație verificatăEchipa poate prelua conversația.
Schemă explicativă · mesaj, context, acțiune, predare

Comentarii

Yorumlar: neden mesaj değildirler ve neden mesaj gibi işlenmezler

Özel bir mesajın tek bir okuyucusu vardır. Bir yorumun ise sayfanın tüm okuyucuları vardır; rakipler de dahil, skandal arayan biri de dahil. Özelde iyi bir yanıt, публично bir felaket olabilir — örneğin bir fiyat, bir uygunluk durumu veya birinin gerçekten sizin müşteriniz olduğunun teyidi. Bu nedenle yorumların ayrı bir yolu, ayrı kuralları ve gizliliğe yönelen varsayılan bir değeri vardır.

Bir yorum sisteme nasıl gelir

Sayfa, iki ağda farklı alanlara abone olur: Facebook’ta sayfa akışına, Instagram’da ise açıkça yorumlara ve canlı yayın yorumlarına. Mesajlarla aynı giriş noktasına gelirler, ancak mesaj listesi yerine bir değişiklik listesi bulunmasıyla tanınan ayrı bir dal üzerinden. Biçim ağlar arasında farklıdır ve her biri için ayrı tespit edilir. Ayrıca ana yorum da okunur; böylece başka bir yoruma yanıt olup olmadığı ve göründüğü gönderi ya da materyal bilinir.

Yalnızca yeni yorumlar bir şeyi tetikler

Meta aynı olayı birden çok eylem için gönderir. Yalnızca bir yorum eklenmesi ajanın çalışmasını başlatır. Düzenleme, silme, gizleme ve gizli olanı gösterme kaydedilir ve orada durur. Beğeni sayısındaki değişiklik iz bırakmadan yok sayılır, çünkü aksi halde günlük salt gürültü olurdu.

Ajan metni görmeden önce dört filtre

Sayfanın kendi yorumları atılır — aksi halde ajan kendine sonsuz kez yanıt verirdi. Zaten işlenmiş yorumlar, veritabanında benzersizlik kısıtına sahip olan yorumun tekil kimliğine göre atılır. Boş yorumlar, en fazla iki karakterlik olanlar ve yalnızca emoji’den oluşanlar atılır. Uzun telefon numaraları veya web adresleri içeren metinler ise dört kalıplı bir spam filtresinden geçer ve bu şekilde işaretlenerek durdurulur.

Genel mi özel mi: varsayılan değer özel

Her ajanın iki platform için ayrı dört anahtarı vardır, Facebook için iki ve Instagram için iki: genel yanıt açık veya kapalı, özel yanıt açık veya kapalı. Bunların üzerinde üç konumlu genel bir mod bulunur — kapalı, otomatik veya onaylı. Yapılandırma eksik olduğunda veya okunamadığında, koddaki yedek değer „genel yanıt ver” değil, „genel yanıt verme, özel yanıt ver”dir. Bu kasıtlı bir tercihtir: bir yapılandırma hatasının birinin kamu duvarına metin çıkarmasına izin verilmez.

Ajan kapalıysa yorumlar da kapalıdır

Asistan arşivlenmiş, etkin değil, devre dışı bırakılmış ya da duraklatılmışsa veya bot müşteri hesabından kapatılmışsa, yorum modu yorum anahtarlarında ne yazarsa yazsın otomatik olarak „kapalı” olur. Akılda tutulacak dört yer değil, kapatılacak tek yer.

Kamusal olarak ne yanıtlanmaz ve kural ne kadar güçlüdür

Kamuya açık bir yanıt için modele verilen talimat açıktır: en fazla iki cümle, kısa ve dostane bir ton, ayrıntılar için özel mesaja davet ve kamuya ayrıntılı bilgi ya da fiyat verme yasağı. Bunun üstünde sert bir sınır vardır: kamuya açık yanıt 300 karakterde kesilir. İkisinin de üstünde, kamu ve özel için ayrı ayrı yazdığınız kendi talimat metniniz yer alır. Kuralın ne kadar güçlü olduğunu dürüstçe söyleriz: bu, bir prompt talimatı artı uzunluk sınırıdır; bir fiyatın asla görünmeyeceğini garanti edebilecek deterministik bir filtre değildir. Güçlü garanti gerektiğinde kamuya açık yanıt kapatılır ve yalnızca özel olan bırakılır ya da onaylı moda geçilir.

Aynı gönderide her 30 saniyede bir kez

Kamuya açık yanıtın gönderi başına bir sayacı vardır: 30 saniyede en fazla bir kez. Bunun nedeni, bir gönderi tuttuğunda olan şeydir — iki dakikada otuz yorum ve sayfa, her birinin altında bir robotun aynı yanıtlarıyla dolar. Sayaç, izlenen son bin gönderiyi saklayarak kendini temizler.

Instagram, bir alt yoruma özel mesaj izni vermez

Bu bizim değil, platformun bir kuralıdır ve kodda üç farklı yerde, özel mesaja ulaşılabilecek üç yolun hepsinde kontrol edilir. Yorumun bir üst öğesi varsa ve ağ Instagram ise, özel mesaja gönderim atlanır ve günlüğe tam neden yazılır. Denenmez ve sessizce başarısız olmaz — açıkça atlanır.

Yorumdan konuşmaya

Geçiş resmi mekanizma üzerinden yapılır: özel mesaj, kişi kimliğiyle değil, yorum kimliği alıcı olarak kullanılarak gönderilir. O andan itibaren, yukarıdaki tüm kurallarla normal bir mesaj dizisi oluşur — tampon, kaynaklar, araçlar, insana devretme. Dizi, yorumlardan geldiği şeklinde işaretlenir ve alınan yorum, her şeyin nereden başladığının görülebilmesi için konuşma geçmişine kendi türüyle kaydedilir.

Onay modu: ajan yazar, insan yayımlar

Mod „onaylı” olduğunda, üretilen yanıt gitmez. Taslak olarak kaydedilir, beklemeye alınır ve panelde bir sayaçla kuyrukta görünür. Oradan parça parça onaylanır ya da reddedilir. Onaylanan yayın, zaman sabit bir imza karşılaştırmasıyla korunan dahili bir köprüden geçer — onaylanmış bir yanıt dışarıdan enjekte edilemez.

Bir insanın, manuel olarak yapabileceği şeyler

Her ağa uygun mekanizmayla bir yorumu gizlemek ve durumunu veritabanında işaretlemek. Silmek, silindi olarak işaretleyerek. Toplu gizleme, en fazla 25 yorumu bir partide. Bir Instagram materyalinde yorumları kapatmak. Ve canlı bir yayındaki yorumları ayrı bir rotadan gizlemek. Bunlar manuel işlemlerdir, otomatik değil. Yorumları tek başına gizleyecek yasaklı kelime listesi yoktur ve böyle bir şey olduğunu iddia etmiyoruz.

Predarea

Ajanın artık söyleyecek bir şeyi kalmadığında

Eskalasyon bir ajan hatası değildir. En önemli işlevidir, çünkü bilmeyen bir asistandan daha kötü tek şey, bilmeyen ama konuşmaya devam eden bir asistandır. Sırada teslim sürecinin nasıl göründüğü, kimin bilgilendirildiği, insanın yanıtına ne olduğu ve ajanın nasıl geri döndüğü vardır.

Telegram grubuna giden kart

Gömülü bir araç, vakayı bir gruba gönderir; üstbilgi ilk anda bunun ne tür bir vaka olduğunu söyler: acil durum, operatör talebi, kötüye kullanım bildirimi, memnuniyetsiz müşteri eskalasyonu, yeni lead veya yeni konuşma. Tür, metinden, her biri için ayrı kalıplarla tespit edilir. Müşterinin mesajı karta birebir eklenir — devralan kişi müşterinin tam olarak ne yazdığını görür, özet değil.

Devralma bir yarıştır ve bir yarış olarak ele alınır

Kartın iki durumu vardır: açık ve kilitli. Devralma, yalnızca hâlâ açıksa durumu değiştiren koşullu bir yazma ile yapılır ve kod, gerçekte kaç satırın değiştiğini kontrol eder. Aynı saniyede basan iki operatör ikisi de devralmaz. İkincisi, devralındığını öğrenir; paralel yazmaya ulaşamaz.

Operatörün yanıtı, müşterinin dilinde yeniden yazılır

Operatör gruba, kendi dilinde ve kendi tarzında yazar, bazen telgrafik. Teslimden önce metin, müşterinin konuştuğu dile ve ajanın tonuna göre, yeni gerçekler eklenmeden yeniden yazılır. Operatörün söylediği, iletilen şey olarak kalır; yalnızca biçim değişir. Yanıtın doğru konuşmaya yönlendirilmesi, yanıt verilen mesaja göre yapılır; bu yoksa, o operatörün kilitlediği tek vaka esas alınır — ve iki tane varsa, tahmin etmek yerine açıkça reddedilir.

Kim bildiriliyor ve ne artık bildirilmiyor

Panel, sürekli bağlantı üzerinden gerçek zamanlı bir bildirim alır. Kuralların tetiklediği duraklamalar, seçime bağlı olarak e-posta veya Telegram üzerinden bildirim gönderir — kodda kabul edilen tek iki kanal bunlardır. Artık çalışmayanı da söylüyoruz: bir insan tarafından devralınmış bir iş parçacığı için e-posta bildirimi Temmuz 2026'da kasıtlı olarak devre dışı bırakıldı ve dahili rota boş yanıt olarak kaldı. O e-postaya güveniyorsanız, gelmez. Bunu burada öğrenmenizi tercih ediyoruz.

Duraklatma kuralları, anahtar kelimelerin ötesinde

Bir telefon numarası, bir e-posta adresi, en fazla yüz kelimelik bir kelime kümesi ya da açık bir insan talebi göründüğünde iş parçacığını duraklatan kurallar yazılabilir. Bunların üstünde model tarafından değerlendirilen iki tür vardır: niyet ve duygu. Duraklamanın süresi bir dakika ile yedi gün arasındadır; sıfır değeri, biri manuel olarak kaldırana kadar duraklama anlamına gelir.

Her el değişimi yazılır

Altı ayrı eylem içeren bir devralma günlüğü vardır: insan devralması, bot devralması, otomatik yeniden etkinleştirme, operatör devralması, operatör serbest bırakması ve ajanın yeniden devralması. Bu, üzerine yazılan bir durum sütunu değildir — bir geçmiştir. Birisi 'o saatte müşteriyle kim konuşuyordu' diye sorduğunda, cevap bir satırdır, yeniden kurgu değil.

Ne yoksa, ona göre güvenmeyesiniz diye

Kurye veya saha ekiplerine otomatik sevkiyat yoktur; tüm kodda baktık ve yok. Etkinlik olmamasına bağlı otomatik konuşma kapatma yoktur. Yorumlar için küresel bir yasaklı kelime listesi yoktur. Olan şey, dört devir tetikleyicisi, atomik devralma ile Telegram'a eskalasyon, duraklatma kuralları ve 30 dakika sonra otomatik yeniden etkinleştirmedir.

Fiecare afirmație de pe această pagină a fost citită din codul platformei — 66 citări cu fișier și linie, păstrate în depozitul nostru. Le parcurgem împreună, la cerere.