İlk olarak Vectors of Mind tarafından yayımlanmıştır.


Yüksek teknoloji ürünü bir klavyede yazı yazan bir büyücü. Bilgisayar, parlayan sinirsel yolları olan yüksek teknoloji ürünü bir beyin ve ekranda 'Rab'bi hoşnut eden gizli akor' yazıyor. Büyücünün cübbesi yıldızlar ve aylarla süslü; arka planda mistik ve teknolojik unsurların bir karışımı görülüyor.
Bu gönderiyi okuduktan sonraki hâliniz

Çalışmalarım tehlikeli ölçüde bir Prompt Engineer1 olmaya yaklaştı. Bu benim için sorun değil; zira bu iş yazmaya, psikometriye ve NLP’ye duyduğum sevgiyi bir araya getiriyor. İşte en aşırı güçlü istem oluşturma tekniklerinden bazıları:

  1. Açık ve belirli talimatlar kullanın
  2. Düşünce zinciri akıl yürütmesi
  3. Bir görevi gerçekleştirmeden önce gerekli bilgileri toplayın
  4. Görevleri adımlara ayırın
  5. Teknik terimler dostunuzdur
  6. Yararlı ifadelerden derleme

1. Açık ve belirli talimatlar#

Hukukçular ve bilgisayar bilimcileri bu konuda doğal olarak iyidir. Hatta istem oluşturmanın zevklerinden biri, normal kodlamaya kıyasla çok daha az kesin olunabilmesi ve LLM’lerin çoğu zaman ana fikri kavrayabilmesidir. Bununla birlikte, birçok talep yalnızca görev ve yanıtın alması gereken biçim hakkında açık davranılarak iyileştirilebilir. Örneğin, yakın zamanda şu yemeği derme çatma imkânlarla hazırladım:

How to prompt chatGPT'den görüntü

Tadı harikaydı, sorduğunuz için teşekkürler. Diğer örnekler:

  • “Yapay zekânın tarihini bir paragrafta özetle.”

  • “En eski dil ailelerini yaşlarına göre sıralanmış bir tablo hâlinde oluştur. Kapsamlı ol.”2

  • “Tırnak içindeki metni White ve Strunk tarzında yeniden yaz. Bana üç seçenek sun.”

  • “Ekli .csv dosyasının 2-7. sütunları için bir Pearson korelasyon matrisi hesapla.”

    • devam istemi: “Sonuçları, bir posterde kullanılabilecek kadar yüksek çözünürlükte ısı haritası olarak görüntüleyecek kodu yaz. Estetik seçimlerde en iyi uygulamaları kullan.”

Belirli talimatlar çoğu zaman belirli örnekler de içerir. White ve Strunk, Elements of Style adlı eseri yazmıştır. Kitaplarına atıfta bulunmak, “özlü”, “profesyonel” veya “mükemmel” yazı gibi sıfatlar kullanmaktan daha iyidir. Bunun bir nedeni, özellikle belirli sıfatlar söz konusu olduğunda, LLM’lerin gereğinden fazlasını sunma eğiliminde olmasıdır. Dolayısıyla robotun küstah bir persona benimsemesini istiyorsanız ona Veronica Mars ya da Kötü Kızlar‘daki Regina George gibi davranmasını söylemeyi deneyin.

2. Düşünce zinciri akıl yürütmesi#

LLM’ler, bir sonraki sözcüğü tahmin etmek üzere devasa bir metin külliyatı üzerinde eğitilir. Şaşırtıcı biçimde, bu durum onları akıl yürütmeyi yaklaşık olarak taklit etme konusunda iyi kılar; ancak karmaşık görevlerde hızla dağılırlar. Burada “karmaşık”, 1. sütundaki sayıları toplamak gibi bir şeyi ifade edebilir. Bunu tek istemle yapmak çok zordur; model makul görünen ve muhtemelen doğru aralıkta bulunan, ancak doğru olmayan bir sayı verir. “Bunu adım adım düşün” ifadesini eklemek harikalar yaratır. Çoğu zaman adımların ne olduğunu belirtmeniz bile gerekmez; LLM’ler, bir sütunu toplamak için ara adımların “n1 + n2 + n3 + … + n100 =” yazmak olduğunu çıkarabilir. Bu, esasen eşittir işaretinin sağ tarafında daha iyi bir yanıt elde etmek üzere kendisine istem vermesidir. Ya da bir benzetmeyle, mesele üzerinde düşünmesi için kendisine zaman tanımasıdır. Herhangi bir problemde “bunu adım adım düşün” ifadesi, LLM halüsinasyonlarıyla başa çıkmada ilk savunma hattınızdır. Bu işe yaramazsa adımları kendiniz sıralayın (döneceğimiz bir teknik).

3. Bir görevi gerçekleştirmeden önce gerekli bilgileri toplayın#

chatGPT’den bir blog yazısı (ben asla istemem) ya da bir Python işlevi (bunu kesinlikle isterim) yazmasını istediğinizde, gerçekte ne istediğinize ilişkin ayrıntıları sormadan onu pat pat yazacaktır. Bunun büyük ölçüde önüne, “X yapan bir işlev yazmak istiyorum; kodlamadan önce hangi bilgileri toplamam gerekir?” ya da “X yapan bir işlev yaz, ancak kodu yazmadan önce gerekli olabilecek her türlü bilgiyi sor.” gibi bir şey söyleyerek geçebilirsiniz; burada “X” kısmi bir açıklamadır.

4. Görevleri adımlara ayırın#

chatGPT bir görevi yerine getiremediğinde ve düşünce zinciri de yardımcı olmadığında, görevi alt görevlere ayırın. Bu, zaten başlı başına bir görevin işinin çoğunu oluşturur ve tesadüfen, LLM’lerin kendi başlarına yapmasının (şu anda) zor olduğu şey de budur. Bununla birlikte, bunu çoğu zaman LLM’ye de devredebileceğinizi unutmayın3. Örneğin, chatGPT’ye bir yaratıcılık testi için maddeler oluşturmasını istedim (göz gezdirebilirsiniz):

Görünüşte birbiriyle ilgisiz üç sözcüğü birbirine bağlayan ortak bir sözcük bulmalarını gerektiren Remote Associates Test’e (RAT) benzer daha fazla soru oluşturmaya çalışıyorum. İşte bazı örnek sözcük grupları:

  1. Kulübe, İsviçre, Kek (Yanıt: Peynir)

  2. Yüksek, Kitap, Sandalye (Yanıt: Okul)

  3. Meyve, Bakış, Trafik (Yanıt: Reçel)

  4. Krema, Paten, Su (Yanıt: Buz)

  5. Ağrı, Avcı, Lahana (Yanıt: Baş)

  6. Görgü, Yuvarlak, Tenis (Yanıt: Masa)

  7. Düşen, Oyuncu, Toz (Yanıt: Yıldız)

  8. Işık, Doğum günü, Çubuk (Yanıt: Mum)

  9. Salata, Baş, Kaz (Yanıt: Yumurta)

  10. Müzik, Ağrıdı, Yeşil (Yanıt: Elma)

En iyi uygulamalar nelerdir? Bu konu hakkında adım adım nasıl düşünmeliyim?

Sayıları nasıl toplayacağını anlamaya benzer biçimde, chatGPT görevleri gerçekleştirmeye yönelik “tarifler” üretme konusunda harikadır. Yanıtını verdikten sonra tek yapmam gereken şunu söylemekti:

“Harika! Şimdi bu süreci izleyerek 5 yeni soru üret.”

Ardından beş tane daha, sonra beş tane daha. Daha önce doğrudan yeni maddeler istemeyi denemiştim ve öneriler berbattı. Çok daha karmaşık bir örnek için, bir yapay zekâ güvenliği enstitüsünün (diğer hilelerin yanı sıra) bu tekniği, LLM’ler için imkânsız olacak şekilde tasarlanmış bir problemi çözmekte nasıl kullandığına bakın.

5. Teknik terimler dostunuzdur#

Teknik terimler, yetkin LLM davranışı için çekim havzalarıdır. Örneğin, bir hastalığı betimleyip neyin “endike” olduğunu sormak, “Ne yapmalıyım?” diye sormaktan daha iyi sonuç verir. “Endike” sözcüğünü kullanmak, LLM’ye belirtilerinizi şimdiye kadar yazılmış bütün tıp kitaplarıyla eşlemesini söyler. İkinci ifade ise tıbbi/yaşam tavsiyesi istemeye karşılık gelir; model de bunu vermemek üzere eğitilmiştir. Teknik ya da konuşma diline ait olmayan terimler kullanmak, en fazla koruyucu kurala ve Reddit düzeyinde tavsiyeye sahip sıradan asistan alanından çıkmanızı sağlar.

6. Yararlı istemlerden derleme#

Kendimi kullanırken bulduğum birkaç ifade şunlar:

  • “Bu doğru mu?”

    • Başkasının çalışmasını özetlediğimde ya da tam olarak aşina olmadığım bir fikri açıkladığımda, yazdıklarımı kopyalayıp yapıştırıyor ve doğru olup olmadığını soruyorum. Tartışmaya açık kısımlar olduğunda itiraz etme konusunda genellikle oldukça iyi.
  • “Emin misin?”

    • Benzer biçimde, bir LLM’nin saçmaladığından şüphelendiğimde emin olup olmadığını soruyorum. Fikrini değiştirirse, iddiaya büyük bir kuşkuyla yaklaşın.
  • “Beyin fırtınası yapmama yardım et.” “Yaratıcı ol.”

    • Bir LLM’nin en iyi kullanım alanlarından biri, fikir uzamını keşfetmenize yardımcı olmasıdır. Bazen kiplik yanıtlarından uzaklaşması için teşvik edilmesi gerekir.

Sizin de vazgeçilmez istemleriniz varsa yorumlara ekleyin!


  1. Ayrıca işlerimin niteliği de istediğimden daha değişken hâle geldi; veri bilimi, yapay zekâ veya psikometri alanlarında sözleşmeli bir işiniz varsa bana ulaşın! ↩︎

  2. Kabul etmek gerekir ki bir LLM’nin dünyadaki 142-420 dil ailesinin tamamını listelemesinin cehennemde bile yolu yok. Bu “imkânsız” olduğundan (yani varsayılan davranışından fazlasıyla uzak, bazı katı token sınırlarının ötesinde olduğundan), “kapsamlı” sözcüğü kısa bir yanıtın çekimine karşı koyarak LLM’nin daha titiz olmasını sağlar. İstem oluşturmanın dezavantajı da budur; bu süreç bazen yalvarmaya, yakarmaya, rüşvet vermeye ve tehdit etmeye dönüşür. ↩︎

  3. Bir alt görevi parçalara ayırma konusunda bir LLM’den yardım alabilmeniz, bunun da giderek daha fazla otomatikleştirileceğini gösterir. Gelecek kuşakların neler yapabileceğini kim bilir. ↩︎