İçeriğe atla
SinaptikLabAI KNOWLEDGE PLATFORM
DersOrta38 dakikaKonuşma Arayüzü Geliştirici · 3. ders

Sıra yönetimi: devir eşiği, kesme ve bağlam

Kullanıcının sözünü bitirdiğine karar veren eşikleri, kesme davranışını, konuşma geçmişinin hangi bölümünün bağlamda tutulacağını ve araç çağrısı gereken turların akışı bozmadan nasıl yürütüleceğini öğretir.

Önkoşul: Large Language Model, Prompt Engineering

BU DERSİN SONUNDA

  • Devir eşiğini erken kesme ve fazla bekleme arasındaki ödünleşimle ayarlamak
  • Kesme ve bekleme işaretlerini tur durumuna bağlı olarak tasarlamak
  • Konuşma geçmişinden bağlamda kalacak bölümü seçmek
  • Araç çağrısı gereken turları akışı bozmadan yürütmek
  1. 1

    Teori

    Kavramın çalışma mantığı

  2. 2

    Örnek

    Gerçek bir senaryo üzerinde gösterim

  3. 3

    Lab

    Uygulamalı alıştırma

  4. 4

    Test

    Kısa ölçüm

  5. 5

    Proje

    Rotadaki projeye katkı

Kısa cevap

Sıra yönetimi tek bir sorunun cevabıdır: sıra şu anda kimde? Sistem bunu her an bir durum olarak tutmazsa iki tipik arıza çıkar — kullanıcı düşünmek için duraksadığında sözü kesilir, ya da sözünü bitirdiğinde sistem beklemeyi sürdürür. Devir eşiği bu iki hatayı birbirine çeviren tek düğmedir; ama eşik tek bir sabit olarak değil, tur durumuna ve cümlenin tamamlanmışlığına göre ayarlanır.

Teori: sessizlik tek başına bitirmez#

Sessizlik süresi, konuşmanın bittiğine dair zayıf bir kanıttır. İnsan konuşmasında duraksama iki farklı iş yapar: sözü devretmek ve sürdürürken düşünmek. İkisi akustik olarak benzerdir ama dilsel olarak ayrışır — devreden duraksama genellikle tamamlanmış bir sözdizimsel yapının ardından, sürdüren duraksama yarım kalmış bir yapının ortasında gelir. Yalnızca sessizlik sayacına bakan bir sistem bu yüzden yavaş konuşanı ve düşünerek konuşanı sürekli keser.

Pratik çözüm iki sinyali birleştirmektir: etkinlik tespitinin ölçtüğü sessizlik süresi ve o ana kadarki kısmi metnin tamamlanmışlığı. Kısmi metin bir bağlaçla, sayıyla ya da yarım bir tamlamayla bitiyorsa eşik uzatılır; şema açısından yürütülebilir bir istek oluşmuşsa kısaltılır. Türkçede yardımcı bir ipucu vardır: yüklem çoğunlukla sonda bulunduğundan çekimli bir fiilin görünmesi tamamlanma lehine güçlü bir işarettir. Bu bir kural değil bir olasılık kaydırmasıdır; eşiği sıfırlamaz, kısaltır.

Kesme simetrik problemdir: sistem konuşurken kullanıcı araya girdiğinde kim susar? Karar sistemin o an ne yaptığına bağlıdır. Bilgi okurken kullanıcı her zaman kesebilmelidir; bu, uzun cevapları katlanılabilir kılan tek şeydir. Onay isterken ise araya giren her ses cevap sayılmamalıdır — 'hayır' ile yarım kalmış bir 'ha' arasındaki fark, geri alınamaz bir işlemi tetikleyip tetiklememek kadar büyüktür.

Uygulamada: tur durumuna göre davranış#

Tur durumuDevir eşiğiKesmeBekleme işareti
Serbest istek bekleniyorUzun tutulur; yarım cümle cezalandırılmazSerbestGerekmez
Eksik parametre sorulduKısa tutulur; beklenen cevap kısadırSerbestKısa onay sesi
Geri alınamaz işlem için onay sorulduKısa, ama cevap şemaya uymalıCevap sayılmazBekleniyor ifadesi
Sistem uzun bilgi okuyorUygulanmazSerbest; okuma anında dururGerekmez
Araç çağrısı yürüyorGirdi kabul edilir, kuyruğa alınırSes çıktısını durdurur, çağrıyı durdurmazİşlem sürüyor bildirimi
Satırlardaki değerler başlangıç duruşudur; her tur durumu kendi kayıtlarınızla ayrı ayrı ayarlanır.

Bağlamda ne kalır#

Konuşma uzadıkça geçmişin tamamını bağlama koymak iki maliyet üretir: bağlam penceresi dolar ve model artık geçersiz olan eski parametrelere takılır. Sesli arayüzde ikinci maliyet daha ağırdır, çünkü kullanıcı kendi söylediğini sık düzeltir; eski değeri ham hâlde bağlamda bırakmak modele iki rakip değer sunmak demektir. Doğru yaklaşım geçmişi ham kayıt olarak değil katmanlı tutmaktır: değişmez bir durum nesnesi, son birkaç turun ham metni ve daha eskisinin karar özeti.

  • Durum nesnesi: aktif niyet, doldurulmuş parametreler, bekleyen soru, onay durumu. Her turda güncellenir, birikmez.
  • Son turlar: kullanıcının son iki-üç sözü ve sistemin cevapları ham hâlde; gönderme ve düzeltme ifadeleri ancak burada çözülür.
  • Karar özeti: daha eski turlardan yalnızca varılan kararlar saklanır, cümleler değil.
  • Yürütme kaydı: çağrılan araçlar, döndürdükleri ve hata durumları; modelin aynı çağrıyı tekrarlamasını önler.
  • Dışarıda kalanlar: kısmi çözümleme çıktıları, kesilmiş yarım sözler ve silinmiş parametrelerin eski değerleri.

Karar: araç çağrısı olan tur#

  1. 1Çağrıyı sınıflandır

    Okuma mı yazma mı? Okuma doğrudan yürütülür; yazma onaya bağlanır ve onay kaydı koda yazılır.

  2. 2Beklemeyi duyur

    Çağrı kısa sürmeyecekse sessiz kalma; kısa bir ifade sıranın sistemde olduğunu ve turun düşmediğini gösterir.

  3. 3Girdi kanalını açık tut

    Çağrı yürürken gelen ses atılmaz, kuyruğa alınır ve çağrı bitince değerlendirilir.

  4. 4Sonucu duruma yaz

    Aracın döndürdüğü değer durum nesnesine işlenir; modele ham hata yerine yorumlanmış sonuç verilir.

  5. 5Zaman aşımını konuş

    Süre aşıldığında sessizce beklemeyi sürdürme; durumu söyle ve alternatif öner.

Sık yapılan hata#

En yaygın hata, devir eşiğini tek bir sabit olarak uygulamak ve o sabiti kendi konuşma temposuyla ayarlamak. Geliştirici eşiği kendi hızıyla dener, kısa bir değer makul görünür; yavaş konuşan, ikinci dilinde konuşan veya düşünerek konuşan kullanıcı sürekli kesilir ve bu kesilmeler ortalama ölçümlerde görünmez. İkinci yaygın hata, kesme sinyalini yalnızca ses çıktısının durdurulması saymak: kullanıcı araya girdiğinde okunmamış cevabın dayandığı durum da geri alınmalıdır, yoksa sistem söylemediği bir şeyi söylenmiş sayar.

LAB · UYGULAMALI ALIŞTIRMA

Devir eşiğini kendi kayıtlarınızla ayarlayın

  1. 1Aynı on isteği üç farklı tempoda kaydedin: hızlı, normal ve düşünerek duraksayan. Her kayıtta duraksama yerlerini not edin.
  2. 2Kayıtları, kısa/orta/uzun olarak kendi seçtiğiniz üç sessizlik eşiğiyle hattınızdan geçirin.
  3. 3Her koşuda iki sayıyı sayın: erken kesilen tur sayısı ve kullanıcı bitirdikten sonra beklenen fazla süre.
  4. 4Kısmi metnin çekimli bir fiille bitip bitmediğine bakan basit bir kural ekleyin; eşiği bu kurala göre uzatıp kısaltarak koşuyu yineleyin.
  5. 5Dört koşunun sonuçlarını tek tabloda karşılaştırın ve hangi eşiğin hangi tempo için kabul edilebilir olduğunu yazın.
  6. 6Onay sorusu içeren turlar için ayrı bir eşik belirleyip aynı kayıtlarla doğrulayın; bu turlarda araya giren yarım seslerin cevap sayılmadığını kontrol edin.

Beklenen çıktı

Üç konuşma temposu için erken kesme ve fazla bekleme sayılarını gösteren bir eşik tablosu ve onay turları için ayrıca belirlenmiş, kayıtla doğrulanmış bir eşik değeri.

Sık sorulan sorular

Kısmi çözümleme çıktısını kullanıcıya göstermeli miyim?

Sesli arayüzde soru anlamsızdır; metin eşliğinde bir arayüz varsa cevap koşulludur. Kısmi metin her hâlükârda geliştirici için değerlidir, çünkü devir kararını besler ve saklanmalıdır. Kullanıcıya gösterildiğinde sonradan değişen kelimeler dikkat çeker; gösteriyorsanız değişimin beklendiğini görsel olarak belli edin ve aşağı akış mantığını kısmi metne değil nihai metne bağlayın.

Durum nesnesini model mi güncellesin, kod mu?

Yazma yetkisi kodda kalmalı. Model önerilen güncellemeyi yapılandırılmış biçimde döndürür, kod şemaya göre doğrular ve yazar. Modelin duruma doğrudan yazmasına izin vermek, bir turdaki yanlış çıkarımın sonraki turların tamamını zehirlemesine yol açar; üstelik hatanın hangi turda girdiği de kaybolur.

Kullanıcı araç çağrısı sırasında konuyu değiştirirse?

Kuyruğa aldığınız ses çözümlendiğinde niyet karşılaştırması yapın. Yeni niyet farklıysa yürüyen çağrının sonucunu atmayın; duruma yazıp beklemeye alın, kullanıcı geri döndüğünde aynı çağrıyı tekrarlamak zorunda kalmazsınız. Okuma çağrıları için bu davranış güvenlidir; yazma çağrıları zaten onaya bağlı olduğundan konu değişikliği bekleyen onayı düşürür.

LEARN

Konuşma Arayüzü Geliştirici rotasına devam et

Dersler tek başına da okunabilir, ama sıralı ilerlemek önkoşul boşluklarını kapatır.