1 puan yazan GN⁺ 2026-03-25 | 1 yorum | WhatsApp'ta paylaş
  • Üst segment bir serviste telefonlara cevap verilememesi nedeniyle oluşan gelir kaybını çözmek için, gerçekten telefonları yanıtlayan 'Axle' adlı bir yapay zeka resepsiyonisti geliştirildi
  • Yapay zeka, Retrieval-Augmented Generation (RAG) tabanlı olarak kuruldu ve web sitesinden toplanan gerçek hizmet ve fiyat bilgilerine dayanarak doğru yanıtlar veriyor
  • Vapi, Deepgram, ElevenLabs, FastAPI, MongoDB Atlas ve diğer araçlar entegre edilerek telefon bağlantısı, konuşma tanıma/sentezleme ve konuşma kayıtlarının saklanması işlevleri hayata geçirildi
  • Ses kalitesi, doğal ton ve kısa cümle yapısı ile ayarlanarak müşterilere samimi ama profesyonel yanıtlar sunacak şekilde optimize edildi
  • Gelecekte rezervasyon sistemi, SMS bildirimleri ve geri arama panosu ile genişletilmesi planlanıyor; işletmeye özel sesli ajanlarda bilgi tabanı ve escalation tasarımının kritik olduğu vurgulanıyor

Yapay zeka resepsiyonistinin inşa süreci

  • Lüks bir otomobil servisi işleten ağabeyinin, telefonlara cevap verilememesi nedeniyle her ay binlerce dolar kaybetmesi sorununu çözmek için, özel bir 'Axle' yapay zeka resepsiyonisti geliştirildi
  • Basit bir chatbot değil, gerçek telefonları cevaplayabilen ses tabanlı bir ajan olarak tasarlandı; fiyatlar, çalışma saatleri ve politikalar gibi gerçek bilgilere dayanarak müşteri sorularını yanıtlıyor
  • Proje üç aşamadan oluşuyor: bilgi tabanını kurmak (RAG pipeline)telefon bağlantısı ve sunucu entegrasyonuses kalitesi ve konuşma tonunu ayarlamak

Adım 1: Beyni kurmak (RAG pipeline)

  • Yapay zekanın gerçek verilere dayanarak yanıt vermesini sağlamak için Retrieval-Augmented Generation (RAG) yaklaşımı kullanıldı
    • Sadece LLM kullanıldığında yanlış fiyat verme gibi halüsinasyon (hallucination) riski bulunduğundan, yanıtlar yalnızca gerçek bilgilere dayandırıldı
  • Web sitesi verisi scraping ile 21'den fazla belge toplandı; bunlar hizmet türleri, fiyatlar, süreler, çalışma saatleri, ödeme yöntemleri, garanti ve ikame araç politikalarını içeriyor
  • Bilgi tabanı MongoDB Atlas'ta saklandı ve Voyage AI (voyage-3-large) modeliyle 1024 boyutlu vektör embedding'ler oluşturuldu
    • Atlas Vector Search index'i üzerinden anlamsal arama yapılıyor
  • Bir müşteri sorusu geldiğinde, aynı embedding modeliyle sorgu dönüştürülerek anlamsal olarak en benzer 3 belge bulunuyor
  • Bulunan belgeleri bağlam olarak kullanıp yanıt üretmek için Anthropic Claude (claude-sonnet-4-6) modeli kullanıldı
    • Sistem prompt'una “bilgi tabanı dışındaki bilgileri kullanma, kısa ve konuşma dilinde kal, bilmiyorsan geri arama öner” kuralları eklendi
  • Sonuçta terminalde “Yağ değişimi ne kadar?” gibi sorulara gerçek fiyat ve hizmet içeriğiyle doğru yanıt verilebildi

Adım 2: Gerçek telefon numarasını bağlamak

  • Yapay zeka beynini gerçek telefon sistemine bağlamak için Vapi platformu kullanıldı
    • Telefon numarası satın alma, Deepgram tabanlı konuşma tanıma, ElevenLabs tabanlı konuşma sentezleme ve gerçek zamanlı function calling özellikleri sunuyor
  • FastAPI webhook sunucusu kuruldu
    • Vapi, müşteri sorularını tool-calls isteği olarak /webhook endpoint'ine gönderiyor
    • Sunucu bunları RAG pipeline'a iletiyor, Claude yanıtını alıp tekrar Vapi'ye geri gönderiyor
    • Doğal konuşma hızını korumak için gecikmenin minimumda tutulması gerekiyor
  • Ngrok ile yerel sunucu dışarıya açık bir HTTPS URL'si olarak yayınlandı; böylece geliştirme sırasında da gerçek zamanlı test yapılabildi
  • Vapi asistanı yapılandırması

    • Karşılama mesajı ve iki araç (answerQuestion, saveCallback) webhook'a bağlandı
    • Sorulara yanıt veriyor ya da bilemediğinde isim ve telefon numarası alarak geri arama kaydı oluşturuyor
    • Konuşma hafızası özelliği ile önceki konuşma bağlamı korunuyor
    • “Çalışma saatleriniz nedir?” → “Peki lastik değişimi ne kadar?” gibi ardışık sorular işlenebiliyor
  • Arama kayıtlarını MongoDB'ye yazmak

    • Arayan numara, soru, yanıt, insana aktarma durumu ve zaman damgası kaydediliyor
    • Geri arama talepleri ayrı bir callbacks koleksiyonunda tutuluyor, böylece sonradan dönüş yapılabiliyor
    • Bu sayede müşteri talep kalıpları ve arama hacmi analizi yapılabiliyor

Adım 3: Ses kalitesini ayarlamak

  • Metin yanıtı ile sesli yanıt arasındaki fark göz önüne alınarak sesli aktarımın optimize edilmesi gerekti
    • Yazıda doğal görünen cümleler, sesli olarak dinlendiğinde yapay gelebiliyor
  • ElevenLabs ses seçimi

    • Yaklaşık 20 ses test edildi ve 'Christopher' sesi en doğal ve servis ortamına en uygun seçenek oldu
    • Aşırı robotik ya da fazla neşeli sesler uygun bulunmadı
  • Sistem prompt'unu güncellemek

    • Kısa cümleler, Markdown'un kaldırılması, “Harika bir soru!” gibi gereksiz ifadelerin silinmesi
    • Fiyatların doğal dille okunması (“forty-five dollars”)
    • Yanıtların 2 ila 4 cümleyle sınırlandırılması
    • Amaç, samimi ve profesyonel bir insan sesi elde etmekti
  • Escalation (geri arama) akışını test etmek

    • Bilgi tabanında olmayan bir soru sorulduğunda yapay zeka bunu bilmediğini söylüyor, isim ve numara istiyor ve veriyi MongoDB'ye kaydediyor
    • Böylece servis sahibi doğrudan geri dönüş yapabiliyor
  • Entegrasyon testleri yazmak

    • RAG pipeline, webhook işleme ve uçtan uca akış doğrulandı
    • Hatalı istekler, arama sonucu bulunamaması, geri arama numarasının eksik olması gibi edge case'ler de ele alındı

Teknoloji yığını

  • Vapi (Deepgram & ElevenLabs entegrasyonu) — telefon numarası, konuşma tanıma, konuşma sentezleme, function calling
  • Ngrok — yerel geliştirme için HTTPS tüneli
  • FastAPI + Uvicorn — webhook sunucusu
  • MongoDB Atlas — bilgi tabanı, vektör arama, arama kayıtları, geri arama kuyruğu
  • Voyage AI (voyage-3-large) — anlamsal metin embedding'leri
  • Anthropic Claude (claude-sonnet-4-6) — bilgi tabanı destekli yanıt üretimi
  • Pythonpymongo, voyageai, anthropic, fastapi ile kuruldu
  • Copilot CLI — build otomasyon aracı

Sonraki adımlar

  • Şu anda yapay zeka, soru yanıtlama ve geri arama toplama işlevlerini tamamlamış durumda
  • Sıradaki hedefler takvim entegrasyonu ile gerçek zamanlı rezervasyon, SMS bildirimleri, geri arama yönetim paneli, güvenlik güçlendirmesi ve Railway dağıtımı
  • Tamamlandığında 7/24 çalışabilecek ve telefonlara cevap verilememesinden kaynaklanan gelir kaybını önleyebilecek
  • En zor kısım kod değil, servise uygun ses tonunu yakalamak oldu
  • Temel ders: işletmeye özel sesli ajanlarda ham LLM doğrudan kullanılmamalı
    • Gerçek bir bilgi tabanına dayanmalı ve bilinmeyen durumda izlenecek akış (escalation) mutlaka tasarlanmalı
    • Bu bir istisna değil, temel bir özellik

1 yorum

 
GN⁺ 2026-03-25
Hacker News yorumları
  • Eskiden servis danışmanı (kabul görevlisi) olarak çalıştım. Yazıda anlatılan sistemin pratikte işleyeceğini sanmıyorum

    1. Aynı onarım geçmişi yoksa teklifin yanlış çıkma olasılığı yüksektir. Bazı eyaletlerde yanlış teklif vermek hukuki sorun yaratabilir
    2. Parça stoku ve fiyatlar sürekli değişir. Sistem bunu yansıtamazsa sadece karmaşa yaratır
    3. Yeni işler, parça seçiminden itibaren karmaşıktır. Araç ne kadar lüksse o kadar zor olur
    4. Faydalı olabilecek kısım en fazla araç teslim alma bildirimi olur. Tamamlanma zamanı ya da ilerleme durumunu otomatik bildirmek için
      Bu tür geliştirmeler basit bir kibirin ötesinde, tehlikelidir. Doğrulama olmadan yalnızca varsayımlarla yapılırsa başkalarının geçimini riske atar
    • Ben de uzman değilim ama bu tür gösterişçi tavra katılıyorum. Resepsiyoniste ihtiyaç varsa bir insan işe almak doğal olanı. İşi doğrulanmamış bir yapay zeka çözümüne emanet etmek anlaşılır değil. Sadece yönetmek istemediklerinden mi, yoksa modanın peşinden mi gittiklerinden emin değilim
    • Aslında daha basit bir çözüm var. Aracın altında çalışan kişinin telefonu eller serbest hoparlörlü telefonla açabilmesi yeterli. Yerel bir konuşma tanıma modeli kullanılırsa sinir ağı teknolojisinden de söz edilebilir, maliyet de mikrofon dahil 200-300 dolar civarında kalır
    • Ama asıl yazıya bakılırsa bu servis zaten sabit hizmetler ve fiyat listesi ile çalışıyor. Bu yüzden özel teklif gerekmeyen durumlarda yukarıdaki sorunlar geçerli değil
    • “Tehlikeli” değerlendirmesi biraz abartılı görünüyor. Geliştirici ağabeyinin işine yardım ediyor ve kusursuz olmasa bile müşteri dönüşüm oranını %10 artırması bile yeterince değerli olur
    • Araç tamamlandı bildirimi ya da ilerleme güncellemeleri zaten yıllardır TTS sistemleri ile yapılabiliyordu. Bunun için ille de LLM gerekmiyor
  • Bizim bölgede Subaru bayisi, telefonla randevu alırken AI asistanını seçme imkanı veriyor. Denedim; insandan daha doğru ve hızlı çalıştı. Taco Bell'in AI sipariş sistemi de aynı şekilde harikaydı. Bu gibi durumlarda insanla konuşmamak bir kayıp yaratmıyor ve gerekirse her zaman bir insana bağlanmak mümkün

  • Bu tür blog yazıları hikayenin yalnızca yarısını anlatıyor. Gerçekte gelir arttı mı, müşteriler bunun bot olmasını önemsediler mi, başarısız örnekler yaşandı mı merak ediyorum

    • Aslında bu sorun AI'dan önce de sanal asistan hizmetleri ile çözülebiliyordu. Aylık 200-1000 dolar yeterli ve zaten kaybedilen geliri geri kazanmak anlamına geliyor. AI sadece daha karmaşık bir fare kapanı; özellikle üst düzey hizmette insan desteği çok daha fazla güven verir
    • Muhtemelen henüz yeterince gerçek dünya testi yapılmamıştır. E-posta adresi gibi şeyleri LLM'in doğru şekilde yazması zor olabilir. Gerçek zamanlı sesli yanıtta Anthropic yavaştı, Groq ise 200 ms'nin altında çok hızlıydı
    • Bir zamanlar acilen otomobil camı değişimi yaptırmam gerekiyordu ama otomatik ses sistemi gereksiz bilgileri durmadan istediği için kapattım. Basit randevularda idare edebilir ama özel durumlarda sonunda yine bir insanla konuşmak gerekiyor
    • Bu tür denemeler makul. Sadece gerçek performansı hâlâ belirsiz. AI iyimserleri ile kötümserlerini ayıran bir turnusol testi gibi
  • Ben bugünlerde LLM tabanlı telefon asistanlarına oldukça olumlu bakıyorum. Mint Mobile müşteri hizmetlerini aradığımda LLM beni doğal biçimde anlayıp sorunu 1 dakika içinde çözdü. Eskiden bunun için 20 dakikadan fazla beklemem gerekirdi

    • LLM'in telaffuzu net, kulaklık paraziti yok ve anlaması kolay. Elbette eBay'in LLM sohbet botu gibi berbat örnekler de var ama iyi uygulanmış sistemler gerçekten çok iyi çalışıyor
    • Amazon'un sohbet desteği de benzer. LLM sipariş bilgilerini önceden düzenliyor, insan ise sadece son onayı veriyor. Verimli
    • Yine de neden bunun uygulamada çözülemeyip LLM kullanmak zorunda kalındığı soru işareti. Sonuçta geliştirme sürecinin bir başarısızlığı gibi görünüyor
    • Benim de benzer bir deneyimim oldu. Teknik bir soru sordum, LLM doğru yanıt verdi; ardından bir insan temsilci devraldı ama daha az uzmandı. Yine de zamandan tasarruf sağlandı
    • Eski robot sistemlerden çok daha iyi ve RAG tabanlı chatbotlar belge aramanın yerini alacak kadar faydalı. Örneğin manager.io'nun chatbotu belge aramak yerine doğrudan yanıt verdiği için kullanışlıydı
  • Yazıya göre servis, telefonlara cevap veremediği için her ay binlerce dolar kaybediyor. Öyleyse ayda 500 dolar civarında bir dış kaynak resepsiyonist tutmak çok daha yüksek ROI sağlar

    • Aslında sesli mesaj bile bazı sorunları çözebilir. AI olsun sesli mesaj olsun, bazı müşteriler zaten kapatacaktır
    • Üstelik iş yükü zaten telefon cevaplayamayacak kadar fazlaysa, ek müşterileri kabul edecek kapasite de olmayabilir
    • Arkadaşım dış kaynak resepsiyon hizmeti kullanıyor; ayda 150 sterline 9'dan 5'e kadar kapsıyor. Kendisi sadece akşamları takvimi ayarlıyor. Yazıdaki durum doğruysa servis zaten %100 kapasitede çalışıyor olmalı
    • İyi bir service writer pahalıdır ama karşılığını verir. Müşteri güveni yüksektir ve ileride işi devralma ihtimali bile olabilir
    • Sonuçta ROI, blogun tanıtmak istediği AI eğitim kursu için bir reklam etkisinden ibaret olabilir
  • Son zamanlarda robot gibi geldiğini hissettiğim anda telefonu kapatıyorum. Ama yakında AI sesi insanla ayırt edilemeyecek düzeye gelebilir gibi görünüyor. O zaman telefona duyulan güven çökebilir. E-posta ve LinkedIn zaten AI spam'iyle doldu, bu yüzden insanlar telefona yöneldi ama o da yakında yok olabilir

    • Yine de sesli mesaja düşeceksem aynı şekilde kapatacağım için kayıp yok
    • AI beni yanlış anlayıp sonunda bir insana aktarırsa, aynı şeyi iki kez anlatmak yorucu oluyor
    • Yakın zamanda araba bakarken birçok bayiyle görüştüm, sonradan bunların hepsinin LLM tabanlı sahte isimli temsilciler olduğunu fark ettim. Yanıt hızları fazla yüksek olduğu için tuhaf gelmişti
  • “Bu genel amaçlı bir chatbot değil” denmiş ama aslında esasen 2026 model genel amaçlı bir chatbottan ibaret

  • Blogun “About” sayfasına baktım; yazarın kod yazmayı öğrenip zengin olan bir influencer'dan ilham aldığı yazıyor. Ama bu tavır benim görmek istediğim mühendislik kültürünün yönüyle pek örtüşmüyor

  • İnsanların kişisel bloglarını AI ile yazması biraz iç karartıcı geliyor

    • Yine de bunu dürüstçe söylemiş olmasını olumlu buluyorum. Çoğunun yazma deneyimi az ve LLM aracılığıyla “iyi yazılmış bir metin” elde ettiklerini düşünüyorlar. Onlara göre yapay zekanın yazdığı metin kötü gelmiyor olabilir
  • Burada RAG gerçekten gerekli mi? Sadece fiyat listesi ve çalışma saatleri gibi bilgilerse hepsi rahatlıkla context window içine sığar

    • Muhtemelen öğrenme amaçlı bir projeydi. Ben de kişisel projelerde gereğinden fazla mimari kullanarak bir şeyler öğreniyorum
    • Sesli konuşmada daha büyük mesele gecikme (latency). Sitede birçok sayfa varsa, RAG ile yalnızca bir kısmını hızlıca getirip LLM'in ayrıntılı yanıt üretmesi verimli olabilir
    • Bence sadece tüm siteyi ve fiyat listesini bağlama koymak daha basit
    • Ben de katılıyorum. Bu düzeydeki bilgi tek seferde rahatça işlenebilir
    • Genel olarak bu mimari gereğinden fazla