Mühendislik notu
Yapay zekâ anlatır, uydurmaz: AI içeriğinde gerçekleri deterministik tutmak
Her EmlakKlip videosunun seslendirme metnini bir dil modeli yazar. Model hiçbir rakam yazmaz. Yer tutuculu bir şablon yazar; alanı, mesafeleri ve yer adlarını kod doldurur ve metnin kullanılıp kullanılamayacağına da kod karar verir.
Akıcı bir model neden gerçeklerin yeri değil
Bir emlak videosu olgu bildirir: parsel 9.013 metrekare, Burhaniye’de, en yakın okul şu kadar kilometre uzakta. Alıcı bu rakamlara göre karar verir. Dil modelleri cümle kurmada iyi, rakamda güvenilmezdir: yuvarlar, birim çevirir, bir yerin mesafesini başka bir yere yazar ya da kimsenin söylemediği bir özellik ekler.
Bu hatayı rakip bir ürünün videosunda gördük: ekrandaki listede 4,3 km yazıyordu, ses “dört buçuk” diyordu. Aynı olgunun iki çıktısı birbirini tutmuyordu. Bizim kuralımız her istemden basit: coğrafi gerçekleri deterministik kod hesaplar; model yalnız anlatır.
Model şablonu yazar, rakamları kod yazar
Model gerçekleri adlandırılmış yer tutucular olarak alır — {alan}, {ilce}, {poi1.ad}, {poi1.mesafe} — ve bunları kullanan bir metin döndürür. Sayısal yer tutucuların değerini hiç görmez; bu yüzden onları kopyalayamaz, yuvarlayamaz ya da “düzeltemez”.
Kod her yer tutucuyu iki kez doldurur: bir kez ekran için (“8.398,17 m²”, “1,5 km”), bir kez de ses için, seslendirme motorunun doğru okuyacağı sözcüklerle. Sesteki mesafe ekranda görünen etiketin kendisinden üretilir; ses ile ekran yapısal olarak birbirinden farklı olamaz ve bu özelliği bir test korur.
Kişisel veri isteme girmez: danışmanın telefonu ve adı videoya yerleşim katmanında eklenir, modele hiç gönderilmez.
Metnin kullanılabilir olup olmadığına kod karar verir
Her şablon kullanılmadan önce düz kodla yazılmış bir doğrulayıcıdan geçer. Modelin talimata uyacağına güvenilmez; çıktısı denetlenir. Şablon şu durumlarda reddedilir:
- yer tutucu dışında rakam, sayı sözcüğü ya da ölçü birimi varsa;
- bu parsel için olmayan bir yer tutucu kullanılmışsa;
- bir mesafe ait olduğu yerden kopmuşsa — her mesafeden önceki en yakın yer adı o mesafenin kendi yeri olmalı;
- alan ya da konum yer tutucusu eksikse veya müşterinin elle eklediği bir yer mesafesiyle birlikte anılmamışsa;
- imar bilgisi verilmemişken tarım niteliğindeki bir parselde yapılaşma ya da orada yaşama ima ediliyorsa;
- müşterinin kendi notu bir cümlenin ortasına yapıştırılmışsa ya da doldurulmuş metin birkaç sözcük içinde aynı ifadeyi tekrarlıyorsa;
- metin videodaki seslendirme süresine sığmayacak kadar uzun ya da işe yaramayacak kadar kısaysa.
Bu kuralların çoğu gerçekten ölçtüğümüz çıktılardan doğdu: yolun değil okulun mesafesi çıkan bir cümle; “ayrıca” sözcüğünün ardına büyük harfle yapışmış bir müşteri notu; tarla niteliğindeki parselde alıcıyı “yaşam kurmaya” çağıran bir cümle. Her biri bir kural ve bir test oldu.
Gerekçeyle yeniden dene, sonra yedeğe geç
Şablon reddedilirse model doğrulayıcının mesajını — hangi kuralın neden düştüğünü — alır ve en fazla iki kez yeniden dener. Üçüncü şablon da geçmezse sistem aynı gerçeklerden kurulan, yapay zekâsız deterministik bir şablona geçer. Metin daha sade olur ama video yine teslim edilir ve içinde uydurulmuş tek bir şey olmaz.
Müşterinin elle düzenlediği metin de aynı doğrulayıcıdan geçer. Seslendirmeye elle “300 metre” yazmak, modelden gelmiş gibi aynen reddedilir: mesafeler yalnız yer tutucuyla girer.
Açık veriye de aynı şüpheyle bakılır
Gerçekler daha model onlara dokunmadan yanlış olabilir. Kullandığımız açık harita verisinde “plaj” sınıfı parkları ve otelleri de taşıyor; bir şarkıcının adını taşıyan bir park plaj olarak sınıflanmıştı. Yer adında deniz, plaj ya da sahil anlamına gelen bir sözcük yoksa onu sıradan bir yer sayarız; şablonun ona “plaj” demesinin bir yolu kalmaz.
Model deterministik değil, sonuç yine de yeniden üretilebilir
Model çıktısı deterministik değildir: aynı istek yarın farklı bir cümle döndürebilir. Bu yüzden kabul edilen şablon işle birlikte saklanır; her render — sonradan yapılan yeniden render dahil — yeni bir model çağrısı değil, saklanan şablonu kullanır. Teslim edilmiş bir videonun seslendirmesi her zaman yeniden üretilebilir.
Kurallar ağ erişimi olmadan koşan 93 otomatik testle korunur; bir kuralı ya da istemi değiştirmek bir denetimi sessizce zayıflatamaz.
Gerçek içeren her AI içeriği için çıkarımlar
- Her gerçeği kod hesaplasın; model yer tutucuların çevresindeki sözcükleri seçsin.
- Modelin değiştirmemesi gereken değerleri ona göstermeyin.
- Çıktıyı kodla doğrulayın, yeniden denemede gerekçeyi geri verin.
- Her zaman deterministik bir yedeğiniz olsun; modelin kötü bir günü teslimatı durdurmasın.
- Kabul edileni saklayın; render sırasında asla yeniden üretmeyin.
Ayrıntı: EmlakKlip vaka çalışması ve kurumsal yapay zekâ çalışmalarımız.
Aklınızda bir proje mi var?
Kısa bir açıklama gönderin. Önce karşılıklı NDA isterseniz, ayrıntıları paylaşmadan önce bizimkini gönderelim.