Prompt nedir ve nasıl yazılır

YusufOkur
Appcent
Published in
5 min readJun 27, 2024

Merhaba Yapay Zeka severler :) bu yazımızda olabildiğince basit ve anlaşılır bir şekilde Prompt’un ne olduğunu ve nasıl yazıldığını anlatacağım.

Yapay Zeka temelde veri ile çalışır, bir girdi ile amaca uygun bir çıktı almanızı sağlar, burada veri birden fazla ve farklı türde olabilir, başlangıçta metin bazlı veriler kullanarak yapay zeka ile nasıl etkileşimde bulunacağınızı anlatacağım. Yapay Zeka ile etkileşimde bulunurken kullandığımız en önemli öğe olan Prompt ile başlayalım.

Prompt, yapay zeka ile etkileşimde bulunurken kullandığımız her türlü soru, komut veya ifade denir.

Aşağıda soru, komut ve ifade promptları için bazı püf noktalar bulunmaktadır, bunları göz önünde bulundurarak hareket etmeniz daha tutarlı prompt yazmanızı sağlayacaktır

Soru: Soracağımız sorunun bağlamını net bir şekilde belirtmemiz gerekiyor, ve soru daha farklı yorumlanabilecekse o ihtimalleri engelleyen bir ifade kullanmamız gerekiyor.

Komut: Komutların olabildiğince sade ve basit olması gerekiyor, eğer komutu uygularken ihtiyacı olan bir veri varsa bunu önceden vermemiz gerekiyor.

İfade: Özellikle bir şeyi yorumlatırken ya da yapay zekanın fikrini sorarken, hangi sonuca erişmek istediğimizi ya da hangi bağlamda değerlendirmesi gerektiğini açık bir şekilde ifade etmemiz gerekiyor.

Diğer önemli konular;

İfade etmek: Yapay zeka ile etkileşime geçerken sorun yaşadığımız en temel sorundur. Kendinizi ne kadar iyi ifade ederseniz her zaman o kadar iyi bir çıktı alırsınız. Burada yanlış anlaşılmaması gereken bir durumda kendimizi ya da sorunlarımızı çok iyi ifade etmek için uzun uzun cümleler ve veriler vermenin her zaman doğru olmadığıdır. Yani kısa ve öz olması çoğu zaman daha etkili olacaktır ama açıklayıcı olmadığı durumda da daha fazla cümle ile bağlamın net bir şekilde anlatılması gerekir.

Doğru soruları sormak: Özellikle bilmediğimiz bir alan ya da yeni öğrendiğimiz konularda sık sık yanlış yaptığımız konulardan bir tanesidir. Neyi tam olarak bilmediğimizi net olarak anlamamız ve bu doğrultuda sormamız gerekmektedir. Eğer neyi ne kadar bilmediğimizi bilmezsek sorduğumuz sorularda aldığımız cevaplar kafa karıştırıcı olabilir. Bu gibi sorunları çözmek için emin olmadığımız yerleri yine Yapay Zeka ile teyit edip bu doğrultuda hareket edebiliriz.

Kuralları vermek: Özellikle çıktıyı nasıl almak istediğimize ve sürecin nasıl ilerlemesini istediğimize göre bir takım kuralları vermemiz gerekebilir.Bir örnek ile açıklayalım; mesela bir işlemi kendimiz 3 adıma bölüp bunu sırasıyla yapmasını istememiz durumda yapay zekanın oluşturacağı çıktı daha tutarlı olur, sebebi ise büyük bir istek/sorun yerine 3 tane küçük istek/sorun ile uğraşmasıdır, bu birden fazla yapay zekayı 3 basit işte kullanmaya benzer dolayısıyla daha verimli olur.

Veriler arasındaki ilişkiyi belirtmek: Eğer yapay zekaya bir veri verip bu veri üzerinde bir işlem yapmasını istiyorsak ve veriler doğrudan bir ilişkiye sahip değilse aradaki ilişkiyi net bir şekilde açıklamamız gerekiyor, örnek olması açısında ilk 5 ya da 10 veriyi açıklamak, yapay zekanın geriye kalan verileri nasıl ilişkilendireceği konusunda yardımcı olacaktır, ayrıca önce veri ilişkilendirmesini yapıp devamında da asıl istediğimiz işlemi söylemek daha verimli olur bu sayede hem hızlı hem de tutarlı bir sonuç alabilirsiniz.

Çıktıyı nasıl almak istediğinizi belirtmek: Özellikle liste ya da özel bir formatta veriye ihtiyacımız varsa tüm işlemlerden önce bu formatta bir veriyi yapay zekanın nasıl oluşturacağını ve hangi veriyi hangi alana koyacağını açık bir şekilde ifade etmemiz gerekiyor, bu işlemden sonra ister ekstra bir veri girişi sağlayarak isterseniz de tamamen yapay zeka ile üreterek verilerini uygun bir formatta alabilirsiniz, bu işlemleri kolaylaştırmak içinde System Prompt kullanabilirsiniz.

Çıktının dilini ayarlamak: Yapay Zeka çok iyi bir taklit etme ve benimseme yeteneğine sahiptir. Eğer yapay zekadan bir konuyu farklı dillerde, farklı karakterlerde veya farklı rollerde istersek konuşma da buna göre şekillenir. Bu doğrultuda “karşında 5 yaşındaki bir çocuk varmış gibi anlat” ya da “kurumsal bir dil ile anlat” gibi bir ifade de bulunursak çok daha iyi bir çıktı alabiliriz.

Doğru bir dil kullanmak: Bazı yapay zeka modelleri özellikle Türkçe anlamada daha zayıf olduğundan dolayı ingilizce konuşmak daha sağlıklı olabilir ancak yeterli bir ingilizcemiz yoksa doğrudan çeviri yapmak her zaman daha iyi olmayabilir, Google Translate gibi araçlar bazı cümleleri çevirirken mevcut bağlamdan koparak çevirebiliyor dolayısıyla burada ya yapay zeka destekli bir çeviri aracı kullanmalıyız ya da daha basit ifadelerle Türkçe konuşmalıyız.

Aşağıda yapay zeka ile konuşurken karşılaşacağımız adımlar bulunmaktadır.

Süreç

Ana isteği, verileri ve kuralları veririz. Yapay Zeka istek doğrultusunda verileri kurallara uygun bir şekilde ele alır, gerekiyorsa araştırır ve yorumlar, ve yine kurallara uygun bir şekilde çıktı verir.

Bir kaç örnek verelim;

Kısa ve net soru

Girdi: Paris'in başkenti olduğu ülke hangisidir?

Çıktı: Fransa

Uzun ve kurallı soru

Girdi: Global ısınmanın olası sonuçları nelerdir? Beş madde halinde listele

Çıktı :

  1. Kutuplardaki buzulların erimesi
  2. Deniz seviyelerinin yükselmesi
  3. Aşırı hava olaylarının artması
  4. Biyolojik çeşitliliğin azalması
  5. Tarım üzerindeki olumsuz etkiler

Uzun kurallı ve yorumlamalı soru

Girdi:2024 ABD başkanlık seçimlerinin küresel ekonomi üzerindeki muhtemel etkilerini analiz edin ve üç olası senaryo sunun.

Çıktı:

  1. Senaryo: Seçimlerin küresel piyasalarda istikrarı artırması…
  2. Senaryo: Belirsizliklerin artması ve ticaret politikalarındaki…
  3. Senaryo: Yenilenebilir enerji ve teknolojiye yapılan yatırımların…

Yukarıdaki soruları biraz inceleyelim:

Yukarıdaki soruları biraz inceleyelim:

İlk soruda cevabı kısa, kesin olan ve yorumlamaya ihtiyaç duymayan bir sonuç istedik.

İkinci soruda cevabı uzun olan dolayısıyla da kural, kısıtlama ile desteklediğimiz bir sonuç istedik.

Üçüncü soruda cevabı belli olmayan araştırılıp yorumlanması gereken bir sonuç istedik ve cevapları bir kural ile kısıtladık.

Bu örneklerde de görüldüğü üzere konularda bağımsız olarak çıktılar her zaman girdilere bağlıdır. Bir promptu en iyi şekilde optimize etmenin yolu o prompt üzerinde oynamalar yaparak sonuçları test etmektir bu sayede prompt yazma beceriniz gelişecektir.

Örneğin Yapay Zekadan bir kod yazmasını istediğinizde siz en başta doğrudan o kodu alacağınızı düşünüyor olabilirsiniz ama cevaplar doğrudan o kodu vermez ya da istediğiniz şekilde vermez, ama promptun sonun sadece kodu yaz diye bir ifade eklerseniz bu sefer sizin istediğiniz doğrultuda sadece o kodu verecektir.

Başka bir örnek olarak bir matematik sorusu çözerken yapay zekadan sonucu isterseniz size doğrudan cevabı verecektir ancak istediğiniz sadece sonuç değil nasıl çözdüğüdür bunu anlamak içinde tek tek anlat derseniz o zaman aradaki adımları da anlatacaktır ama daha iyi bir prompt yazmak isterseniz bir sistem promptu olarak “bir matematik öğretmeni gibi davran” ve soruları bu şekilde açıkla derseniz bundan sonra soracağınız tüm sorularda en iyi sonucu alabilirsiniz.

Özet: “Her şeyin başladığı yere geri geldik” bütün mesela kendinizi ne kadar iyi ifade ettiğinize, ve karşınızdakinin ne kadar anlayabildiğine bağlıdır.

Prompt konusunu öğrendikten sonra LM Studio ile Lokalde Yapay Zeka çalıştırma makalemize de bakabilirsiniz.

Prompt hakkında daha fazla bilgiye sahip olmak istiyorsanız aşağıdaki kaynaklardan da yararlanabilirsiniz:

https://github.com/promptslab/Awesome-Prompt-Engineering?tab=readme-ov-file#apis

--

--