Menu

Prompt Mühendisliği Nedir ve Nasıl Öğrenilir?

Prompt mühendisliği, bir yapay zekâ modeline verdiğin talimatları ihtiyacın olan çıktıyı üretecek şekilde yazma ve test etme işidir. Bu rehber neden işe yaradığını anlatıyor ve bütün temel teknikleri haritalıyor.

Bu sayfadaki her istemi düzenleyebilir, sonra ChatGPT, Claude ya da başka bir yapay zekâ uygulamasında açabilirsin.

Prompt mühendisliği, bir yapay zekâ modeline verdiğin talimatları ihtiyacın olan çıktıyı güvenilir şekilde üretecek biçimde yazma, test etme ve iyileştirme işidir. Prompta ne koyduğunu (görev, bağlam, örnekler, girdi) ve bunu nasıl düzenlediğini (sıra, biçim, ayırıcılar) kapsar. Terim teknik görünür ama büyük kısmı özenli yazmak ve sonuçları kontrol etmektir.

Bu sayfa Coddy'nin prompt mühendisliği rehberinin dizinidir. Bu işin neden işe yaradığını anlatır, temel teknikleri onları öğreten sayfalarla eşleştirir ve gelişigüzel bir promptla tasarlanmış bir prompt arasındaki farkı gösterir.

Prompt mühendisliği neden işe yarar

Bir dil modeli, önündeki her şeye dayanarak sıradaki küçük metin parçasını tahmin ederek metin üretir. Bu metin girdisinde olmadıkça niyetine, projene ya da önceki sohbetlerine erişimi yoktur. Yani prompt, seni zaten anlayan bir zihne yapılmış bir rica değildir; modelin cevap verdiği durumun tamamıdır.

Bunun doğrudan bir sonucu var. Promptun açık bıraktığı her soruyu model genellikle en tipik seçimle kapatır: en yaygın dil, en yaygın uzunluk, en yaygın okur kitlesi. Bazen tipik seçim senin istediğindir. Değilse çözüm, o soruyu promptta kapatmaktır. İyi bir prompt olası yanıtların aralığını, geriye kalanların çoğu işe yarar olana kadar daraltır.

İki gerçek daha bu işi şekillendirir. Yanıtlar örneklenir, yani aynı prompt farklı denemelerde farklı cevaplar üretebilir; bir prompt bir kez değil, çoğu zaman çalışıyorsa iyidir. Ve model prompttaki bütün metni anlamlı olabilecek şey olarak görür, bu yüzden yapıştırılmış bir e-posta ya da başıboş bir cümle, açıkça malzeme olarak işaretlenmezse talimat gibi okunabilir.

Gelişigüzel bir prompt ve tasarlanmış bir prompt

İki sekme de aynı şeyi istiyor: müşteri yorumlarını olumlu ve olumsuz diye ayırmak. Her birinin ne döndürdüğünü karşılaştır.

Bu yorumlar olumlu mu olumsuz mu? 1. Uygulama hızlı ama bugün beni iki kez oturumdan attı. 2. Koşularımı takip etmek için tam ihtiyacım olan şey. 3. Destek ekibi e-postama hiç cevap vermedi.
Try it
Example replyReplies vary between models and runs.

İşte bir değerlendirme:

  1. Karışık. Kullanıcı hızı beğeniyor ama oturumdan atılmaktan rahatsız.
  2. Olumlu. Uygulama koşu takibi ihtiyacını karşılıyor.
  3. Olumsuz. Kullanıcı destek ekibinin cevap vermemesinden memnun değil.

Genel olarak geri bildirim karışık: bir olumlu, bir olumsuz ve bir karışık yorum var.

Gelişigüzel yanıt bir insanın okuması için mantıklı bir cevap, ama bir program onu kullanamaz: etiketler açıklamalarla karışmış, sorunun sunmadığı üçüncü bir kategori ortaya çıkmış ve sona bir özet eklenmiş. Tasarlanmış prompt her etiketi tanımlıyor, çıktının şeklini bir örnekle sabitliyor ve yorumları etiketler arasına alıyor ki talimatlarla karışma ihtimalleri azalsın. Bin yorum üzerinde çalıştırıldığında bir programın çok daha tutarlı şekilde ayrıştırabileceği çıktı verir; garanti gerektiğinde de API'nin yapılandırılmış çıktı özellikleri ve kodundaki bir doğrulama adımı aradaki son boşluğu kapatır. (Etiketleri İngilizce bıraktık, çünkü bu çıktıyı okuyan program onları bekliyor.)

Temel teknikler

Aşağıdaki her teknik, kastettiğin şeyle modelin aldığı şey arasındaki farklı bir boşluğu kapatır. Gerçek promptların çoğu birkaçını birleştirir.

TeknikNe yaparNe zaman başvurulur
Zero-shot promptingÖrneksiz bir talimat verirGörev yaygın ve açıkça tarif edilmiş
Few-shot promptingBirkaç girdi ve çıktı örneği gösterirBiçimi ya da yargıyı göstermek, anlatmaktan kolay
Chain of thoughtCevaptan önce akıl yürütmeyi isterProblem matematik ya da mantık gibi birkaç adımlı
Rol vermeKimin sesini ve standartlarını kullanacağını belirlerOkur kitlesi ve seviye önemli
Yapılandırılmış çıktıCevabı JSON, tablo ya da şablona sabitlerSonucu bir program ya da tablo okuyacak
Ayırıcılar ve XML etiketleriTalimatları yapıştırılmış malzemeden ayırırPrompt belge, kod ya da kullanıcı metni içeriyor
Prompt şablonlarıİyi bir promptu boşluklu bir kalıba çevirirAynı türden isteği tekrar tekrar yapıyorsun
Prompt zincirlemeİşi birbirini besleyen adımlara bölerTek prompt çok fazla şey yapmaya çalışıyor
Self-consistencyBirkaç cevap örnekleyip çoğunluğu alırTek bir akıl yürütme yolu güvenilir değil
Tree of thoughtBirkaç akıl yürütme yolunu dener ve puanlarProblem planlama ya da arama gerektiriyor
ReActAkıl yürütmeyle araç çağrılarını sırayla yaparModel bir şeye bakmalı ya da işlem yapmalı
Meta promptingPromptu modele yazdırır ya da geliştirtirBir promptu nasıl ifade edeceğinde takıldın
Bağlam mühendisliğiSadece talimatı değil, modelin gördüğü her şeyi tasarlarBir model etrafında uygulama ya da ajan kuruyorsun

Yeniysen önce prompt nasıl yazılır sayfasındaki tek bir promptun parçalarıyla başla, sonra few-shot prompting ve yapılandırılmış çıktıya geç. Bu üçü gündelik sorunların çoğunu karşılar.

Bir program için yazılmış prompt

Yazılıma gömülen promptlar henüz kimsenin görmediği girdiler üzerinde binlerce kez çalışır, bu yüzden bir sohbet mesajından çok daha fazlasını açıkça yazarlar. Aşağıdaki prompt bir kod diff'inden commit mesajı yazıyor. Her parçanın neye karşı koruduğunu görmek için parçaları kapat: örnekler olmadan üslup kayar, kısıtlar olmadan model ekibinin kullanmadığı perf ya da style gibi türleri kullanabilir.

Diff'ten commit mesajı
Fill in
Parts
Conventional Commits biçimini kullanan bir ekip için git commit mesajları yazıyorsun.
Aşağıdaki diff için bir commit mesajı yaz.
feat(cart): sepetteki ürünlere adet seçici ekle fix(api): bilinmeyen kullanıcı id'si için 500 yerine 404 döndür
İlk satır: tür(kapsam): özet, en fazla 60 karakter, emir kipinde. Ardından boş bir satır ve değişikliğin neden yapıldığını açıklayan en fazla üç madde.
Sadece şu türleri kullan: feat, fix, refactor, docs, test, chore. Diff birbiriyle ilgisiz değişiklikleri karıştırıyorsa mesaj yazmak yerine bunu söyle.
function validatePassword(password) { - if (password.length > 8) { + if (password.length >= 8) { return null; } return 'Password must be at least 8 characters'; }
Try it
Example replyReplies vary between models and runs.
fix(auth): tam 8 karakterlik şifreleri kabul et

- Kontrol > 8 kullanıyordu, bu yüzden 8 karakterlik şifre reddediliyordu
- Kural artık "at least 8" diyen hata mesajıyla uyumlu

Prompt mühendisliği nasıl öğrenilir

Promptları çalıştırıp dönen sonuca dikkatle bakarak öğrenirsin. Pratik bir yol:

  1. Bir promptun parçalarını öğren. Görev, bağlam, girdi, biçim ve kısıtlar. Başarısızlıkların çoğu bunlardan birinin eksik olmasına dayanır.
  2. Tekrar ettiğin gerçek bir görev seç, örneğin destek taleplerini özetlemek, hataları açıklamak ya da e-posta taslağı yazmak, ve onun için bir prompt yaz.
  3. Beş ile on arası test girdisi topla, zorlarını da dahil et: boş bir girdi, çok uzun bir girdi, başka dilde bir girdi.
  4. Her seferinde tek bir şeyi değiştir ve bütün girdileri yeniden çalıştır. Üç şeyi değiştirip çıktı iyileşirse hangi değişikliğin işe yaradığını bilemezsin. Promptları yinelemek bu döngüyü ayrıntılı anlatır.
  5. Teknikleri belirli bir hata gerektirdiğinde ekle. Biçim kayıyorsa örnekler, çok adımlı cevaplar yanlışsa adım adım akıl yürütme, yapıştırılan metin talimatlara karışıyorsa ayırıcılar.

Büyük model sağlayıcıları da kendi modelleri için prompt rehberleri yayımlıyor ve bunları okumaya değer, çünkü her biri o model ailesinin en iyi neye tepki verdiğini anlatır.

Prompt mühendisliği bir meslek mi?

Bazı şirketler, özellikle sohbet modelleri ilk yaygınlaştığında, "prompt mühendisi" unvanıyla işe alım yaptı. Ama bu beceri daha çok başka bir işin parçasıdır. Yazılımcılar geliştirdikleri yapay zekâ özellikleri için prompt yazar, destek ekipleri müşterilere cevap veren asistanlar için yazar, analistler ve yazarlar da her gün kullanır.

Yapay zekâ ürünü geliştiren ekiplerde iş genişledi. Modelin girdisine neyin gireceğini seçmek (getirilen belgeler, araç sonuçları, sohbet geçmişi, hafıza) talimatın ifadesi kadar önemli ve bu daha geniş işe çoğu zaman bağlam mühendisliği deniyor. Bir promptun birçok girdide çalışıp çalışmadığını ölçmek, yani genellikle değerlendirme (evaluation) denen iş, diğer yarısıdır.

Yeni modellerle ne değişiyor

İlk dönem prompt mühendisliği numaralara dayanıyordu: sihirli ifadeler, ayrıntılı personalar, bir talimatı birkaç kez tekrarlamak. Güncel modeller düz talimatlara çok daha iyi uyuyor, akıl yürütme modelleri de cevap vermeden önce problemi zaten kendi içlerinde çözüyor, bu yüzden onlardan adım adım düşünmelerini istemek eskisi kadar fark yaratmıyor.

Değişmeyen şey, hiçbir zaman numara olmayan kısım. Model hâlâ sen söylemedikçe okur kitleni, verini, kısıtlarını ya da iyi bir sonucun neye benzediğini bilemez. Kalıcı beceri net tanımlamaktır ve bu rehberin sayfalarının çoğu da ona ayrılmış.

Sıkça Sorulan Sorular

En basit hâliyle prompt mühendisliği nedir?

Prompt mühendisliği, bir yapay zekâ modeline verdiğin talimatları ihtiyacın olan cevabı verecek kadar özenle yazmak, sonra da bunu güvenilir şekilde yapana kadar test edip ayarlamaktır. Modele ne söylediğini (görev, bağlam ve örnekler) ve bunu nasıl düzenlediğini (sıra, biçim ve ayırıcılar) kapsar.

Kod bilmeden prompt mühendisliği öğrenebilir miyim?

Evet. Temel beceriler, yani görevi açıkça söylemek, bağlam sağlamak, örnek vermek ve çıktı biçimini belirtmek, bir sohbet uygulamasında da çalışır. Kod, bir promptu çok sayıda kez çalıştırmak, bir girdi setiyle test etmek ya da çıktıyı bir programa vermek istediğinde işe yarar.

Prompt mühendisliğini öğrenmek ne kadar sürer?

Temeller bir öğleden sonra alır: iyi bir promptun parçaları ve few-shot örnekler ile yapılandırılmış çıktı gibi birkaç teknik. Gerçek bir görevde güvenilir sonuç almak daha uzun sürer, çünkü bu promptunu birçok girdide test edip başarısız olduğu durumları düzeltmekten gelir.

Prompt mühendisliği gerçek bir meslek mi?

Bazı şirketler "prompt mühendisi" gibi unvanlarla işe alım yaptı, ama bu beceri daha çok başka bir rolün parçasıdır: yapay zekâ özellikleri geliştiren yazılımcılar, yazarlar, analistler ve destek ekipleri. Yapay zekâ ürünü geliştiren ekiplerde değerlendirme işiyle ve modelin gördüğü her şeyi tasarlamakla örtüşür; buna artık çoğu zaman bağlam mühendisliği deniyor.

Yeni yapay zekâ modelleriyle prompt mühendisliği hâlâ işe yarıyor mu?

Yeni modeller daha az numaraya ihtiyaç duyar. Düz talimatlara daha iyi uyarlar ve akıl yürütme modelleri adım adım düşünmeleri söylenmeden problemi çözerler. İşe yaramaya devam eden kısım hiçbir zaman numara olmayan kısımdır: görevi söylemek, modele bilemeyeceği bilgileri vermek ve iyi bir cevabın neye benzediğini tanımlamak.

Coddy programming languages illustration

Coddy ile kodlamayı öğren

BAŞLA