25 poin oleh GN⁺ 2023-12-17 | 2 komentar | Bagikan ke WhatsApp
  • Panduan yang membagikan strategi dan teknik untuk mendapatkan hasil yang lebih baik dari model bahasa besar (juga disebut model GPT)
  • Metode yang dijelaskan di sini terkadang dapat digabungkan untuk menghasilkan efek yang lebih besar, dan disarankan untuk bereksperimen guna menemukan metode yang paling sesuai
  • Anda dapat mempelajari apa yang bisa dilakukan model dengan menjelajahi contoh prompt

Enam strategi untuk mendapatkan hasil yang lebih baik

Tulis instruksi yang jelas

  • Karena model tidak bisa membaca pikiran, Anda harus meminta apa yang diinginkan dengan jelas.
  • Sertakan detail untuk mendapatkan jawaban yang lebih relevan, minta model berperan sebagai tokoh tertentu, atau gunakan pembatas untuk menandai dengan jelas bagian-bagian input yang berbeda.
  • Nyatakan langkah-langkah yang diperlukan untuk menyelesaikan tugas, berikan contoh, dan tentukan panjang output yang diinginkan.

Sediakan teks referensi

  • Model bahasa dapat dengan yakin membuat jawaban palsu, terutama saat diminta topik yang sulit dipahami, kutipan, atau URL.
  • Instruksikan model untuk menjawab dengan menggunakan teks referensi, atau untuk menjawab dengan mengutip dari teks referensi.

Pecah tugas kompleks menjadi sub-tugas yang lebih sederhana

  • Seperti halnya memecah sistem kompleks menjadi komponen modular adalah praktik yang baik dalam rekayasa perangkat lunak, hal yang sama berlaku untuk tugas yang diberikan kepada model bahasa.
  • Tugas yang kompleks memiliki tingkat kesalahan yang lebih tinggi, dan sering kali dapat didefinisikan ulang sebagai alur kerja dari tugas-tugas sederhana.
  • Gunakan klasifikasi intent untuk mengidentifikasi instruksi yang paling relevan bagi kueri pengguna, dan untuk aplikasi percakapan yang memerlukan dialog sangat panjang, rangkum atau saring percakapan sebelumnya.
  • Ringkas dokumen panjang per bagian dan susun ringkasan keseluruhan secara rekursif.

Beri model "waktu untuk berpikir"

  • Alih-alih membiarkan model terburu-buru menjawab, meminta "rantai pemikiran" sebelum menulis jawaban dapat menghasilkan jawaban yang lebih andal.
  • Instruksikan model untuk terlebih dahulu menyiapkan solusinya sendiri, dan gunakan monolog internal atau serangkaian kueri untuk menyembunyikan proses penalaran model.
  • Tanyakan kepada model apakah ada hal yang terlewat pada pass sebelumnya.

Gunakan alat eksternal

  • Berikan output dari alat lain kepada model untuk menutupi kelemahan model.
  • Gunakan pencarian berbasis embedding untuk menerapkan pengambilan pengetahuan yang efisien, gunakan eksekusi kode untuk melakukan perhitungan yang lebih akurat, atau panggil API eksternal.
  • Izinkan model mengakses fungsi tertentu.

Uji perubahan secara sistematis

  • Peningkatan performa menjadi lebih mudah ketika dapat diukur.
  • Untuk memastikan perubahan memberikan dampak positif pada performa secara keseluruhan, perlu mendefinisikan test suite yang komprehensif (atau "eval").
  • Evaluasi dengan membandingkan output model terhadap jawaban acuan.

Opini GN⁺

  • Poin terpenting: Prompt engineering adalah metode kunci untuk mengoptimalkan performa model bahasa, dengan memberikan panduan yang spesifik agar maksud pengguna dipahami secara akurat dan hasil yang diinginkan dapat diperoleh.
  • Mengapa ini menarik: Strategi-strategi ini membuat penggunaan model bahasa AI menjadi lebih efektif, dan khususnya memungkinkan performa yang lebih tinggi pada model terbaru seperti GPT-4.
  • Hal yang patut diperhatikan: Panduan ini menyajikan contoh dan strategi konkret yang membantu menyelesaikan masalah umum yang dapat dialami insinyur perangkat lunak pemula saat menggunakan model bahasa, sehingga menunjukkan cara memanfaatkan model secara lebih efektif dalam pekerjaan nyata.

2 komentar

 
GN⁺ 2023-12-17
Komentar Hacker News
  • Diskusi tentang system prompt ChatGPT

    • Model terbaru ChatGPT efektif dalam menangani aturan yang kompleks.
    • Berdasarkan pengalaman, memberi instruksi yang lebih tegas lebih baik daripada menggunakan system prompt.
    • Dukungan function calling dan data terstruktur adalah salah satu bentuk prompt engineering, dan jauh lebih kuat daripada hanya menggunakan system prompt.
    • Ada contoh demo menarik yang membandingkan system prompt dan hasil data terstruktur.
  • Pengalaman memesan cheeseburger dalam bahasa Spanyol

    • Pelayan bereaksi aneh terhadap terjemahan bahasa Spanyol yang disarankan oleh ChatGPT dan Google Translate.
    • Karena tertarik memperbaiki terjemahan, ia meminta terjemahan bahasa Spanyol yang disesuaikan untuk orang Meksiko-Amerika.
    • Keesokan harinya, saat memesan dengan frasa "Cheeseburger sin pepinillos", pelayan mengatakan itu lebih baik.
  • Diskusi tentang karakteristik LLM (Large Language Models)

    • Hampir tidak ada perbedaan antara masukan dan instruksi, sehingga input pengguna dianggap sebagai bagian dari prompt.
    • Karena itu muncul kerentanan "prompt injection" yang sudah dikenal, tetapi ini disebabkan oleh sifat dasar model yang tidak membedakan instruksi dan input.
    • Gabungan prompt dan input menjadi keseluruhan masukan program, sehingga sulit memastikan perilaku program.
    • Inilah alasan LLM masih belum cukup andal untuk digunakan pada tugas yang kompleks.
  • Keraguan untuk mempelajari penulisan prompt

    • Ada keraguan untuk menghabiskan banyak waktu mempelajari penulisan prompt secara sempurna karena versi baru dan LLM lain merespons secara berbeda.
    • Seiring sistem menjadi lebih pintar, prompt yang kompleks mungkin tidak lagi diperlukan.
  • Perbandingan antara prompt engineering dan kueri pencarian lanjutan Google

    • Chatbot bekerja baik untuk pertanyaan dasar, tetapi semakin kompleks informasi yang diminta, semakin sulit mendapatkan informasi yang akurat.
    • Dalam pencarian Google juga, informasi dasar mudah diperoleh, tetapi saat menginginkan hasil yang tidak jelas, operator pencarian lanjutan digunakan.
  • Perbandingan antara prompt pencarian Google dan prompt LLM

    • Orang-orang sudah terbiasa mengetik kata kunci sederhana di Google untuk mendapatkan apa yang mereka butuhkan dari internet.
    • Sekarang harus menulis kalimat yang kompleks akan memakan waktu, dan ini mungkin hanya fase sementara.
  • Kegagalan komunikasi antarmanusia dan keterbatasan LLM

    • Komunikasi antarmanusia sering gagal, dan kebanyakan orang bukan komunikator yang efektif.
    • Sulit berharap mesin akan lebih baik dalam membaca pikiran dan maksud manusia.
    • Prompt engineering seharusnya ada untuk meningkatkan kemampuan komunikasi antarmanusia.
  • Kritik terhadap istilah "prompt engineering"

    • Ada pendapat bahwa kata "engineering" sedang disalahgunakan.
  • Peran LLM dalam mengajarkan komunikasi yang jelas kepada manusia

    • Melalui LLM, manusia sedang belajar cara berkomunikasi dengan lebih jelas.
  • Kemudahan implementasi aplikasi chat berbasis LLM

    • Bahkan tanpa kemajuan teoretis, ada banyak keuntungan dalam mengimplementasikan aplikasi chat berbasis LLM.
    • Diperlukan upaya pengembang untuk mendapatkan hasil yang lebih baik daripada saat ini.