Screenshot 2024-11-17 at 21.30.35.png

Introduction

Prompt Engineering aslında kısaca şu: Karşınızda milyarlarca döküman ile yaratılmış (tüm internetteki her şeyi bilen) bir beyin var (yani düşünebiliyor), fakat iletişim kurmak zor olduğu için bir şey istediğinizde yanlış cevap verebiliyor (halüsinasyon) veya istediğinizin dışında bir işlem yapabiliyor. Ona tam olarak ne istediğinizi uygun bir şekilde anlatmanız lazım. İşte bu anlatış biçimine Prompt Engineering diyoruz.

Detective Analogy

LLM'lerin çalışma mantığını anlamak için güzel bir dedektif romanı analojisi yapalım:

Düşünün ki bir dedektif romanı okuyorsunuz. Dedektif, elindeki ipuçlarını adım adım değerlendiriyor:

Her yeni ipucu, bir sonraki adımda ne olabileceğine dair tahminleri şekillendiriyor. Dedektif, tüm bu bilgileri birleştirerek katili bulmaya çalışıyor.

LLM'ler de dedektiflere benzer şekilde çalışır. Verilen metindeki her kelime ve bağlam bir ipucu gibidir. Model, önceki kelimeleri kullanarak "sonraki en mantıklı kelime ne olabilir?" sorusunun cevabını arar. Tıpkı dedektifin ipuçlarını birleştirerek katili bulması gibi, LLM de kelimeleri ve bağlamı birleştirerek anlamlı bir sonuca ulaşır. Dedektif romanı katil bulununca bittiği gibi, LLM de mantıklı bir sonuca ulaştığında cevabını tamamlar.

Prompt Engineering Techniques

Aşağıda LLM’lere istediğinizi daha iyi, kolay, performanslı, ucuz… bir şekilde yaptırmak için kulanabileceğiniz Prompt Engineering Teknikleri’ni listeledik. Bu teknikleri kullanırken ihtiyacınız olan en önemli şeylerden birisi de yaratıcılığınız. Kimse LLM’lerin tam olarak nasıl çalıştığını bilmediği için ve her denemede farklı sonuçlar verebildiği için istediğiniz sonuçları elde etmek çok zor. Aşağıdaki teknikleri ve yaratıcılığınızı birleştirerek daha iyi sonuçlar elde edebilirsiniz:

  1. ⁠Basic (zero-shot) Prompting Techniques
  2. ⁠Iterative (few-shot) Refinement
  3. ⁠Domain specific Prompting
  4. ⁠Complex Multi-Step Queries
  5. Chain-of-thought Prompting
  6. Prompt Chaining
  7. ⁠Reading from Files