𝟭𝟱𝟬𝗺𝘀'𝗶𝗻 Ö𝘁𝗲𝘀𝗶𝗻𝗱𝗲: 𝗚𝗲𝗿𝗰𝗲𝗸 𝗭𝗮𝗺𝗮𝗻𝗹ı 𝗕𝗶𝗿 𝗬𝗮𝗽𝗮𝘆 𝗭𝗲𝗸𝗮 𝗦𝗲𝘀𝗹𝗶 𝗔𝘀𝘀𝗶𝘀𝘁𝗮𝗻 İ𝗰̧𝗶𝗻 𝗚𝗲𝗰̧𝗶𝗸𝗺𝗲𝘆𝗶 𝗡𝗮𝘀ı𝗹 𝗔𝘇𝗮𝗹𝘁𝘁ı𝗺

Canlı kodlama ve teknik mülakatlar geliştiriciler için stres kaynağıdır. Çoğu insan, bir uzman paylaşımlı bir IDE üzerinden yazdığı her kod satırını izlerken zorlanır.

Üretken Yapay Zeka (Generative AI) bunu değiştiriyor. Artık etkileşimli pratikler yoluyla gerçek mülakat senaryolarını simüle edebilirsiniz.

İşe alım için SaaS araçları geliştirmekle geçen aylarım oldu. Karşılaştığım en büyük sorun şuydu: ağ gecikmesi (network latency). Akıcı bir yapay zeka mülakat asistanı oluşturmak için yanıt süresinin 150ms'nin altında kalması gerekir.

İnsanlar 200ms'den uzun süren her türlü gecikmeyi rahatsız edici olarak algılar. Sınırın altında kalmak için tüm iş akışının (pipeline) hızlı olması gerekir: • Ses yakalama (Audio capture) • Akış (Streaming) • LLM çıkarımı (LLM inference) • Metinden Sese (Text-to-Speech) • Ses çalma (Audio playback)

Standart HTTP istekleri bu görev için çok yavaştır. Verileri istemci tarafında (client side) işlemeniz gerekir.

Ses Etkinliği Algılama (Voice Activity Detection - VAD) ilk engeldir. Kullanıcının tam olarak ne zaman konuşmaya başladığını ve ne zaman durduğunu bilmeniz gerekir. Bu, sunucunuza sessiz ses verisi gönderilmesini engeller.

Bunu çözmek için bir JavaScript AudioWorklet kullandım. Bu, ham PCM ses işlemesini ayrı bir iş parçacığına (thread) taşır. Böylece ana kullanıcı arayüzü (UI) iş parçacığı serbest kalır. Bu da yapay zekanın, kullanıcının tarayıcısını veya IDE'sini yavaşlatmadan arka planda aktif kalması anlamına gelir.

Gerçek zamanlı kod analizi bir başka zorluktur. Sistem hem sesi hem de editördeki kodu anlamalıdır. WebSockets kullanarak metin editörü verilerini ses girişiyle senkronize ediyorum. Bu, kullanıcının yazarken yapay zekanın hataları tespit etmesine veya optimizasyonlar önermesine olanak tanır.

Teknik mülakatlara hazırlanmak istiyorsanız şu adımları deneyin:

  • Sesli düşünme pratiği yapın. Kod yazarken mantığınızı açıklayın.
  • Yapay zeka simülasyonlarını kullanın. Yanıt süreleriniz ve kod akıcılığınız hakkında raporlar alın.

Düşük gecikmeli ses uygulamaları oluşturmak, ses sıkıştırma ile sunucu gücü arasında bir denge gerektirir.

Projelerinizde ses akışını (audio streaming) nasıl yönetiyorsunuz? Tarayıcıda VAD modelleri kullanıyor musunuz?

Düşüncelerinizi yorumlarda paylaşın.

Kaynak: https://dev.to/websterliu/oltre-i-150ms-come-ho-ridotto-la-latenza-per-creare-un-assistente-vocale-ai-in-tempo-reale-1jj5