มารู้จักกับ Prompt Engineering กัน

/ 4 min read

Share on social media

prompt-engineering สามารถดู video ของหัวข้อนี้ก่อนได้ ดู video

ทำไม Prompt Engineering ถึงสำคัญ?

สวัสดี ผู้เจริญทุกท่าน

ในบทความนี้ เราจะมาคุยกันว่า จริงๆ แล้ว Prompt Engineering คืออะไรกันแน่ และทำไมมันถึงยังสำคัญมากในยุคที่ AI เก่งขึ้นทุกวัน เราจะมาทำความเข้าใจองค์ประกอบสำคัญของ “Prompt ที่ดี” และเทคนิคพื้นฐานที่จะเปลี่ยนให้ AI กลายเป็นผู้ช่วยที่รู้ใจเรามากขึ้นครับ

ref: https://www.youtube.com/watch?v=wjZofJX0v4M

attention.webp

ก่อนอื่นต้องเข้าใจก่อนว่า AI ที่เราคุยๆ กันอยู่ทุกวันนี้ อย่าง ChatGPT, Gemini, Claude พวกมันมีเบื้องหลังเป็นสิ่งที่เรียกว่า Large Language Models (LLM) ซึ่งหัวใจของมันคือ “โมเดลทำนาย” (Prediction Model) ครับ

พูดง่ายๆ คือ มันพยายามเดา “คำถัดไป” ที่น่าจะถูกต้องที่สุด โดยอิงจาก “บริบท (Context)” ที่เราป้อนเข้าไปให้มัน ซึ่ง “Prompt” ที่เราเขียนเข้าไปนี่แหละครับ คือบริบททั้งหมดที่มันใช้ในการคิด

ดังนั้น Prompt ที่ดี = บริบทที่ดี = ผลลัพธ์ (คำทำนาย) ที่ดีและตรงใจเรามากขึ้น

นี่คือศาสตร์ของ Prompt Engineering ครับ มันคือการออกแบบและปรับแต่งคำสั่ง (Prompt) เพื่อสื่อสารกับ AI ให้ได้ผลลัพธ์ที่ถูกต้องและมีประสิทธิภาพสูงสุด เหมือนเรากำลังคุยกับเด็กเนิร์ดที่เก่งมากๆ แต่เราต้องบอกโจทย์ให้ชัดเจนว่าอยากได้อะไรนั่นเอง

5 องค์ประกอบสำคัญของ “Prompt ที่ดี”

prompt.webp

จาก Whitepaper ของ Google (https://www.kaggle.com/whitepaper-prompt-engineering) ได้สรุปองค์ประกอบของ Prompt ที่ดีเอาไว้ 5 อย่าง ซึ่งจากประสบการณ์ของผมก็พบว่ามันครอบคลุมจริงๆ ครับ

  1. Task (คำสั่ง): ส่วนที่พื้นฐานที่สุด คือการบอกว่า “อยากให้ AI ทำอะไร” เช่น “จงเขียนบทความ”, “สรุปเนื้อหานี้ให้หน่อย”, “สร้าง function Python” ซึ่งทุกคนที่ใช้ AI ต้องมีส่วนนี้อยู่แล้ว ไม่งั้น AI ก็ไม่รู้จะเริ่มยังไง
  2. Context (บริบท): ข้อมูลพื้นหลังที่ช่วยให้ AI เข้าใจสถานการณ์และขอบเขตของงานได้ดีขึ้น เช่น “กลุ่มเป้าหมายคือใคร”, “บทความนี้จะเอาไปลงที่ไหน”, “โค้ดนี้ใช้กับระบบอะไร”
  3. Example (ตัวอย่าง): นี่คือส่วนที่สำคัญมากครับ คือการ “ทำให้ดูเป็นตัวอย่าง” แทนที่จะแค่อธิบายเฉยๆ หรือที่เรียกว่า Few-Shot Prompting ถ้าอยากได้ผลลัพธ์สไตล์ไหน ก็แค่เอาตัวอย่างใส่เข้าไปให้มันดู
  4. Persona (บทบาท): กำหนดตัวตนให้ AI เช่น “คุณคือ Senior Backend Developer” หรือ “คุณคือนักเขียนคอนเทนต์สายไลฟ์สไตล์” การกำหนดบทบาทจะช่วยเซ็ต “โทนและสไตล์” ของคำตอบได้ชัดเจนขึ้นมาก (เดี๋ยวเราจะมาเจาะลึกเรื่องนี้กัน)
  5. Output (รูปแบบผลลัพธ์): กำหนดโครงสร้างของคำตอบที่อยากได้อย่างชัดเจน เช่น “ขอคำตอบเป็น JSON format”, “สรุปเป็น Bullet point 3 ข้อ”, “บทความต้องมีความยาวไม่เกิน 3 ย่อหน้า”

ตัวอย่าง Prompt ที่ครบองค์ประกอบ:

(Persona) คุณคือนักเขียนคอนเทนต์ผู้เชี่ยวชาญด้าน Productive Lifestyle (Task) จงเขียนบทความสั้นๆ เพื่อแนะนำเรื่องการทำงานแบบ Remote Work (Context) ให้ผู้อ่านทั่วไปที่ทำงานออฟฟิศและสนใจการทำงานจากที่บ้าน เนื้อหาควรอ่านง่าย กระชับ (Example) [อาจจะใส่ตัวอย่างสไตล์การเขียนที่เราชอบลงไป 1 ย่อหน้า] (Output) ขอความยาวประมาณ 3 ย่อหน้า มีหัวข้อย่อย และสรุปเป็นข้อคิดสั้นๆ ในตอนท้าย

แค่เราลองเช็ค Prompt ของเราว่ามีองค์ประกอบเหล่านี้ครบถ้วนหรือยัง ผลลัพธ์ที่ได้ก็จะดีขึ้นอย่างเห็นได้ชัดเลยครับ

พอเห็น 5 องค์ประกอบนี้แล้ว หลายคนอาจจะคิดว่า “โห… ต้องใส่ให้ครบทุกครั้งเลยเหรอ?” คำตอบคือไม่จำเป็นเสมอไปครับ แต่การรู้จักองค์ประกอบเหล่านี้จะทำให้เรา “Debug” Prompt ของเราได้ดีขึ้นเวลาที่ผลลัพธ์มันไม่เป็นใจ

ทีนี้ ในบรรดา 5 ข้อนี้ มีอยู่ข้อนึงที่ผมมั่นใจว่าหลายคน (รวมถึงตัวผมเองในตอนแรก) ตั้งคำถามกับมันมากที่สุด… นั่นก็คือข้อ 4 Persona ครับ เรามาขยี้ประเด็นนี้กันก่อนเลย

ไขข้อข้องใจแรกเรื่อง Persona: มันช่วยได้จริงเหรอ?

เอาจริงๆ นะครับ หนึ่งในองค์ประกอบที่ผมเคยสงสัยมากที่สุดเลยก็คือ Persona หรือ Role นี่แหละ คำถามคือ… การบอกให้ AI เป็น “ผู้เชี่ยวชาญ” มันช่วยให้คำตอบ “ถูกต้อง” ขึ้นจริงเหรอ?

ถ้าเราสั่งให้ AI “เขียน function Python สำหรับบวกเลข” ต่อให้เราไม่บอกว่ามันคือโปรแกรมเมอร์ มันก็รู้อยู่แล้วว่าต้องทำอะไร เพราะบริบทของ Task มันชัดเจนอยู่แล้ว แล้วการใส่ Persona เข้าไปมันช่วยอะไร?

จากประสบการณ์และข้อมูลที่ผมไปค้นคว้ามา คำตอบคือ: Persona มีผลอย่างมากต่อ “สไตล์ โทน และมุมมอง” ของคำตอบ แต่มีผลน้อยมากต่อ “ความถูกต้องทางเทคนิค” ของคำตอบครับ

มันคือการเซ็ต “ท่าที” ของ AI มากกว่าเซ็ต “ความรู้” ครับ แต่ทีนี้… เราจะทำให้มันลึกซึ้งกว่านั้นได้ยังไง?

ก้าวไปอีกขั้นด้วย “Expert Prompting” 🚀

เทคนิคนี้คือการยกระดับการใช้ Persona ขึ้นไปอีกขั้นครับ แทนที่จะบอกแค่ว่า “คุณคือ Senior Python Developer” ซึ่งมันกว้างมาก เราจะลงลึกไปอีกว่า “ความเชี่ยวชาญ” ของเขาคืออะไร

มันเหมือนกับการที่เราคุยกับเด็กเนิร์ดที่เก่งจัดๆ เลยครับ ถ้าเราถามคำถามแบบธรรมดาๆ เขาก็จะตอบแบบพื้นฐานให้เราเข้าใจง่าย แต่ถ้าเรารู้ว่าเขาเก่งเรื่องไหนเป็นพิเศษ แล้วเราชวนคุยในเรื่องนั้น เขาก็จะปล่อยของออกมาเต็มที่!

ตัวอย่าง:

Prompt แบบธรรมดา (Simple Persona):

คุณคือนักฟิสิกส์ จงอธิบายโครงสร้างของอะตอม

ผลลัพธ์: ก็จะได้คำตอบตามตำราเรียนทั่วไปครับว่ามีโปรตอน นิวตรอน อิเล็กตรอน…

Prompt แบบ Expert Prompting:

คุณคือนักฟิสิกส์ที่เชี่ยวชาญด้านโครงสร้างอะตอมและคุณสมบัติของสสารในระดับควอนตัม คุณมีความเข้าใจอย่างลึกซึ้งเกี่ยวกับอนุภาคมูลฐานและแรงนิวเคลียร์อย่างเข้ม จงอธิบายโครงสร้างของอะตอม

ผลลัพธ์: คราวนี้ AI จะจัดเต็มครับ 😂 มันอาจจะเริ่มพูดถึงแรงยึดเหนี่ยวในนิวเคลียส พูดถึงควาร์ก หรือหลักการทางฟิสิกส์ควอนตัมที่ซับซ้อนขึ้น เพราะเรารได้สร้าง “ตัวตนของผู้เชี่ยวชาญ” ที่เฉพาะเจาะจงให้มันสวมบทบาท

ดังนั้น Expert Prompting คือการสร้างตัวตนของผู้เชี่ยวชาญที่มีรายละเอียดลึกซึ้ง ไม่ใช่แค่แปะป้ายตำแหน่งให้เฉยๆ ซึ่งเทคนิคนี้จะมีประโยชน์อย่างมากเวลาที่เราตั้งค่า System Prompt หรือ Custom Instructions ใน AI Chatbot ที่เราใช้ประจำ เพื่อให้มันตอบสนองในสไตล์และระดับความลึกที่เราต้องการอยู่เสมอครับ

พอเราเข้าใจเรื่องการกำหนดบทบาท (Persona) เพื่อเซ็ต “โทนและสไตล์” ของ AI กันไปแล้ว ทีนี้เรามาดูกันที่ส่วนของ “เนื้องาน” จริงๆ กันบ้างครับ นั่นคือส่วนของ Example และ Output ที่เราจะใช้เทคนิคต่างๆ เพื่อควบคุมให้ AI สร้างผลลัพธ์ออกมาได้ดั่งใจเรามากขึ้น

ซึ่งเอาเข้าจริง เทคนิคเหล่านี้หลายคนอาจจะเคยใช้กันอยู่แล้วในชีวิตประจำวัน แต่ไม่รู้ว่ามันมีชื่อเรียกเท่ๆ แบบนี้ด้วยซ้ำครับ เรามาดูกันว่ามีอะไรบ้าง

4 เทคนิค Prompting พื้นฐานที่เปลี่ยนเกม (และคุณอาจใช้อยู่โดยไม่รู้ตัว)

ทีนี้ เรามาดูเทคนิคที่คนส่วนใหญ่ใช้กันบ่อยๆ (ทั้งที่รู้ตัวและไม่รู้ตัว) ซึ่งมีอยู่ 4 เทคนิคหลักๆ ที่จะช่วยให้เราสื่อสารกับ AI ได้คมขึ้นครับ

1. Zero-Shot Prompting

ref: https://www.analyticsvidhya.com/blog/2024/06/zero-shot-prompting/

zero-shot.webp

คือการสั่งงานแบบไม่มีตัวอย่างเลย (ตัดข้อ 3 จาก 5 องค์ประกอบทิ้งไป) เป็นวิธีที่เราใช้กันบ่อยที่สุด และเป็นธรรมชาติที่สุดครับ

มันเหมือนกับการที่เราไปถามคนที่ไม่เคยรู้จักกันมาก่อนว่า “การ์ตูนเรื่องล่าสุดที่ดูคืออะไร?” คำตอบที่ได้ก็จะหลากหลายมากครับ บางคนตอบ Winnie the Pooh, บางคนตอบอนิเมะ, บางคนตอบ Pixar เพราะแต่ละคนก็ตอบจากพื้นฐานความรู้ของตัวเอง AI ก็เช่นกันครับ เมื่อเราถามแบบไม่มีตัวอย่าง มันก็จะดึงจากสิ่งที่มันถูก Train มาตอบ

เทคนิคนี้เลยมักจะถูกใช้เพื่อวัดผล (Benchmark) ความสามารถพื้นฐานของ AI แต่ละตัวครับ ว่าถ้าไม่ Guide อะไรเลย มันจะทำได้ดีแค่ไหน เหมาะสำหรับงานง่ายๆ ที่ไม่ซับซ้อน เช่น “สร้าง API CRUD ให้หน่อย”, “ช่วยแปลงข้อมูลจาก CSV เป็น JSON ที” หรือ “ขอ command สำหรับ get container ของ Docker หน่อย” ซึ่งเป็นโจทย์ที่มันควรจะทำได้อยู่แล้ว

  • ข้อดี: ง่ายและเร็ว Prompt ของเราจะสั้นกระชับ
  • ข้อจำกัด: หากงานซับซ้อน หรือต้องการผลลัพธ์ที่เฉพาะเจาะจง มีโอกาสสูงที่ AI จะเข้าใจผิดหรือให้คำตอบที่ไม่ละเอียดพอ เพราะมันขาด “ดีเทล” ที่เราต้องการ

2. Few-Shot Prompting

ref: https://learnprompting.org/docs/basics/few_shot?srsltid=AfmBOopFHEmWhAtL2MgfvThmOZCLf3NqRfI5KPXsJ9vtPu6EYt-tC6QO

1_4DTL5q--UxuoMFc6P0b3dw.webp

เทคนิคยอดนิยม และเป็นสิ่งที่ผมแนะนำให้ใช้บ่อยๆ ครับ คือการใส่ตัวอย่าง (Example) เข้าไป 1-2 ตัวอย่าง เพื่อไกด์ให้ AI รู้ว่าเราอยากได้ผลลัพธ์หน้าตาประมาณไหน เหมือนเวลาเราคุยกับคนนั่นแหละครับ การยกตัวอย่างให้ดูสักหน่อย ย่อมทำให้เข้าใจตรงกันได้ง่ายกว่าการอธิบายลอยๆ

วิธีนี้ทรงพลังมากในการควบคุม Format และสไตล์ของผลลัพธ์ เช่น ถ้าเราอยากได้คำตอบเป็น JSON ที่มีโครงสร้างแบบที่เราต้องการ เราก็แค่ใส่ตัวอย่าง JSON ที่ถูกต้องเข้าไปใน Prompt AI ก็จะพยายามสร้างผลลัพธ์ให้มีโครงสร้างเหมือนกับตัวอย่างของเราทันที

  • ข้อดี: ได้ผลลัพธ์ที่แม่นยำและตรงตามรูปแบบที่ต้องการมากขึ้นอย่างเห็นได้ชัด
  • ข้อจำกัด:
    1. ต้องเตรียมตัวอย่างที่ดีและถูกต้อง ถ้าตัวอย่างเรามั่ว ผลลัพธ์ก็จะมั่วตามไปด้วย
    2. ถ้าตัวอย่างที่เราใส่เข้าไปมันยาวเหยียดเกินไป อาจจะไปชนเพดาน Context Window ได้ครับ ซึ่งเปรียบเหมือนหน่วยความจำระยะสั้นของ AI ในการคุยครั้งนั้นๆ ถ้าข้อมูลเยอะไป มันก็อาจจะลืมส่วนต้นๆ ไปได้เหมือนกันครับ

3. Chain-of-Thought (CoT) Prompting

ref: https://www.promptingguide.ai/techniques/cot

cot.webp

เทคนิคนี้คือการกระตุ้นให้ AI “คิดเป็นขั้นเป็นตอน” ก่อนที่จะตอบออกมา เหมาะสุดๆ สำหรับงานที่ต้องใช้ตรรกะ การคำนวณ หรือการให้เหตุผลที่ซับซ้อน

สมมติเราถามโจทย์ง่ายๆ ว่า “ฉันมีแอปเปิ้ล 3 ลูก กับส้ม 2 ลูก ให้ส้มเพื่อนไป 1 ลูก ตอนนี้เหลือผลไม้กี่ลูก?” ถ้าใช้ Prompt ธรรมดา AI อาจจะตอบ “4 ลูก” ทันที แต่ถ้าเราใช้ CoT มันจะแสดงกระบวนการคิดออกมาก่อน เช่น:

  1. เริ่มต้นมีผลไม้ทั้งหมด 3 (แอปเปิ้ล) + 2 (ส้ม) = 5 ลูก
  2. ให้ส้มเพื่อนไป 1 ลูก
  3. ดังนั้นจะเหลือผลไม้ 5 - 1 = 4 ลูก
  • วิธีใช้: ง่ายที่สุดคือการเติมประโยคเด็ดอย่าง “Let’s think step by step” ต่อท้าย Prompt ของเรา
  • ผลลัพธ์: ทำให้คำตอบมีความน่าเชื่อถือและถูกต้องมากขึ้นอย่างมหาศาล เพราะมันบังคับให้ AI ต้องแตกโจทย์และคิดอย่างเป็นลำดับก่อนสรุปคำตอบ
1_F6Y7vqMikk9SbzJ_gCy6sA.webp

ref: https://medium.com/@pouyahallaj/chain-of-thought-how-chatgpt-can-think-now-d40cfc705cbb

ในปัจจุบัน AI รุ่นใหม่ๆ อย่าง GPT-4 หรือ Gemini มักจะใช้กระบวนการนี้เบื้องหลังอยู่แล้ว (ที่เราเห็นมันขึ้นว่า “Thinking…” นั่นแหละครับ เขาเรียกว่า Internal Chain of Thought) แต่การระบุไปตรงๆ ก็ยังช่วยให้ผลลัพธ์ดีขึ้นในหลายกรณีครับ

ข้อควรระวัง: เทคนิคนี้ไม่ได้ช่วยแก้ปัญหาเรื่อง AI Hallucination (อาการหลอน) ได้ 100% นะครับ มันแค่ช่วยเรื่องกระบวนการคิดให้เป็นเหตุเป็นผลมากขึ้น แต่ไม่ได้การันตีว่าข้อมูลที่ใช้คิดจะถูกต้องเสมอไป (เรื่องนั้นต้องไปว่ากันด้วยเทคนิคอย่าง RAG ต่อไปครับ)

4. Meta-Prompting

ref: https://jmiemirza.github.io/Meta-Prompting/

motivation.webp

เทคนิคสำหรับคนขี้เกียจ (แบบผม 😝) หรือเวลาที่เราตันๆ คิดไม่ออก มันคือ “การให้ AI ช่วยสร้าง Prompt ให้” ครับ

มันคือสถานการณ์ที่เรามีไอเดียในหัว หรืออาจจะมี Prompt คร่าวๆ อยู่แล้ว แต่รู้สึกว่า “เอ… มันน่าจะเขียนให้ดีกว่านี้ได้นะ” เราจึงใช้ AI (อาจจะเป็นตัวที่เก่งกว่า หรือตัวเดียวกัน) มาช่วยขัดเกลาและเติมเต็มองค์ประกอบอื่นๆ ที่เราอาจจะนึกไม่ถึง เช่น Context ที่ขาดไป หรือ Persona ที่เหมาะสม เพื่อสร้างเป็น Prompt สุดท้ายที่สมบูรณ์แบบ

  • วิธีใช้: เราบอกโจทย์กว้างๆ ของเราไป แล้วบอกให้ AI ช่วยเขียน Prompt ที่ดีที่สุดสำหรับโจทย์นี้ให้หน่อย เช่น “จงช่วยสร้าง Prompt สำหรับการสร้าง function Python เพื่อนับจำนวนเว็บไซต์ที่ขึ้นต้นด้วยตัว ‘G’ ในหน้าแรกของ Search Engine”
  • แนวคิด: หัวใจของเทคนิคนี้คือ เราต้องชัดเจนใน 2 เรื่องครับ คือ Task (อยากได้อะไร) และ Output (ผลลัพธ์หน้าตาแบบไหน) แล้ว AI จะช่วยเติมส่วนที่เหลืออย่าง Context, Persona, และ Example ให้เราเอง

เทคนิคนี้มีประโยชน์มากเวลาที่เราต้องการสร้าง Template Prompt สำหรับงานที่ต้องทำซ้ำๆ ครับ เราสามารถให้ AI ช่วยออกแบบโครงสร้างที่ดีที่สุดให้เราได้เลย

คำถามสุดท้าย: Prompt Engineering ยังจำเป็นอยู่ไหม?

ในยุคที่ AI ฉลาดขึ้น มี Agent เก่งๆ เกิดขึ้นมากมาย คำถามคือเรายังต้องมานั่งเรียนรู้เรื่องพวกนี้อยู่มั้ย?

คำตอบของผมคือ “ยังคงเป็น skill ที่มีความจำเป็นอยู่ดี”

เพราะสุดท้ายแล้ว ไม่ว่า AI จะเก่งแค่ไหน มันก็ยังต้องการ “นิยามของความถูกต้อง” จากเราอยู่ดี สกิล Prompt Engineering ไม่ใช่แค่การเขียนคำสั่ง แต่คือการฝึกฝน “ทักษะการระบุปัญหาและกำหนดผลลัพธ์ที่ต้องการ” ให้ชัดเจน

ดังนั้น ประโยคที่ว่า “ช่วยคิด Prompt ที่ดีที่สุดให้หน่อย” อาจจะไม่ได้ช่วยอะไร ถ้าเราเองยังไม่รู้เลยว่า “ดีที่สุด” ของเราคืออะไรนะครับ ☺️

หวังว่าทั้งบทความและ video นี้จะช่วยให้ทุกคนเห็นภาพรวมและแก่นของ Prompt Engineering มากขึ้นนะครับ และสามารถนำไอเดียเหล่านี้ไปปรับใช้กับการทำงานร่วมกับ AI ในชีวิตประจำวันได้มีประสิทธิภาพมากขึ้น ขอบคุณที่อ่านมาจนจบครับ 🙏

Reference


Related Post

Share on social media