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

Uzmanlık · AI asistanlar

Müşterilerinizin yazdığı kanallarda, sizin bilginizden yanıt veren ve rollerini aştıklarında konuşmayı bir insana devreden asistanlar.

Üretimde çalışan platformumuz aichat.md üzerinde metin asistanları kuruyoruz. Çalışma; kendi koduna sahip bağlı kanalları, indekslenmiş bir bilgi tabanını, sistemlerinizde görevleri yürüten araçları ve veritabanında kaydedilmiş bir insana devretme yolunu içerir.

Zaten kurduklarımızServiciul se sprijină pe o platformă proprie aflată în producție, nu pe o promisiune. `https://aichat.md` răspunde public (307 către `/ro`, verificat 06.09.2026), iar comportamentele descrise mai jos sunt citite din schema bazei de date și din rutele platformei, cu fișier și linie: pragurile căutării, tipurile de unelte și timpul lor maxim, stările firului de discuție, jurnalul de preluare. A doua implementare proprie citată este funcția de catalog de magazin (`storeCatalog.service.js` plus trei unelte încorporate), scrisă ca funcție de platformă în locul uneltelor per client. Ce nu susține dovada spunem la fel de explicit: mesajele din șablon WhatsApp nu există în cod, deci nu promitem mesaje proactive în afara ferestrei de 24 de ore.

Yararlı bir asistan, güzel yazan değil, işletmenin gerçek bilgisine bağlı olan ve nerede duracağını bilen asistandır. Çalışmamız, müşterilerinizin yazdığı kanaldan başlar ve asistanın artık söyleyecek bir şeyi kalmadığında konuşmayı devralan kişide biter. Araya bilgiyi, araçları ve sınırları koyarız.

Üzerinde kurduğumuz platform aichat.md’dir, bizim tarafımızdan yapılmış ve üretimde olan bir sistemdir. Bu, hizmetin niteliğini değiştirir: başkasının kara kutusunu entegre etmiyoruz, okuyabildiğimiz her eşiği ve değiştirebildiğimiz her davranışı yapılandırdığımız bir sistem kuruyoruz. Yanıtın varsayılan olarak belgelerinizden beş parçayı kullandığını, benzerlik eşiğinin 0,70 ve sözcük eşleşmesine %30 ağırlık verildiğini söylediğimizde, bunlar broşür tanımı değil, veritabanı şemasındaki değerlerdir.

06.09.2026 tarihinde doğrulanan kendi kodlu kanallar şunlardır: Facebook Messenger, Instagram Direct, Telegram, 999.md, site widget’ı ve Graph v22.0 üzerinden WhatsApp Business Cloud API. Her birinin kendi modülü vardır, bir onay kutusu değil — ve aralarındaki farklar pratikte önemlidir: Messenger ürün karuseli gösterebilir, Instagram gösteremez, çünkü Meta Instagram’da genel şablonlar sunmaz.

Müşterilerin küçümsediği kısım insana devrettir. aichat’ta bu bir vaat değil, veritabanında bir durumdur: akış `bot` veya `human` olur, devralma günlüğü bir insan tarafından devralmayı, bota dönüşü ve otomatik yeniden etkinleştirmeyi ayırır ve akışın yanıt süresine ilişkin ayrı bir durumu vardır — `ok`, `warning`, `breached`. Ay sonu itibarıyla kaç görüşmenin devralındığı ve ne kadar sürede olduğu gösterilebilir.

Neleri kapsıyor

Çalışma, bileşenlerine ayrılmış hâliyle

Kanalı bağlıyoruz ve sustuğunda ne olduğunu kontrol ediyoruz

Platformda altı kanalın kendi kodu vardır: Messenger, Instagram Direct, Telegram, 999.md, web widget’ı ve Graph v22.0 üzerindeki WhatsApp Business Cloud API. Meta bağlantısı Embedded Signup ile yapılır. Her kanalda yalnızca ilk başarılı mesajı değil, kötü senaryoyu da kontrol ederiz: süresi dolmuş bir sayfa token’ı kanalı sessizce durdurur, görünür bir hata vermez; bu yüzden platformda token izleme ve süresi dolduğunda bildirim vardır.

Bilgiyi indeksliyoruz ve aradığı eşikleri sabitliyoruz

Belgeler ve sayfalar, içerik hash’i ve `text-embedding-3-small` embeddingleriyle parçalara ayrılır. Başlatıp sonra ayarladığımız varsayılan değerler şunlardır: soru başına beş parça, 0,70 benzerlik eşiği, hibrit arama, sözcük eşleşmesine 0,30 ağırlık, kaynak ataması açık. Her sorgu, dönen parçalar, skorlar ve sürelerle günlüğe kaydedilebilir — dolayısıyla “neden böyle yanıt verdi” sorusunun cevabı varsayımla değil, verilerle vardır.

Araçları çalışan sistemlere bağlıyoruz

Bir araç, kendi sisteminize metod ve başlıkları seçilerek gönderilen bir webhook, platform tarafından çalıştırılan bir JavaScript kod parçası ya da platforma yerleşik bir araç olabilir. Her birinin varsayılan 15 saniyelik bir azami çalışma süresi vardır. Sözleşmeden önce, sonra değil, pratik sonuç şudur: 40 saniyede yanıt veren bir entegrasyon asenkron yapılmalıdır, konuşmaya zorlanmamalıdır.

Mağaza adresiyle bağlı canlı katalog

Mağazalar için yerleşik üç araç vardır — `store_catalog_search`, `store_catalog_match`, `store_catalog_product` — ortak bir katalog hizmeti üzerinde. WooCommerce için Store API herkese açıktır, bu yüzden mağaza, erişim anahtarları olmadan site adresiyle bağlanır. Önceden katalog, her müşteri için ayrı bir araç olarak yazılıyordu; müşteri adına yazılmış araçlarla çalışan sürüm sürdürülebilir olmadığı için platform özelliği haline geldi.

İnsana devretme, kayıtla

İplik açık bir `bot` veya `human` durumuna sahiptir. Devralma günlüğü üç işlemi bilir: bir insan tarafından devralma, bota dönüş ve otomatik yeniden etkinleştirme. Ayrı olarak, iplik yanıt süresi uyum durumu taşır: `ok`, `warning`, `breached`. Platformdaki devralma modülü kuyruk ve rollere sahiptir. İlk görüşmeden itibaren kimin devralacağını ve ne kadar sürede devralacağını belirleriz, çünkü bu durum ilk iplikten itibaren ölçülür, sonradan eklenmez.

Yazılı konuşmada ses

WhatsApp veya Telegram'da alınan sesli not `whisper-1` ile yazıya dökülür ve konuşmaya metin olarak girer. Yanıt, `tts-1` veya ElevenLabs aracılığıyla, her ses için kararlılık ve benzerlik ayarlarıyla tekrar ses olarak gönderilebilir. Yazmak yerine dikte edenler için — sahadaki bir ustabaşı, bir şoför — bu, kullanılabilir kanal ile dekoratif kanal arasındaki farktır.

Konuşmada çeviri, bugün tek yönde

Operatörün yanıtı, müşterinin dilinde, ajanın tonuyla ve gerçek eklemeden yeniden yazılabilir. Ters yön — müşterinin mesajının operatör için çevrilmesi — kontrol tarihinde kodda yoktur, bu yüzden operatör orijinali okur. Bunu söylüyoruz çünkü bu, Rusça veya İngilizce bir müşteriye hizmet verebilen bir ekiple bunun mümkün olduğunu sanan bir ekip arasındaki farktır.

Çift mesaj ve kısa patlamalarda davranış

Meta webhooku gerçekten aynı mesajı yeniden gönderir: deduplikasyon mesaj kimliği üzerinden yapılır, 120 saniyelik hafızayla. Ve biri art arda üç satır yazdığında, bunlar 15 saniyelik bir tamponda birikir ve insanın yazdığı her şeye tek bir yanıt alır, üç parçalı yanıt değil.

Model tek bir sağlayıcıya bağlı değildir

Çağrılar, arka plandaki tüm sağlayıcılar için OpenAI biçiminde konuşan, `api.megapromoting.com/v1` adresindeki özel bir gateway üzerinden geçer. Model, asistan bazında seçilir ve entegrasyonu yeniden yazmadan değiştirilebilir. Embeddingler için `text-embedding-3-small` kullanıyoruz.

Nasıl görünüyor

Süreç, adım adım.

01

Kanalı ve devralacak kişiyi seçiyoruz

Bir kanal, bir kitle, izlenen bir sonuç. Aynı görüşmede `human` ile işaretlenen iplikleri kimin devralacağı ve ne kadar sürede devralacağı belirlenir. Teslim ediyoruz: asistanın kapsadığı senaryo listesi ve kapsamadığı senaryoların açık listesi.

02

Kaynakları bağlıyoruz ve onlardan ne çıktığını kontrol ediyoruz

Belgeler ve sayfalar bilgi kaynağı olarak girer. Kataloglarda, fiyatın önemli olduğu yerlerde çıkarılan ürünleri tek tek kontrol ederiz. Teslim ediyoruz: dizine alınmış kaynaklar, sizin durumunuz için ayarlanmış arama eşikleri ve elde edilen yanıtlarla bir kontrol soruları seti.

03

Araçları bağlıyoruz ve yavaş durumu test ediyoruz

CRM veya ERP'ye webhook, kendi dönüşümleriniz için kod, zaten mevcut olanlar için yerleşik araç. Sadece mutlu senaryoyu değil, yavaş senaryoyu ve hata senaryosunu da test ederiz, çünkü belirleyici olan 15 saniyelik sınırdır. Teslim ediyoruz: yapılandırılmış araçlar ve sınır aşımındaki belgelenmiş davranış.

04

Kanala izlemenin açık olduğu şekilde başlıyoruz

Kanal, etkin token izlemesiyle ve en az bir kez gerçek bir vaka üzerinde uygulanmış insan devralmasıyla devreye girer. Teslim ediyoruz: panele erişim, devralma prosedürü ve sistemin kendini durdurduğu noktalar.

05

Günlükleri okuyoruz ve ayarlıyoruz

İlk gerçek görüşmelerden sonra sorgu günlüğüne bakılır: ne buldu, hangi skorla, ne kadar sürede. Oradan eşik, parça sayısı veya kaynak metni ayarlanır. Teslim ediyoruz: yapılan değişikliklerin listesi ve her birinin gerekçesi.

Drumul unui mesaj1canal conectat2dedublare peidentificator șitampon de 15 secunde3căutare în surseletale (5 fragmente,prag 0,70)4unealtă cu limită de15 secunderăspuns cu sursă, sautrecere pe stareahuman cu jurnal depreluare
Drumul unui mesaj

Veriler

Neye dokunuyoruz, nerede duruyorlar ve ne kadar kalıyorlar

Veri koruma sorumlusu olan herkesin soracağı sorular — o sormadan önce burada sorulmuş hâliyle.

Konuşmaların nerede tutulduğu
Microsoft Azure üzerindeki kendi sunucusunda MySQL. Şema, Prisma’da modellenmiş 80’den fazla tablo içerir; Meta dizileri, Telegram dizileri, 999.md dizileri, yorumlar, etiketler, iç notlar ve denetim günlüğü için ayrı tablolar vardır.
Kanal tokenleri şifreli saklanır
WhatsApp tokeni Fernet ile şifreli olarak saklanır; düz metne dönüş yalnızca eski kayıtlar için yapılır. Mesajların kanal hizmetinde kendi şifreleme modülü vardır. Token izleme ve süresi dolunca bildirim mevcuttur.
Widget neyi ve nereden görür
Widgetta her asistan için izinli kaynaklar listesi vardır. Varsayılan davranış bilinmelidir: liste boşsa kontrol geçer — bu, eski kurulumlarla uyumluluk için kodda olduğu gibi yazılmış bir tercihtir. Bu, alan bazında kısıtlamanın bunu gerektiren her uygulamada açıkça yapılandırıldığı anlamına gelir; biz bunu yapılandırırız, varsaymayız.
Siz istemeden hangi kişisel veriler girer
Bir görüşmenin serbest alanı her şeyi içerebilir — bir telefon numarası, bir adres, tıbbi bir sorun. Teknik olarak durdurulamaz, ama işlenebilir: neyin saklanacağı, ne kadar süreyle, kimin erişeceği ve ekibe kanalda neyi istememesi gerektiği öğretilir. Uygulamanın işleme kaydı, uygulama ile aynı anda yazılır, sonrasında değil.
Saklama süresi
Her uygulama için belirlenir ve müşterinin yayımlanmış politikasına yazılır. Bizim uyguladığımız ve projelerde de istediğimiz kural: bir kod değişikliği neyin toplandığını, kime gittiğini veya ne kadar süre saklandığını değiştiriyorsa, yayımlanmış politika aynı commit içinde değiştirilir.

Bir vaka

Instagram’dan başlayıp bir insanda biten bir fiyat sorusu

Durum

Çevrimiçi kataloglu bir mağaza, Instagram DM’lerinde ve Messenger’da fiyat soruları alıyordu. Aynı beş soru, bütün gün; doğru cevap ise zaten sitede vardı.

Ne kurduk

İki kanalı bağladık, kaynakları indeksledik ve kataloğu mağazanın yerleşik araçlarıyla bağladık; bunlar WooCommerce için genel Store API’sini okur — yani platform içinde erişim anahtarı olmadan. Üç mesajın arka arkaya yazıldığında tek bir soruya dönüşmesi için bir birleştirme tamponu ayarladık ve asistanın ne yapmasına izin verilmediğini açıkça yazdık. Messenger’da ürün karuselini, bağlı olduğu üç koşulla birlikte başlattık; Instagram’da ise metin artı fotoğrafta kaldık, çünkü Meta orada genel şablonlar sunmuyor.

Ne çıktı

Fiyat ve stok durumu soruları, görüntülenen ürün ve bağlantıyla yanıt alır. Katalogdan çıkmayanlar `human` durumuna geçer ve tüm konuşma bağlamıyla birlikte belirlenen kişiye ulaşır. Sorgu günlüğü, asistanın ne bulduğunu, hangi skorla ve ne kadar sürede gösterir; dolayısıyla ayar veri üzerinden yapılır.

Vakanın söylemedikleri

Sonuç, katalog kalitesine bağlıdır. Sitedeki yanlış bir fiyat, konuşmada da yanlış bir fiyata dönüşür — asistan kaynağı okur, düzeltmez. Ve ekibin iş yükü azalmasını ölçmedik, bu yüzden bunu sonuç olarak belirtmiyoruz.

Sorular

İnsanların aramadan önce bize sordukları

Bir hafta boyunca yazmamış bir müşteriye WhatsApp’tan ilk mesajı o atabilir mi?

Hayır. Ve bunun nedeni hem Meta’da hem de bizde gerçek bir eksiklik, ikisi de açıkça söylenmiştir. Müşterinin son mesajından sonraki 24 saatlik pencerenin dışında Meta serbest metni 131047 hatasıyla reddeder; platform da mesajı başarısız olarak işaretler ve sanki gönderilmiş gibi davranmak yerine hatayı gösterir. Pencere dışında gönderim, Meta tarafından onaylanmış şablon mesajları gerektirir; ancak bunlar bizim kodumuzda yoktur — tüm kodda `template` türüne göre yapılan bir arama sıfır sonuç döndürür. Yani: 24 saatlik pencere içinde yanıt, evet; WhatsApp’ta proaktif kampanya, hayır, şablonlar uygulanana kadar.

Bugün fiilen hangi kanallarda çalışıyor?

Altı kanal, 06.09.2026 tarihinde doğrulanmış kendi koduyla: Facebook Messenger, Instagram Direct, Telegram, 999.md, web widgetı ve WhatsApp Business Cloud API. Daha eski bir iç denetim SMS ve e-posta için de kod buldu; bu tarihte bunları yeniden doğrulamadık, bu yüzden somut uygulamada kontrol yapılmadan bunları kullanılabilir diye geçmiyoruz. Arada ortaya çıkan bir kanalın bağlı olduğu varsayılmaz.

999.md entegrasyonu resmi mi?

Bu, genel API’si olan bir ortak entegrasyonu değildir. Hesabınızın oturumu ile çalışır: platform, tarayıcınızdaki oturum cookie’sinin değerini ister ve bunu mesajları okumak ve yanıtlamak için kullanır. Pratik sonuç, önceden söylendiği gibi: 999.md oturum mekanizmasını değiştirirse entegrasyon durur ve yeniden bağlanması gerekir. Bu riski kabul etmeyen biri bu kanalda başlamamalıdır.

Yanıtın kaynağını nereden biliyor ve onu bilmediğinde ne yapıyor?

Kaynaklarınızda hibrit bir arama ile arar — varsayılan olarak beş parça, 0,70 eşik, kelimelere %30 ağırlık, geri kalanı semantik — ve yanıtla birlikte kaynağı ekleyebilir. Bulamadığında tasarlanan yol insana devrettir: akış `human` durumuna geçer ve günlük kimin devraldığını ve ne zaman devraldığını kaydeder. Bot’a otomatik dönüş de vardır, o da kayıtlı bir işlem olarak.

Fotoğraf ve fiyatla ürün gösterebilir mi?

Messenger’da evet — kartlardan oluşan karusel. Instagram’da hayır: Meta, Instagram’da genel şablonlar sunmaz, bu yüzden orada metin artı fotoğraf kalır. Karusel aynı anda üç şey gerektirir: asistanın yapılandırmasında etkinleştirilmiş olması, aracın en az iki ürün döndürmesi ve asistan talimatının fiyat ve bağlantı ile liste istemesi — çünkü dedektör yalnızca veriye değil, ajan metnine bakar. Bunlardan biri eksikse karusel oluşturulmaz. Üçünü de yapılandırıyoruz, ama nedenini bilmek faydalıdır.

Romence konuşan ekibe Rusça yazan müşteriye kim yanıt verir?

Operatörün yanıtı otomatik olarak müşterinin dilinde yeniden yazılabilir, ajanın tonunu koruyarak ve gerçek eklemeden — bu çalışır. Ters anlam, müşterinin mesajının operatör için çevrilmesi, kontrol tarihinde kodda yoktur. Pratikte: müşteri kendi dilinde yanıt alır, ancak operatör özgün mesajı okur. Eğer size diğer anlam da gerekiyorsa, bu yapılacak bir iştir, işaretlenecek bir ayar değil.

Bir müşteri aynı mesajı iki kez gönderirse ne olur?

İki yanıt almaz. Yinelenenler mesaj kimliğine göre filtrelenir, 120 saniyelik hafızayla — Meta webhook’u gerçekten yeniden gönderir. Ve art arda yazılan mesajlar 15 saniyelik bir tamponda toplanır ve hepsine tek bir yanıt gelir.

Hangi yapay zekâ modeliyle yanıt verir ve başka birini istersem ne olur?

Çağrılar, arka plandaki tüm sağlayıcılar için OpenAI biçimiyle konuşan, `api.megapromoting.com/v1` üzerindeki kendi gateway’imizden geçer; model asistan bazında seçilir. Modeli değiştirmek entegrasyonun yeniden yazılmasını gerektirmez. Embedding’ler için `text-embedding-3-small` kullanıyoruz; embedding modelinin değiştirilmesi ise kaynakların yeniden indekslenmesini gerektirir — aynı şey değildir.

Bu hizmet ne yapmaz?

Telefon için ses yapmaz — o bizim başka platformumuz Kallina’dır ve başka bir iştir. WhatsApp’ta proaktif mesaj göndermez, yukarıdaki nedenle. PDF üretmez ve alınan fotoğrafları bir siparişe eklemez — kontrol tarihinde alınan fotoğraf yalnızca işaretlenir. Ve iş yükünde azalma yüzdesi garanti etmiyoruz: ölçümümüz yok, bu yüzden bunu söylemiyoruz.

Yukarıdaki iddialar neye dayanıyor (21 kaynak)
  1. aichat.md răspunde public — 307 către https://aichat.md/rohttps://aichat.md · 2026-09-06

Bunlardan 20 tanesi depolarımızdaki kod ve dosyalardır. Adlarını ya da satırlarını yayımlamıyoruz: hepsi bir arada, tek bir sayfada, yalnızca bize ait olmayan sistemlerin nasıl kurulduğunu fazla net anlatırdı. İstek üzerine, depoda sizinle birlikte gözden geçiriyoruz — doğrulama hâlâ mümkün, sadece bir görüşme içinde yapılıyor.

Neyin daha iyi çalışmasını isterdiniz?

Bize sürecinizi anlatın. Neyin kurulmaya değer olduğuna, neyi bağlayabileceğimize ve sonucu nasıl doğrulayacağımıza birlikte karar verelim.

Hadi konuşalım