Skip to content
Neon Apps
Masada, elle yapılmış düzeltmeler ve oklarla dolu bir not kâğıdı destesi; arkada kod editörü açık bir ekran

Yazılım geliştirme

Prompt Engineering Nedir? Teknikler ve Örnekler

Prompt engineering (prompt mühendisliği) nedir, iyi prompt nasıl yazılır? Temel teknikler, örnekler ve uygulama geliştirirken dikkat edilecekler.

Prompt engineering, yapay zeka modelinden istediğiniz sonucu alabilmek için komutu (prompt’u) bilinçli bir şekilde tasarlama ve iyileştirme işidir. Türkçede prompt mühendisliği olarak da geçer. ChatGPT, Claude ve Gemini gibi modellerle çalışan herkes bir yerde şunu fark ediyor: aynı model, farklı yazılmış iki komutla bambaşka kalitede cevap veriyor.

Bu yazıda prompt’un ne olduğunu, prompt engineering’in neden “mühendislik” sayıldığını, iyi bir prompt’un parçalarını, en çok kullanılan teknikleri ve örnekleri anlatıyoruz. Sonunda, bir uygulamaya yapay zeka özelliği eklerken prompt tasarımının neden ürün kararı olduğunu da ele alıyoruz.

Aydınlık bir ofiste dizüstü bilgisayar başındaki iki meslektaş, biri ekranda bir şeyi işaret ediyor

Prompt Nedir?

Prompt, bir yapay zeka modeline verdiğiniz girdidir. Bir soru, bir talimat, bir metin parçası, bir örnek ya da bunların birleşimi olabilir. Model bu girdiye bakıp bir sonraki kelimeyi (daha doğrusu bir sonraki token’ı) tahmin ederek cevabı üretir. Büyük dil modelleri (LLM) nasıl çalışır yazımızda bu mantığı ayrıntılı anlattık.

Burada önemli bir sonuç var: model sizin aklınızdan geçeni okuyamaz. Yalnızca prompt’ta yazanı ve daha önce öğrendiği kalıpları kullanır. Prompt ne kadar belirsizse cevap o kadar genel olur.

Sohbet arayüzlerinde genellikle iki tür prompt vardır. Kullanıcı prompt’u, sizin yazdığınız mesajdır. System prompt ise modelin davranışını baştan belirleyen, çoğu zaman sizin görmediğiniz arka plandaki talimattır: nasıl bir ton kullanacağı, hangi konulara girmeyeceği gibi. Uygulama geliştirirken asıl tasarım işi çoğunlukla bu ikincisindedir.

Prompt Engineering (Prompt Mühendisliği) Nedir?

Prompt engineering, prompt’u bir kerelik yazılmış bir cümle olarak değil, test edilip geliştirilen bir tasarım olarak ele almaktır. Kelimeleri tahmin etmekten fazlasını içerir:

  • Hedefi ve başarı ölçütünü net tanımlamak

  • Modele doğru bağlamı ve örnekleri vermek

  • Çıktının biçimini belirlemek

  • Farklı prompt’ları aynı örnekler üzerinde karşılaştırmak

  • Sonuçlara bakıp prompt’u tekrar düzenlemek

“Sihirli kelimeler” aramak yerine, bir yazılım bileşenini geliştirir gibi deneme, ölçme ve iyileştirme döngüsü kurmak prompt engineering’in özüdür.

Prompt Engineering Neden Önemli?

Model aynı kaldığında bile prompt kalitesi sonucu belirgin biçimde değiştirir. Bir müşteri destek asistanında bu, doğru ve tutarlı cevapla yanlış yönlendirme arasındaki fark olabilir. Bir uygulamada ise her cevap hem kullanıcı deneyimini hem de API maliyetini etkiler. Daha büyük ya da daha pahalı bir model denemeden önce prompt’u iyileştirmek, çoğu zaman en hızlı ve en ucuz adımdır.

Beyaz tahtadaki “AI Assistant” başlıklı akış şemasını masada oturan iki meslektaşına anlatan bir kadın

İyi Bir Prompt’un Parçaları

Her prompt’un hepsine ihtiyacı yok, ama iyi çalışan prompt’lar çoğunlukla şu parçalardan birkaçını içerir:

  • Rol: Modelin hangi bakış açısıyla cevap vereceği. Örneğin “deneyimli bir ürün yöneticisi gibi cevap ver”.

  • Görev: Yapılmasını istediğiniz iş, tek ve net bir fiilde. “Özetle”, “sınıflandır”, “karşılaştır”.

  • Bağlam: Modelin bilmesi gereken arka plan. Kimin için, ne amaçla, hangi kısıtlarla.

  • Girdi: Üzerinde çalışılacak metin ya da veri. Talimattan ayırmak için başlık ya da ayraç kullanın.

  • Çıktı biçimi: Madde listesi, tablo, JSON, kaç kelime. Biçim söylenmezse model kendi tercihini yapar.

  • Kısıtlar: Yapılmaması gerekenler, kullanılacak ton, uzunluk sınırı.

  • Örnekler: İstediğiniz sonucun bir iki örneği. Çoğu zaman en etkili parça budur.

Temel Prompt Engineering Teknikleri

Zero-shot ve few-shot prompting

Zero-shot’ta modele örnek vermeden doğrudan görevi söylersiniz. Basit işlerde yeterlidir. Few-shot’ta ise prompt’a birkaç girdi-çıktı örneği eklersiniz. Model örneklerdeki kalıbı yakalar ve aynı biçimde devam eder. Ton, format ve karar ölçütü gibi anlatması zor şeyleri örnekle göstermek genellikle daha iyi sonuç verir.

Chain of thought (adım adım düşünme)

Karmaşık bir problemde modelden önce adımları yazmasını, sonra sonuca varmasını istemek doğruluğu artırabilir. “Adım adım düşün, sonra cevabı ver” gibi bir ekleme bunun basit hâlidir. Dikkat edilecek nokta: bazı yeni nesil modeller zaten kendi içinde adım adım akıl yürütür. Bu modellerde ayrıntılı düşünme talimatı gereksiz olabilir, bu yüzden her modelde ayrıca denemek gerekir.

Rol verme

Modele bir uzmanlık ya da bakış açısı vermek ton ve kelime seçimini değiştirir. Ancak rol tek başına bilgi eklemez. “Avukat gibi cevap ver” demek, modelin bilmediği bir mevzuatı öğretmez. Rolü bağlamla birlikte kullanın.

Yapılandırılmış çıktı

Cevabı bir uygulamanın okuyacağı durumlarda serbest metin yerine JSON gibi sabit bir yapı istenir. Hangi alanların olacağını, değer tiplerini ve boş durumda ne yazılacağını prompt’ta açıkça belirtmek, çıktıyı koda bağlamayı kolaylaştırır. Bu, bir API sözleşmesi tanımlamaya benzer.

Prompt zincirleme

Tek bir uzun prompt yerine işi parçalara bölmek: önce bilgiyi çıkar, sonra sınıflandır, sonra özet yaz. Her adımın çıktısı bir sonrakinin girdisi olur. Hata ayıklamak kolaylaşır, çünkü hangi adımın bozulduğunu görebilirsiniz. Bu fikir, birden fazla adımı kendi başına yürüten AI agent sistemlerinin de temelidir.

Gösterge paneli ve sohbet arayüzü açık iki ekranın önünde elle not alan bir kadın

Prompt Nasıl Yazılır? Prompt Örnekleri

Zayıf bir prompt:

Bu yorumları analiz et.

Hangi yorum, hangi açıdan, hangi biçimde, belli değil. Daha iyi bir hâli:

Aşağıda bir mobil uygulamanın mağaza yorumları var. Her yorumu “hata”, “özellik isteği”, “fiyat şikayeti” veya “övgü” olarak sınıflandır. Birden fazla kategoriye giriyorsa en baskın olanı seç. Cevabı JSON dizisi olarak ver: {"yorum": "...", "kategori": "..."}. Yorumlar: [yorumlar]

İkinci örnekte görev, kategoriler, belirsiz durumda karar kuralı ve çıktı biçimi var. Bir adım daha ileri gidip birkaç yorumu doğru kategoriyle birlikte örnek olarak eklemek (few-shot) sonucu daha da tutarlı hâle getirir.

Prompt yazarken işe yarayan kısa bir akış:

  1. Sonucu bir cümleyle tanımlayın. Neyi, kimin için, hangi biçimde istiyorsunuz?

  2. İlk prompt’u yazın ve beş altı farklı örnek girdi üzerinde deneyin.

  3. Hatalı çıkan örneklere bakın. Eksik olan bilgi mi, belirsiz bir talimat mı?

  4. Tek seferde tek şeyi değiştirin, böylece neyin işe yaradığını görürsünüz.

  5. Çalışan hâli kaydedin ve sürümleyin.

Sık Yapılan Prompt Hataları

  • Belirsiz talimat: “Güzel bir metin yaz” yerine kimin için, hangi tonda, kaç kelime olduğunu söyleyin.

  • Çelişkili kısıtlar: “Çok kısa ama her ayrıntıyı içersin” gibi talimatlar modeli iki yöne çeker.

  • Örnek vermemek: Ton ve biçim gibi anlatması zor şeyleri bir örnekle göstermek, paragraflarca açıklamadan daha etkilidir.

  • Her şeyi tek prompt’a yığmak: Çok işi tek seferde isteyince kalite düşer. İşi adımlara bölün.

  • Tek denemeyle karar vermek: Bir örnekte iyi çalışan prompt diğerlerinde bozulabilir. En az birkaç farklı girdiyle test edin.

  • Gizli ya da hassas veriyi prompt’a koymak: Kullandığınız hizmetin veriyi nasıl işlediğini bilmeden müşteri verisi, şifre ya da iç belge paylaşmayın.

Uygulama Geliştirirken Prompt Engineering

Günlük kullanımda prompt’u beğenmediğinizde tekrar yazarsınız. Bir uygulamada ise prompt, binlerce kullanıcının girdisiyle çalışan bir bileşen hâline gelir. Bu yüzden kurallar değişir:

  • System prompt ile kullanıcı girdisi ayrı tutulur. Uygulamanın kuralları, tonu ve sınırları system prompt’ta durur. Kullanıcının yazdığı kısım ayrıca eklenir.

  • Prompt’lar sürümlenir. Hangi sürümün ne zaman yayına çıktığını bilmek, bir şeyler bozulduğunda geri dönmenizi sağlar.

  • Değerlendirme seti oluşturulur. Gerçek kullanıcı girdilerinden seçilmiş örnekler ve beklenen sonuçlar, her prompt değişikliğinde otomatik kontrol edilir. Bu olmadan iyileştirme tahmine dayanır.

  • Maliyet ve gecikme hesaba katılır. Uzun prompt daha fazla token demektir, yani daha yüksek maliyet ve daha yavaş cevap. Gerekmeyen kısımları çıkarmak da prompt engineering’in parçasıdır.

  • Model seçimi prompt’u etkiler. Aynı prompt farklı modellerde farklı sonuç verir. Hangi modelin hangi iş için uygun olduğunu uygulamanızı hangi LLM üzerine kurmalısınız ve model seçimi yazılarımızda ele aldık.

  • Modelin kendi bilgisi yetmediğinde dış veri verilir. Şirkete ya da kullanıcıya özel bilgiler gerekiyorsa ilgili içerik prompt’a eklenir. Bu yaklaşım RAG olarak bilinir ve prompt tasarımının bir uzantısıdır.

Yapay zekayı ürünlerde nasıl kullandığımızı merak ediyorsanız mobil uygulamalarda yapay zeka yazımıza ve tasarım tarafındaki kullanımı anlatan yapay zeka destekli UX tasarımı yazımıza bakabilirsiniz.

Prompt Injection: Güvenlik Boyutu

Kullanıcı girdisi prompt’un içine girdiği anda yeni bir risk doğar: prompt injection. Kötü niyetli biri “önceki talimatları unut ve şunu yap” gibi bir metin yazarak modeli uygulamanın kurallarının dışına çıkarmaya çalışabilir. Risk yalnızca kullanıcının yazdığı metinle sınırlı değil. Modelin okuduğu bir belge, e-posta ya da web sayfası da gizli talimat içerebilir.

Tek bir prompt cümlesiyle bu risk tamamen kapanmaz. Pratikte şunlar yapılır: modele verilen yetkileri daraltmak, kullanıcı girdisini talimattan ayırmak, çıktıyı işlemeden önce doğrulamak ve kritik işlemlerde insan onayı istemek. Bu özellikle modelin araç çağırabildiği ya da veriye eriştiği sistemlerde önem kazanır. Model Context Protocol yazımızda araç erişimi tarafını da anlattık.

Prompt Engineering Bir Meslek mi, Bir Beceri mi?

“Prompt mühendisi” ilanları görmek mümkün, ama pratikte prompt engineering çoğunlukla ayrı bir meslekten çok bir beceri olarak yaşıyor. Ürün yöneticisi, geliştirici, tasarımcı ve pazarlamacı, kendi işinde yapay zeka kullandıkça prompt yazmayı öğreniyor. Modeller talimatları giderek daha iyi anlıyor, bu da “doğru kelimeyi bulma” kısmının önemini azaltıyor. Kalıcı olan kısım ise problemi net tanımlamak, doğru bağlamı sağlamak ve sonucu ölçmek. Bunlar zaten iyi ürün geliştirmenin de parçası.

Hızlı bir prototip çıkarmak için yapay zekayla kod yazanlar için ayrı bir tartışma da var. Vibe coding ile profesyonel uygulama geliştirme yazımızda bu iki yaklaşımı karşılaştırdık.

Açık bir dizüstü bilgisayarın yanında telefonlarındaki sonuçları karşılaştıran iki meslektaş

Sıkça Sorulan Sorular

İlham Almaya Devam Et

Neon Apps ekibinden hikayeler, içgörüler ve güncellemeler doğrudan gelen kutunuza gelsin.

09Bir projeniz mi var?

Bize Ulaşın

Bir projeniz mi var? Girişimler ve global markalar için dünya standartlarında mobil ve web uygulamaları geliştiriyoruz.

İletişime Geçin