KonuAnlatım.com

Basit Chatbot Geliştirme

Yapay Zekâ · Bölüm 78Yapay ZekâDers

Bu derste yapay zekâ ile programlama yolculuğunun en eğlenceli adımlarından birine geçiyoruz: basit bir chatbot, yani sohbet botu geliştirmek. Chatbotun nasıl çalıştığını, kural tabanlı ve yapay zekâ tabanlı türlerini, geliştirme adımlarını ve sık yapılan hataları sıfırdan öğrenene anlatıyoruz. Serinin tamamına Yapay Zekâ dersleri sayfasından ulaşabilirsin.

Chatbot Nedir?

Chatbot, kullanıcıyla günlük dilde konuşan, soruları anlayıp yanıt veren bir yazılımdır. E-ticaret sitesindeki “Size nasıl yardımcı olabilirim?” penceresi, bankaların destek asistanı ve akıllı telefonlardaki sesli asistan hep birer chatbottur. 2024-2025 döneminde ChatGPT, Gemini ve benzeri büyük dil modellerine dayalı sohbet asistanlarının yaygınlaşmasıyla chatbotlar artık yalnızca hazır cevap tekrarlayan basit programlar değil; doğal ve bağlama uygun konuşabilen yardımcılara dönüştü. Yine de “basit chatbot geliştirme” dersi dev bir sistemini sıfırdan yazmayı hedeflemez; amaç, bu sistemlerin çalışma mantığını küçük ve yönetilebilir bir örnekle öğrenmektir.

Bir Chatbot Nasıl Çalışır?

Her chatbot, en basit hâliyle şu döngüyle çalışır:

  1. Girdi alma: Kullanıcı bir mesaj yazar veya konuşur.
  2. Anlama: Bot, mesajın ne sorduğunu çözümler. Buna niyet (intent) tespiti denir; “kargo ne zaman gelir?” cümlesindeki niyet “kargo takibi” olabilir.
  3. Karar verme: Bot, kural tablosundan ya da yapay zekâ modelinden uygun yanıtı seçer veya üretir.
  4. Yanıt verme: Cevap kullanıcıya gösterilir.
  5. Bağlamı saklama: İyi bir bot konuşmanın önceki kısımlarını hatırlar; “o ürünün fiyatı ne?” sorusundaki “o” kelimesi bir önceki mesaja bağlıdır.

Bu döngü en ilkel bottan en gelişmiş asistana kadar her yerde aynıdır; değişen tek şey “anlama” ve “karar verme” adımlarının ne kadar zeki olduğudur.

Kural Tabanlı ve Yapay Zekâ Tabanlı Chatbot Farkı

Geliştirmeye başlamadan önce bu ikisini ayırt etmek gerekir; çünkü seçim, botun görevine ve senin teknik altyapına göre değişir:

  • Kural tabanlı bot: “Kullanıcı şunu yazarsa bot şunu söyleyecek” mantığıyla çalışır. Öngörülebilir, hızlı ve yazması kolaydır; ancak kurallara girmeyen bir cümleyi anlayamaz. İlk proje için idealdir.
  • Yapay zekâ tabanlı bot: Yanıtlar, büyük bir dil modeli (LLM) tarafından o an üretilir. Kullanıcı nasıl ifade ederse etsin anlayabilir; ama bazen yanlış veya uydurma bilgi üretebilir (halüsinasyon).
  • Hibrit bot: İkisinin karışımıdır; sık sorular kuralla, açık uçlu sorular yapay zekâ ile yanıtlanır. Günümüzde ticari botların çoğu bu yapıyı kullanır.

Kısacası kural tabanlı bot kontrollüdür ama katıdır; yapay zekâ tabanlı bot esnektir ama denetlenmesi gerekir.

Basit Chatbot Geliştirme Adımları

İlk chatbotunu yazmak için izleyeceğin yol kabaca şöyledir:

1. Amaç ve kapsamı belirle

“Her şeyi bilen” bir bot yapmaya çalışma. “Okul kütüphanesinin çalışma saatlerini söyleyen bot” gibi dar bir hedef seç; başarılı bir basit chatbotun sırrı budur.

2. Konuşma senaryolarını yaz

Kullanıcı ne sorabilir? Her olası soru için örnek cümleler ve uygun cevaplar listele. “Saat kaç?”, “Saati söyler misin?”, “Vakit ne?” tek niyetin üç farklı ifadesidir; botu kelimelere değil niyetlere göre kur.

3. Geliştirme yöntemini seç

Kural tabanlı yaklaşımda anahtar kelime eşleme (if/else yapısı) yeterlidir; yapay zekâ tabanlı botta hazır bir dil modelinin arayüzünü (API) kullanırsın. Kodlama dili olarak en yaygın tercih Python'dur; gerekçesini Python ve yapay zekâ dersinde ayrıntılarıyla işledik.

4. Kodu yaz

Sonsuz bir döngü kur: mesajı al, kurala veya modele göre yanıt üret, kullanıcıya göster, yeni mesajı bekle. Takıldığın yerlerde yapay zekâ araçlarından yararlanabilirsin; yöntemini AI ile kod yazma dersinde anlattık.

5. Test et ve yayınla

Senaryo listenin dışına çıkıp garip sorular da sormayı dene; botun “bilmediğinde ne yapacağını” önceden tanımla. Karşılaştığın hataları düzeltirken AI ile hata ayıklama dersi işine yarar. Bot çalışınca bir web sitesine, mesajlaşma uygulamasına ya da mobil uygulamaya bağlanır; dağıtımın bütün resmini AI uygulaması geliştirme dersinde bulabilirsin.

Mini örnek: kural tabanlı selamlaşma botu

En basit chatbotun mantığını kurallar hâlinde şöyle yazabiliriz:

  • Mesaj “merhaba”, “selam” veya “günaydın” içeriyorsa → “Merhaba! Sana nasıl yardımcı olabilirim?” yanıtı verilir.
  • Mesajda “ders” veya “sınav” geçiyorsa → “Hangi konuyu konuşmak istersin?” yanıtı verilir.
  • Mesaj “görüşürüz” veya “hoşça kal” içeriyorsa → “Görüşürüz, iyi çalışmalar!” denir ve döngü sonlandırılır.
  • Hiçbir kural uymuyorsa → “Bunu tam anlayamadım, farklı bir cümleyle sorar mısın?” gibi bir yedek yanıt verilir.

Bu dört kural chatbotun özünü özetler: girdiyi oku, eşleştir, yanıtla, tekrarla. Yedek yanıt özellikle önemlidir; botun neyi bilmediğini sessiz kalarak değil, kibarca söyleyerek göstermesi güven verir.

Sık Yapılan Hatalar ve Yanılgılar

  • “Her soruya cevap verebilsin” istemek: Yeni başlayanların en büyük hatası kapsamı büyitmektir. Basit bir botun sınırlarını bilmesi, “bunu bilemiyorum ama şunlarda yardımcı olabilirim” demesi zayıflık değil, iyi tasarımdır.
  • Yedek yanıtı (fallback) unutmak: Hiçbir kural uymadığında botun ne diyeceği önceden belirlenmezse bot ya sessiz kalır ya da anlamsız bir yanıt verir.
  • Bağlamı hiç düşünmemek: Hafızasız bir bot her mesajı tek başına değerlendirir; “o, bu, onun” gibi ifadelerde doğal konuşma bozulur. En azından son birkaç mesajı saklamak büyük fark yaratır.
  • “Chatbot demek ChatGPT demek” yanılgısı: Chatbot bir ürün türü, büyük dil modeli ise bu ürünün beslenebileceği motordur. Küçük bir kural tabanlı bot da tam anlamıyla bir chatbottur.
  • Tek cümleyle test edip bitirmek: “Merhaba” yazıp çalışan botu hazır saymak klasik hatadır. Kullanıcı yazımı bozar (“mrhaba”), harf hatası yapar, beklenmedik soru sorar; test kapsamı buna göre genişletilmelidir.
  • Gizliliği atlamak: Bot konuşmalardan kişisel veri toplayacaksa bunu kullanıcıya bildirmek ve yalnızca gerekli bilgiyi istemek gerekir.

Özetle basit bir chatbot “girdi al, eşleştir, yanıtla” döngüsünden ibarettir; yapay zekâ bu döngünün eşleştirme ayağını güçlendirir. Küçük bir hedefle başla, senaryolarını defterine yaz, kodu adım adım büyüt. Botunu gerçek bir ürüne dönüştürme yolculuğuna AI destekli yazılım geliştirme dersiyle devam edebilirsin.

Sık Sorulan Sorular

Basit bir chatbot geliştirmek için kodlama bilmek gerekir mi?

Zorunlu değildir. Hazır no-code platformlar sürükle-bırak ile kural tabanlı bot kurmayı sağlar; ancak botu gerçekten anlamak ve özelleştirmek için temel düzeyde kodlama, özellikle Python bilgisi büyük avantaj sağlar.

Kural tabanlı chatbot ile yapay zekâ tabanlı chatbot arasındaki fark nedir?

Kural tabanlı botta yanıtlar önceden yazılmış kurallardan seçilir; hızlı ve kontrollüdür ama tanımadığı soruda tıkanır. Yapay zekâ tabanlı botta yanıtlar dil modeli tarafından o an üretilir; her türlü ifadeyi anlayabilir ama yanlış yanıt üretme riski taşır.

İlk chatbotumu ne kadar sürede geliştirebilirim?

Dar kapsamlı bir kural tabanlı botu temel kodlama bilgisiyle birkaç güne yazabilirsin. Hazır bir dil modelinin arayüzünü (API) kullanan bir botun ilk prototipi daha kısa sürede çıkarılabilir; asıl zaman, test etme ve yanıtları iyileştirmeye gider.

Dersler

Tümü →