Kendi Dijital İkizini Nasıl Kurarsın? Bu Sitedeki Chatbot'un Perde Arkası
Kısa cevap
Bir "dijital ikiz" chatbot, üç dosyadan ibarettir: (1) persona — botun kim olduğunu, hangi ağızdan konuştuğunu ve neyi asla yapmayacağını tanımlayan sistem talimatı, (2) bilgi tabanı — hakkındaki doğrulanmış olguların düz metin hâli, (3) ince bir sunucu katmanı — tarayıcıdan gelen mesajı model API'sine ileten, hız sınırı ve mesaj uzunluğu kontrolü yapan kod. Küçük ölçekte vektör veritabanına, RAG kurulumuna ya da eğitime (fine-tuning) ihtiyacın yok: bilgi tabanın birkaç sayfayı geçmiyorsa doğrudan sistem talimatına gömmek hem daha ucuz hem daha isabetli. Kritik nokta mimari değil, iki kural: bot senin ağzından konuşuyorsa asla uydurmamalı, ve söylediği her şey herkese açıktır — bilgi tabanına yazdığın şey yayınlanmış sayılır. Aylık maliyet, orta trafikli bir kişisel sitede genellikle tek haneli dolar seviyesindedir.
Neden kendi ikizini kurmalısın?
Bunu bir gösteri olsun diye yapmadım. Üç somut sebebi var ve üçü de ölçülebilir:
- Aynı soruları tekrar tekrar cevaplıyordum. "Ne iş yapıyorsun", "hangi girişimlerin var", "şu markayla ne yaptınız". Bunlar sitede zaten yazıyor ama kimse okumuyor — insanlar sormayı tercih ediyor.
- Hakkımdaki bilginin benim yazdığım hâliyle bir yerde durmasını istedim. Yapay zekâ aramaları da, insanlar da aynı kaynağa bakıyor artık; o kaynağı başkasının derlemesine bırakmak istemedim.
- Bir vitrin işlevi görüyor. Yapay zekâ ile iş yapan biri olarak, kendi siteme koyduğum çalışan bir örnek, herhangi bir sunumdan daha ikna edici.
İtiraf edeyim: ilk motivasyonum bunların hiçbiri değildi. Yapabilir miyim diye merak ettim. Ben yazılım mühendisi değilim, Sakarya Üniversitesi'nde İnsan Kaynakları okudum; işleri Cursor, n8n ve GitHub gibi araçlarla kendim ayağa kaldırıyorum. Bu chatbot da öyle çıktı ortaya. Sonradan fark ettim ki asıl değerli kısım kod değil, bilgi tabanını yazarken kendim hakkında verdiğim kararlarmış: neyi anlatırım, neyi anlatmam, hangi soruya nasıl cevap veririm.
Mimari: üç dosya, o kadar
İnternetteki rehberlerin çoğu bu işi vektör veritabanı, gömme (embedding) ve RAG kurulumuyla anlatıyor. Küçük ölçekte bunların hiçbirine ihtiyacın yok — ve gereksiz karmaşıklık, isabetliliği artırmak yerine düşürüyor. Benim kurulumum şöyle:
Persona dosyası — botun kim olduğu
Sistem talimatı. Bende şunları içeriyor: birinci tekil şahısla konuşma kuralı (bot "Şafak şunu yaptı" demez, "ben şunu yaptım" der), ton (sıcak, enerjik, kısa cümleler), ne yapmayacağı (fiyat vermez, taahhüt etmez, bilgi tabanında olmayan bir şeyi uydurmaz) ve kimliğiyle ilgili sınır: gerçek insan olduğunu iddia etmez, ama doğrudan sorulmadıkça "ben bir yapay zekâyım" diye de söze başlamaz.
Bilgi tabanı — iki katmanlı
Birinci katman sitedeki sayfalardan derlenmiş olgular: girişimler, hizmetler, basın kayıtları, referanslar. İkinci katman ise "ek bilgiler" dosyası: güncel gelişmeler, kişisel hikâye, düzeltmeler. Kural şu — çelişki olursa ikinci katman kazanır. Bu ayrım, sitedeki eski bir cümleyle güncel gerçek çatıştığında botun doğru olanı söylemesini sağlıyor.
Sunucu katmanı — ince ve sıkıcı olmalı
Tarayıcıdan gelen mesajı alır, sistem talimatıyla birlikte model API'sine iletir, cevabı akış hâlinde geri verir. Buraya koyduğum kontroller: IP başına dakikada istek sınırı, mesaj uzunluğu üst sınırı, sohbet geçmişinde tutulan mesaj sayısı sınırı ve cevap uzunluğu sınırı. Bunların hepsi maliyet ve kötüye kullanım kontrolü için — bir tanesini bile atlarsan faturayı biri sana yazdırabilir.
Ne zaman RAG gerekir? Bilgi tabanın onlarca sayfayı geçtiğinde ya da sürekli değişen bir veriye (stok, fiyat, randevu) bağlandığında. Kişisel bir site için bu eşiği aşmak zor; benimki hâlâ birkaç sayfalık düz metin.
Canlıya aldıktan sonra fark ettiğim hata
Bot yayına girdikten bir süre sonra biri sordu: "Kaç yaşındasın?" Bot cevap verdi: "1994 doğumluyum, 29 yaşındayım."
Bilgi tabanımda yaş yazmıyordu, doğum yılı yazıyordu — yani veri doğruydu. Sorun şuydu: model, yaşı kendi eğitim verisindeki "bugün" algısına göre hesaplıyordu. Yani bot benim adıma, kendinden emin bir tonda, yanlış bir sayı söylüyordu. Kendi ağzından konuşan bir botta bu küçük bir hata değil; güvenilirliğin tamamı bu tür detaylarda.
Çözüm, modele güvenmeyi bırakmak oldu. Artık her istekte, sistem talimatının en başına şunları içeren bir blok ekleniyor: bugünün tarihi (Türkiye saatiyle), benim yaşım ve oğlum Kuzey'in yaşı — hepsi doğum yıllarından o an hesaplanıyor. Blokta ayrıca şu kural var: "yaş ve tarih hesaplarını asla kendin yapma, buradaki değerleri olduğu gibi kullan". Yılda bir kez elle güncelleme derdi de böylece ortadan kalktı.
Bu hatadan çıkardığım genel ders şu: modelin hesaplayabileceği her şeyi ona hesaplatma. Tarih, yaş, süre, tutar, indirim — bunları kodda hesaplayıp prompt'a hazır ver. Model iyi bir yazar ama güvenilir bir hesap makinesi değil. Bunu müşteri projelerinde de kural hâline getirdim; teklif metni üreten bir sistemde rakamlar asla modelden geçmiyor, koddan geliyor.
Kurmadan önce cevaplaman gereken 5 soru
- Bilgi tabanına ne yazacaksın? Buraya yazdığın her şey herkese açıktır. Bot bunu "gizli" tutamaz; ısrarlı bir kullanıcı er geç söyletir. Kural: yayımlamaya hazır olmadığın hiçbir şeyi yazma.
- Bot senin adına ne söyleyemez? Bende bu liste net: fiyat vermez, teslim süresi taahhüt etmez, üçüncü kişiler hakkında yorum yapmaz, sağlık/hukuk/finans tavsiyesi vermez.
- Gerçek olduğunu iddia edecek mi? Benim tercihim: kendiliğinden "ben botum" demiyor ama doğrudan sorulduğunda dürüstçe söylüyor. Bunun tersini yapan kurulumlar — yani insan taklidi eden botlar — hem etik olarak sorunlu hem de anlaşıldığında marka zararı yaratıyor.
- Maliyeti nasıl sınırlarsın? IP başına hız sınırı, mesaj uzunluğu, geçmiş uzunluğu ve cevap uzunluğu. Bu dördü olmadan yayına alma.
- Kim güncelleyecek? Bilgi tabanı eskirse bot yanlış bilgi vermeye başlar — ve bu, hiç bot olmamasından kötüdür. Bende güncelleme akışı basit: metin dosyasını değiştir, derle, yükle.
Maliyet ve altyapı
Kişisel bir sitede bu işin maliyeti, insanların sandığından çok daha düşük. Kalemler şöyle:
| Kalem | Durum |
|---|---|
| Model API kullanımı | Orta trafikli kişisel sitede aylık tek haneli dolar; sohbet başına maliyet kuruşlarla ölçülüyor |
| Sunucu | Zaten sitenin durduğu sunucu yetiyor — ben Plesk üzerinde küçük bir Node uygulaması olarak çalıştırıyorum |
| Vektör veritabanı | Gerekmiyor (bilgi tabanı birkaç sayfa) |
| Fine-tuning / eğitim | Gerekmiyor; ton, sistem talimatıyla fazlasıyla kuruluyor |
| Bakım | Bilgi tabanı değişince birkaç dakikalık iş |
Asıl maliyet kalemi altyapı değil, bilgi tabanını yazmak. Bende bu birkaç oturum sürdü ve dürüst olmak gerekirse en zor kısmı teknik değildi: kendi hikâyeni üçüncü bir gözle, abartmadan ve eksiltmeden yazmak sandığından zor.
Botun bilgi tabanını yazarken beklemediğim bir şey oldu: kendi konumlandırmamın net olmadığı yerleri gördüm. "Ne iş yapıyorsun" sorusuna verdiğim cevap, hangi girişimden bahsettiğime göre değişiyordu. Bota tek bir tutarlı cevap yazmak zorunda kalınca, o cevabı kendim için de netleştirmiş oldum. Bu yüzden bu işi bir teknik proje değil, bir marka egzersizi olarak öneriyorum — botu yayına almasan bile bilgi tabanını yazmaya değer.
Yapmaman gerekenler
- Botu satış görevlisi yapma. Fiyat pazarlığı, teklif verme, taahhütte bulunma — bunlar insanın işi. Bot iyi bir karşılama görevlisidir, kötü bir satıcıdır.
- İnsan taklidi ettirme. Doğrudan sorulduğunda yalan söyleyen bir bot, anlaşıldığı anda o güne kadar kurduğun güvenin tamamını götürüyor.
- Bilgi tabanına hassas veri koyma. Müşteri isimleri, sözleşme detayları, henüz açıklanmamış planlar. Bot sır tutamaz.
- Sınırsız bırakma. Hız sınırı olmayan bir bot, bir gecede aylık bütçeni yakabilir.
- Kur ve unut yapma. Ayda bir kendine birkaç soru sor; bilgi tabanı eskidiğinde bot kendinden emin biçimde yanılmaya başlıyor.
Merak ediyorsan sağ alttaki simgeye tıklayıp doğrudan sorabilirsin — bu yazıdaki her şeyi orada test edebilirsin. Zorlamaya çalışırsan sınırlarını da görürsün; onları oraya bilerek koydum.
Özet: aklında kalsın
- Küçük ölçekte vektör veritabanı, RAG ve fine-tuning gerekmez — üç dosya yeter.
- Modelin hesaplayabileceği hiçbir şeyi ona hesaplatma: tarih, yaş, tutar koddan gelmeli.
- Bilgi tabanına yazdığın her şey yayınlanmış sayılır; bot sır tutamaz.
- Hız sınırı, mesaj ve cevap uzunluğu sınırları olmadan yayına alma.
- Asıl değer koddan değil, kendi hikâyeni tek tutarlı metne indirmekten geliyor.
Sık sorulanlar
Kod bilmeden kurabilir miyim?
Hazır chatbot platformlarıyla evet — bilgi tabanını yükleyip persona metnini yazman yeterli, aylık sabit bir ücret ödersin. Kendi kurulumunu yaparsan maliyet düşer ve kontrol tamamen sende olur, ama bir sunucuya dosya yükleyebilecek kadar teknik rahatlık gerekir. Ben mühendis değilim ve kendim kurdum; bugünün araçlarıyla bu eşik gerçekten düştü.
Hangi modeli kullanmalıyım?
Bu iş için en güçlü modele ihtiyacın yok; orta seviye bir model, iyi yazılmış bir persona ve temiz bir bilgi tabanıyla fazlasıyla yeterli. Kalite farkını belirleyen şey model değil, bilgi tabanının netliği. Modeli sonradan değiştirmek de kolay — persona ve bilgi tabanı aynı kalıyor.
Bot yanlış bir şey söylerse sorumluluk kimde?
Sende. Senin adına, senin sitende konuşuyor. Bu yüzden persona dosyasında "bilmiyorsan uydurma, bilmediğini söyle" kuralı en kritik satırdır ve fiyat/taahhüt gibi bağlayıcı konuları tamamen kapatmak gerekir. Ben bu sınırları koyduktan sonra rahatladım — botun yapamayacağı şeyleri netleştirmek, yapabileceklerini genişletiyor.
Bu, SEO ve yapay zekâ aramalarına yarıyor mu?
Botun kendisi doğrudan sıralamaya etki etmiyor — sohbet içeriği taranmıyor. Ama dolaylı bir faydası var: bilgi tabanını yazarken ortaya çıkan net, doğrudan cevaplar site içeriğine de dönüşüyor ve asıl alıntılanan şey o oluyor. Yani botu kurarken yaptığın iş, GEO tarafına da yarıyor.
Ne kadar sürede kurulur?
Teknik kısım bir gün. Bilgi tabanı ise birkaç oturum — ve asıl zamanı orada harcayacaksın. Bu oranı baştan kabul et: bu bir yazılım projesi değil, arada yazılım olan bir içerik projesi.