SiteMind
Bir web sitesini tarayıp onu kendi içeriği hakkında konuşabilen bir asistana çeviren yapay zeka platformu.

- Kurum
- DizaynGrup
- Dönem
- 2026 — devam ediyor
- Rolüm
- Geliştirme ekibinde
- Alan
- RAG, retrieval, ürün arayüzü
Teknolojiler
- RAG
- Embeddings
- Vector Search
- LLM
- Machine Learning
- Web
Özet
Şu anda üzerinde çalıştığım ve bugüne kadar dahil olduğum en kapsamlı proje. Kullanıcı yalnızca sitesinin adresini giriyor; platform siteyi tarıyor, içeriği vektörleştirip modeli eğitiyor ve siteye gömülebilecek bir sohbet widget’ı üretiyor. Arkasında ise projeler, analitik, takım yönetimi ve faturalamayı içeren tam bir SaaS panosu duruyor.
URL’den chatbot’a
Ürünün vaadi tek cümleydi: karmaşık kurulum yok, kod yazmaya gerek yok, sadece adresinizi girin. Bu kadar kısa bir vaadi tutmak, arkasında uzun bir zinciri gizlemek anlamına geliyordu.
Kullanıcı proje oluşturduğunda tarama başlıyor ve ilerleme canlı olarak akıyor. Tarama bitince bulunan sayfalar listeleniyor ve kullanıcı hangilerinin eğitime gireceğini seçiyor — bir kurumsal sitede kariyer sayfasının chatbot’a girmesi genelde istenmiyor. Seçimden sonra eğitim adımı başlıyor, o da aynı şekilde canlı ilerleme gösteriyor.
Uzun süren işlerde kullanıcıyı boş bir yükleme ekranında bırakmamak, ürünün güvenilir hissettirmesinin en büyük parçası oldu. Teknik olarak arka planda çalışan bir kuyruk vardı; kullanıcı açısından ise sadece "çalışıyor" demek yeterli değildi, neyin çalıştığını da görmesi gerekiyordu.
Cevabın biçimi de cevabın parçası
Sohbet arayüzü sadece düz metin döndürmüyor. Modelin, sorunun türüne göre yapılandırılmış bir çıktı üretmesi gerekiyordu: fiyat sorulduğunda bir fiyat tablosu, ürün sorulduğunda ürün kartları.
Bunu mümkün kılan şey widget ayarlarındaki sohbet DSL’i oldu. Hangi durumda cevabın hangi bileşene dönüşeceği bu dille tanımlanıyor; böylece her müşteri için ayrı arayüz kodu yazmak gerekmiyor, konfigürasyon yeterli oluyor.
Bu, ürünün ölçeklenmesi için kritik bir karardı. Elli müşteriye elli ayrı özel arayüz yazmak mümkün değil; onlara aynı motoru farklı yapılandırmalarla vermek mümkün.
Bilmediğini bilmek
RAG ile çalışırken en çok uğraştığımız konu, modelin elindeki kaynak yetersizken ne yapacağıydı. Uydurmak en kötü sonuç; kuru bir "bilmiyorum" ise ziyaretçiyi kaybetmek.
Çözüm ikisinin arasında oldu: kanıt sınırlıysa model bunu açıkça söylüyor ve konuşmayı bir lead formuna bağlıyor. Böylece cevaplanamayan soru, kaybedilmiş bir ziyaretçi yerine iletişim bilgisi bırakan bir müşteri adayına dönüşüyor.
Burada öğrendiğim şey teknikten çok ürünle ilgiliydi: bir yapay zeka özelliğinin başarısı, doğru cevap verdiği anlarla değil, cevap veremediği anları nasıl yönettiğiyle ölçülüyor.
Chatbot yalnızca görünen yüzü
Projeye başladığımda işin ağırlığının retrieval tarafında olacağını sanıyordum. Gerçekte zamanın büyük bölümü onu çevreleyen katmana gitti: projeler, analitik, takım yönetimi, faturalama, fiyatlandırma ve kimlik doğrulama akışları.
Bir müşteri chatbot’u satın almıyor; hesabını, ekibini, kullanım limitini ve faturasını satın alıyor. Chatbot bunların içindeki bir özellik.
Bu proje bana bir yapay zeka özelliğinin tek başına ürün olmadığını gösterdi. Modelin kalitesi ürünün tavanını belirliyor ama tabanını etrafındaki bu sıradan görünen katman kuruyor.
Bu projede öğrendiklerim
Embedding, vektör arama ve retrieval kavramlarını ilk kez teoriden çıkarıp gerçek bir üründe kullandım. Chunk boyutunun cevap kalitesini nasıl değiştirdiğini, iyi bir retrieval’ın çoğu zaman daha büyük bir modelden daha etkili olduğunu buradan öğrendim.
Makine öğrenmesi tarafında ise değerlendirmenin ne kadar zor olduğunu gördüm. "Bu cevap iyi mi" sorusunun otomatik bir ölçüsü yok; bir noktadan sonra gerçek sorularla, gerçek sitelerle elle test etmek gerekiyor.
Şu ana kadar dahil olduğum en kapsamlı iş bu. Kendi yazdığım bir bileşenin, hiç tanımadığım bir şirketin ziyaretçisine cevap verdiğini bilmek, önceki projelerimden farklı bir sorumluluk hissi veriyor.
Görseller

Tarama canlı akıyor — kullanıcı neyin çalıştığını görüyor. 
Hangi sayfaların eğitime gireceğine kullanıcı karar veriyor. 
Fiyat sorusu düz metin değil, tablo olarak dönüyor. 
Kanıt yetersizse model bunu söylüyor ve konuşmayı lead formuna bağlıyor. 
Cevap biçimlerini tanımlayan DSL — ürünün ölçeklenmesini sağlayan yer. 
Chatbot’un etrafındaki SaaS katmanından bir kesit.
Diğer projeler
- OyunThe Nameless CoastGodot ile geliştirdiğim, Mandarin’i sözlükle değil keşifle öğreten bir bulmaca oyunu.Projeyi incele
- RobotikMartı-IIITeknofest Liseler Arası İnsansız Hava Araçları Yarışması, sabit kanat kategorisi — finalist.Projeyi incele
- WebMir HoldingGüncel teknolojilerle, baştan sona tek başıma geliştirdiğim ilk site.Projeyi incele