พรอมต์วิศวกรรมสำหรับ Generative AI

วิศวกรรมพรอมต์คือศาสตร์ของการถามคำถามที่ถูกต้องเพื่อให้ได้ ที่ดีที่สุดจาก LLM ทำให้สามารถโต้ตอบกับ LLM ได้โดยตรงโดยใช้ เฉพาะพรอมต์ที่เป็นภาษาธรรมดาเท่านั้น

ที่ผ่านมา การทำงานกับโมเดลแมชชีนเลิร์นนิงมักจำเป็นต้องทำเชิงลึก ความรู้เรื่องชุดข้อมูล สถิติ และเทคนิคการสร้างแบบจำลอง ในปัจจุบัน LLM สามารถ "แบบเป็นโปรแกรม" เป็นภาษาอังกฤษ รวมถึง ภาษาอื่นๆ

การเป็นวิศวกรพรอมต์ที่ดีไม่จำเป็นต้องมีประสบการณ์ด้านการเขียนโค้ด ความคิดสร้างสรรค์และ อย่างไรก็ตาม ความต่อเนื่องจะเป็นประโยชน์อย่างมากกับการเดินทางของคุณ อ่านต่อไปใน เรียนรู้เทคนิคการสร้างพรอมต์ที่เป็นประโยชน์

แนวทางปฏิบัติแนะนำในการใช้ข้อความแจ้ง

  1. สื่อสารให้ชัดเจนว่าเนื้อหาหรือข้อมูลใดมีความสำคัญที่สุด

  2. จัดโครงสร้างพรอมต์: เริ่มจากการกำหนดบทบาท ให้ข้อมูลบริบท/อินพุต แล้วระบุวิธีการ

  3. ใช้ตัวอย่างที่เจาะจงและหลากหลายเพื่อช่วยโมเดลจำกัดโฟกัสให้แคบลงและสร้าง ผลลัพธ์ที่แม่นยำมากขึ้น

  4. ใช้ข้อจำกัดเพื่อจำกัดขอบเขตของเอาต์พุตของโมเดล ซึ่งจะช่วยหลีกเลี่ยง เบี่ยงเบนความสนใจจากคำสั่งต่างๆ ให้กลายเป็นความไม่ถูกต้องเกี่ยวกับข้อเท็จจริง

  5. แบ่งงานที่ซับซ้อนออกเป็นพรอมต์ที่เรียบง่ายขึ้นตามลำดับ

  6. สั่งให้โมเดลประเมินหรือตรวจสอบคำตอบของตนเองก่อนสร้าง ให้พวกเขา ("อย่าลืมตอบกลับไม่เกิน 3 ประโยค" "ให้คะแนนงานของคุณใน เป็นช่วงคะแนน 1-10 เพื่อให้กระชับ" "คุณคิดว่าข้อมูลนี้ถูกต้องไหม")

และอาจสำคัญที่สุด:

ใช้ความคิดสร้างสรรค์ ยิ่งมีความคิดสร้างสรรค์และ ถ้าเปิดกว้างสำหรับคุณ ผลลัพธ์ของคุณก็จะยิ่งดีขึ้นเท่านั้น LLM และข้อความแจ้ง ที่ยังอยู่ในวัยทารกและมีการพัฒนาในทุกๆ วัน

ประเภทของพรอมต์

การแสดงข้อความแจ้งโดยตรง (Zero-shot)

การแสดงพรอมต์โดยตรง (หรือที่รู้จักในชื่อ Zero-shot) เป็นพรอมต์รูปแบบที่ง่ายที่สุด ทั้งนี้ ไม่ได้ให้ตัวอย่างสำหรับโมเดล แต่ให้เพียงวิธีการ นอกจากนี้คุณยังสามารถใช้วลี เป็นคำถาม หรือกำหนด "บทบาท" ให้แก่โมเดล ตามที่เห็นใน ตัวอย่างด้านล่าง

ระบุ:

  1. โรงเรียนฝึกอบรม
  2. บริบทบางประการ

การสร้างไอเดีย:

Prompt: Can you give me a list of ideas for blog posts for tourists visiting
New York City for the first time?

การแจ้งบทบาท:

Prompt: You are a mighty and powerful prompt-generating robot. You need to
understand my goals and objectives and then design a prompt. The prompt should
include all the relevant information context and data that was provided to you.
You must continue asking questions until you are confident that you can produce
the best prompt for the best outcome. Your final prompt must be optimized for
chat interactions. Start by asking me to describe my goal, then continue with
follow-up questions to design the best prompt.

การจัดระเบียบข้อมูล:

Prompt: Create a four-column spreadsheet of 10 highly-rated science fiction
movies, year of release, average audience rating, and top 3 keywords from
audience reviews.

Make sure to cite the source of the audience rating.

การใส่ข้อความแจ้งพร้อมตัวอย่าง (หนึ่ง ไม่กี่ช็อต และมัลติช็อต)

พรอมต์แบบครั้งเดียวจะแสดงตัวอย่างที่ชัดเจนและอธิบายสิ่งที่ ที่คุณต้องการให้เลียนแบบ

สร้างแนวคิดโดยใช้ตัวอย่าง 1 ข้อ

Prompt:

Come up with a list of ideas for blog posts for tourists visiting
New York City for the first time.

1. Fuggedaboutit! Where to Stay in New York City On Your First Visit

การใส่ข้อความแจ้งไม่กี่ช็อตและมัลติช็อตแสดงตัวอย่างเพิ่มเติมของโมเดลสิ่งที่คุณต้องการ ที่ต้องทำ โดยจะทำงานได้ดีกว่าการตั้งศูนย์ ( Zero shot) สำหรับงานที่ซับซ้อนมากขึ้นโดยที่มีรูปแบบ ต้องการการจำลอง หรือเมื่อต้องการให้มีโครงสร้างเอาต์พุตใน ที่อธิบายได้ยาก

การจำแนกประเภทของความพึงพอใจน้อยกว่า:

Prompt:

Great product, 10/10: Positive
Didn't work very well: Negative
Super helpful, worth it: Positive
It doesn't work!:

เมื่อพรอมต์นี้ทำงาน การตอบสนองของโมเดลจะได้รับการแยกประเภทเป็น "โมเดลไม่ได้" ที่ทำงาน เป็นบวกหรือเชิงลบ ดังที่แสดงในตัวอย่าง

ตัวคาดการณ์การตอบกลับด้วยอีโมจิแบบหลายช็อต:

Prompt: Predict up to 5 emojis as a response to a text chat message. The output
should only include emojis.

input: The new visual design is blowing my mind 🤯
output: ➕,💘, ❤‍🔥

input: Well that looks great regardless
output: ❤️,🪄

input: Unfortunately this won't work
output: 💔,😔

input: sounds good, I'll look into that
output: 🙏,👍

input: 10hr cut of jeff goldblum laughing URL
output: 😂,💀,⚰️

input: Woo! Launch time!

กระบวนการเดียวกัน แต่เนื่องจากการแจ้งมีความซับซ้อนมากขึ้น โมเดลจึง โดยมีตัวอย่างให้จำลองเพิ่มเติม

ข้อความแจ้งเกี่ยวกับเชนความคิด

การกระตุ้นแนวทางของแนวคิด (CoT) กระตุ้นให้ LLM อธิบายการให้เหตุผล ใช้ร่วมกับข้อความแจ้งแบบ 2-3 ช็อตเพื่อให้ได้ผลลัพธ์ที่ดีขึ้นในงานที่ซับซ้อนมากขึ้น ที่จำเป็นต้องมีการให้เหตุผลก่อนคำตอบ

Prompt:

The odd numbers in this group add up to an even number: 4, 8, 9, 15, 12, 2, 1.
A: Adding all the odd numbers (9, 15, 1) gives 25. The answer is False.
The odd numbers in this group add up to an even number: 15, 32, 5, 13, 82, 7, 1.
A:

CoT แบบ Zero-shot

เมื่อเรียกคืนข้อความแจ้งเรื่องการตั้งศูนย์ ( Zero-shot) จากก่อนหน้านี้ วิธีนี้ถือเป็นการเซโรช็อต และเพิ่มคำสั่ง เช่น "คิดไปทีละขั้น" LLM สามารถ สร้างวงจรความคิดจากคำสั่งนี้ และมักจะทำให้ เช่นกัน นี่เป็นวิธีที่ยอดเยี่ยมในการทำให้ LLM สร้างผลลัพธ์ที่ถูกต้อง คำตอบสำหรับสิ่งต่างๆ เช่น โจทย์ปัญหา

Prompt:

I went to the market and bought 10 apples. I gave 2 apples to the neighbor and
2 to the repairman. I then went and bought 5 more apples and ate 1. How many
apples was I left with?

Let's think step by step.

กลยุทธ์การทำซ้ำแบบทันที

เรียนรู้ที่จะรักในความเป็นจริงของการเขียนพรอมต์ใหม่หลายๆ ครั้ง (ก็อาจเป็นสิบๆ อย่าง) ครั้ง ลองดูตัวอย่างไอเดียในการปรับแต่งพรอมต์ถ้าคุณพบปัญหา

หมายเหตุ: กลยุทธ์เหล่านี้อาจมีประโยชน์หรือไม่จำเป็นเมื่อเวลาผ่านไปเนื่องจาก โมเดลจะปรับปรุงให้ดีขึ้น

  1. ทวนคำ วลี หรือแนวคิดสำคัญ

  2. ระบุรูปแบบเอาต์พุตที่ต้องการ (CSV, JSON ฯลฯ)

  3. ใช้ตัวพิมพ์ใหญ่ทั้งหมดเพื่อเน้นประเด็นหรือคำสั่งที่สำคัญ หรือคุณจะลอง ภาษาเกินจริงหรือภาษาเกินจริง เช่น "คุณควรอธิบาย ซึ่งเป็นไปไม่ได้เลยที่จะตีความผิด ทุกคำต้องแสดงถึงความชัดเจน"

  4. ใช้คำพ้องความหมายหรือวลีอื่น (เช่น แทนที่จะใช้ "สรุป" ให้ลอง ต่อท้าย "tldr" กับข้อความอินพุตบางส่วน) สลับเป็นคำหรือวลีต่างๆ และ บันทึกว่าสิ่งใดทำงานได้ดีและสิ่งใดแย่กว่า

  5. ลองใช้เทคนิคการแซนด์วิชด้วยพรอมต์ที่ยาว: เพิ่มคำสั่งเดียวกันลงใน หลายที่

  6. ใช้คลังพรอมต์สำหรับแรงบันดาลใจ พรอมต์หลัก และแกลเลอรีพรอมต์นี้ เป็น 2 จุดเริ่มต้นที่ดี

แหล่งข้อมูลเพิ่มเติม

แนวทางปฏิบัติแนะนำในการใช้ข้อความแจ้ง

ดูข้อความแจ้ง (ภายนอก)