AI
Prompt Engineering เนี่ย สมัยก่อนตอนผมทำร้านเน็ต ใครจะไปคิดว่ามันจะมาเกี่ยวอะไรกับ AI ได้ขนาดนี้ (หัวเราะ) แต่เอาจริงๆ มันคือการ "คุย" กับ AI ให้ฉลาดขึ้นนั่นแหละ Chain of Thought (CoT) ก็เป็นเทคนิคที่ช่วยให้ AI คิดเป็นขั้นเป็นตอน เหมือนคนเราแก้ปัญหาซับซ้อนๆ ยังไงยังงั้นเลย
ง่ายๆ เลย CoT คือการ "บังคับ" ให้ AI อธิบายวิธีคิดของมันออกมาเป็นลำดับขั้น ก่อนที่จะตอบคำถามสุดท้าย สมมติว่าเราถามเลขยากๆ แทนที่จะให้ AI ตอบ 42 เลย เราจะบอกให้มัน "คิดทีละขั้นนะ ขั้นแรกคือ... ขั้นสองคือ... แล้วค่อยสรุปคำตอบ" ประมาณนั้น
สมัยผมเขียนโปรแกรมยุคแรกๆ ก็คล้ายๆ กันนะ เราต้องแตกปัญหาใหญ่ๆ ออกเป็นปัญหาย่อยๆ แล้วค่อยๆ แก้ไปทีละส่วน CoT ก็เหมือนกัน ช่วยให้ AI เข้าใจโจทย์และแก้ปัญหาได้แม่นยำขึ้นเยอะ
ลองนึกภาพตามนะ ถ้าเราถามเด็กว่า "ถ้ามีแอปเปิ้ล 3 ลูก แล้วมีคนเอาไปเพิ่มอีก 2 ลูก แล้วกินไป 1 ลูก เหลือแอปเปิ้ลกี่ลูก?" เด็กที่เก่งๆ จะไม่ตอบ 4 เลย แต่จะบอกว่า "มี 3 ลูก เพิ่มมา 2 ลูก เป็น 5 ลูก กินไป 1 ลูก เหลือ 4 ลูก" CoT ก็คือการสอนให้ AI คิดแบบเด็กเก่งๆ นั่นแหละ
CoT สำคัญเพราะมันช่วยให้ AI:
มาดูวิธีทำ CoT แบบง่ายๆ กัน สมมติว่าเราจะให้ AI แก้โจทย์คณิตศาสตร์:
ตัวอย่าง Prompt:
Q: Roger has 5 tennis balls. He buys 2 more cans of tennis balls. Each can has 3 tennis balls. How many tennis balls does he have now?
A: Let's think step by step. Roger started with 5 balls. He bought 2 cans * 3 balls/can = 6 balls. 5 balls + 6 balls = 11 balls. The answer is 11.
Q: The cafeteria had 23 apples. If they used 20 to make a pie and bought 6 more, how many apples do they now have?
A: Let's think step by step. The cafeteria started with 23 apples. They used 20 to make a pie so they had 23 - 2 = 3. Then they bought 6 more so they have 3 + 6 = 9. The answer is 9.
Q: Sam bought 15 books. He read 1/3 of them. How many books did sam read?
A: Let's think step by step. Sam bought 15 books. He read 1/3 of them which is 15 / 3 = 5. The answer is 5.
Q: Olivia has 23 toy dinosaurs. She gave 5 to her sister and will get twice as many for Christmas. How many dinosaurs will she have then?
A: Let's think step by step.
Code snippet นี้แสดงให้เห็นว่าเรา "สอน" AI ให้คิดเป็นขั้นเป็นตอนโดยการให้ตัวอย่างที่ถูกต้อง ถ้า AI เข้าใจ pattern นี้แล้ว มันจะสามารถแก้โจทย์อื่นๆ ได้เอง
นอกจากโจทย์คณิตศาสตร์แล้ว CoT ยังใช้ได้กับงานอื่นๆ อีกเยอะ เช่น:
สมัยผมทำร้านเน็ต ผมเคยเจอเคสที่ลูกค้าทำคอมพิวเตอร์พัง แล้วมาโวยวาย ผมก็ต้องค่อยๆ ถาม ค่อยๆ วิเคราะห์หาสาเหตุ แล้วค่อยๆ เสนอทางแก้ปัญหา CoT ก็คล้ายๆ กัน ช่วยให้เราแก้ปัญหาได้อย่างมีระบบ
CoT ไม่ได้มีแค่แบบเดียวนะ มันมีหลายแบบให้เลือกใช้ตามความเหมาะสม:
อันนี้คือแบบพื้นฐานที่สุด ที่เราเห็นกันไปแล้ว คือให้ AI อธิบายวิธีคิดก่อนตอบคำถาม
อันนี้ Advance ขึ้นมาหน่อย คือเราไม่ต้องให้ Example เลย แค่บอก AI ว่า "Let's think step by step" มันก็เริ่มคิดเป็นขั้นเป็นตอนได้เอง
Q: What is the best way to handle an argument with someone you care about? Let's think step by step.
A: Okay, here's a step-by-step approach to handling an argument with someone you care about:
1. **Stay Calm:** Take a deep breath and try to approach the situation without getting overly emotional.
2. **Listen Actively:** Really listen to what the other person is saying. Try to understand their point of view, even if you don't agree with it.
3. **Validate Their Feelings:** Acknowledge their feelings. You could say something like, "I understand why you're upset."
4. **Express Yourself Clearly and Respectfully:** State your own point of view in a calm and respectful manner. Use "I" statements to avoid blaming. For example, say "I feel hurt when..." instead of "You always make me feel..."
5. **Look for Common Ground:** Try to find areas where you agree or can compromise.
6. **Focus on the Issue, Not the Person:** Avoid personal attacks or bringing up past issues. Stick to the topic at hand.
7. **Take a Break If Needed:** If the argument gets too heated, it's okay to take a break and come back to it later when you're both calmer.
8. **Apologize If Necessary:** If you've made a mistake or said something hurtful, apologize sincerely.
9. **Seek Resolution:** The goal isn't to "win" the argument but to find a resolution that works for both of you.
10. **Learn from the Experience:** After the argument, take some time to reflect on what happened and how you can handle similar situations better in the future.
This approach prioritizes communication, empathy, and finding a constructive resolution.
Zero-Shot CoT เหมาะกับงานที่ AI มีความรู้พื้นฐานอยู่แล้ว เช่น การให้คำแนะนำ การวางแผน หรือการวิเคราะห์
อันนี้ซับซ้อนที่สุด คือให้ AI generate คำตอบหลายๆ แบบ แล้วเลือกคำตอบที่ "consistent" หรือสอดคล้องกันมากที่สุด
สมมติว่าเราให้ AI แก้โจทย์คณิตศาสตร์ 5 ครั้ง แล้วได้คำตอบ 4, 4, 5, 4, 4 เราก็จะเลือก 4 เป็นคำตอบสุดท้าย เพราะมันเป็นคำตอบที่ "consistent" ที่สุด
Self-Consistency CoT เหมาะกับงานที่ต้องการความแม่นยำสูง เช่น การวินิจฉัยโรค การวิเคราะห์ข้อมูลทางการเงิน หรือการตัดสินใจที่สำคัญ
ทุกเทคนิคก็มีข้อดีข้อเสีย CoT ก็เหมือนกัน:
| ข้อดี | ข้อเสีย |
|---|---|
| ช่วยให้ AI เข้าใจปัญหาได้ดีขึ้น | ต้องใช้ทรัพยากรในการประมวลผลมากขึ้น |
| ให้เหตุผลที่น่าเชื่อถือได้ | อาจจะทำให้ AI ตอบช้าลง |
| แก้ปัญหาที่ต้องใช้ตรรกะได้ | ต้องปรับ Prompt ให้เหมาะสมกับแต่ละงาน |
สรุปคือ CoT เป็นเทคนิคที่มีประโยชน์ แต่ก็ต้องใช้ให้ถูกที่ถูกเวลา SiamCafe Blog เรามีบทความเกี่ยวกับ AI อีกเยอะ ลองเข้าไปอ่านดูได้นะ
ดูวิดีโอเพิ่มเติมเกี่ยวกับPrompt Engineering ขั้นสูง Cha:
ผมเชื่อว่า CoT จะเป็นพื้นฐานสำคัญของการพัฒนา AI ในอนาคต เพราะมันช่วยให้ AI "ฉลาด" ขึ้น ไม่ใช่แค่ "เก่ง" ขึ้น
AI ที่ใช้ CoT จะสามารถ:
อนาคตของ AI ไม่ได้อยู่ที่ความเร็วในการประมวลผล แต่อยู่ที่ความสามารถในการคิดวิเคราะห์ SiamCafe Blog จะคอยอัพเดทเรื่องราว AI ให้ทุกคนได้ติดตามกันต่อไป
CoT เหมาะกับทุกคนที่อยากใช้ AI ให้คุ้มค่า ไม่ว่าจะเป็น:
สมัยผมทำร้านเน็ตฯ ใหม่ๆ ก็ต้องมีคู่มือให้เด็กๆ เล่นเกมส์ใช่มะ? Chain of Thought ก็เหมือนกัน ต้องมีตัวอย่างให้ AI เห็นภาพก่อนว่าเราอยากให้มันคิดแบบไหน ใส่ตัวอย่างซัก 2-3 อัน AI จะเข้าใจง่ายขึ้นเยอะ ลองดู code นี้:
# Example 1
Q: ผมมีแอปเปิ้ล 3 ผล แล้วผมกินไป 2 ผล เหลือแอปเปิ้ลกี่ผล?
A: เริ่มจากการมีแอปเปิ้ล 3 ผล จากนั้นกินไป 2 ผล ดังนั้น 3 - 2 = 1 ตอบ เหลือแอปเปิ้ล 1 ผล
# Example 2
Q: ถ้าผมมีเงิน 10 บาท แล้วซื้อขนมไป 5 บาท จะเหลือเงินกี่บาท?
A: เริ่มจากมีเงิน 10 บาท ซื้อขนมไป 5 บาท ดังนั้น 10 - 5 = 5 ตอบ เหลือเงิน 5 บาท
# Now, the question for the model
Q: ผมมีส้ม 7 ผล แล้วให้เพื่อนไป 3 ผล จะเหลือส้มกี่ผล?
A:
เห็นมะ? เราปูทางให้ AI เห็นว่าต้องคิดยังไงก่อนตอบคำถาม
บางที AI ก็รีบตอบเกินไป (เหมือนเด็กที่ร้านสมัยก่อน รีบเล่นเกมส์จนลืมจ่ายตังค์!) เราต้องย้ำให้มัน "คิดก่อน" ลองใส่คำสั่งเพิ่มเข้าไปใน prompt เช่น:
"ตอบคำถามนี้โดย **คิดเป็นขั้นเป็นตอน** อธิบายเหตุผลในการคำนวณแต่ละขั้นตอน"
คำพวกนี้แหละ ช่วยให้ AI ไม่ "มั่ว" ตอบ
Temperature เป็นค่าที่กำหนด "ความสร้างสรรค์" ของ AI ถ้าตั้งไว้สูง (เช่น 0.7-0.9) คำตอบจะหลากหลาย แต่ก็อาจจะ "เพี้ยน" ได้ ถ้าตั้งไว้ต่ำ (เช่น 0.2-0.3) คำตอบจะตรงไปตรงมา แต่ก็อาจจะ "น่าเบื่อ" ลองปรับดูว่าค่าไหนเหมาะกับโจทย์ของเรา
และอย่าลืม iCafeForex สำหรับนักลงทุนรุ่นใหม่
เหมือนตอนเขียนป้ายประกาศที่ร้านเน็ตฯ "ห้ามสูบบุหรี่" สั้นๆ แต่ได้ใจความ Prompt ก็เหมือนกัน พยายามใช้คำที่เข้าใจง่าย ตรงประเด็น หลีกเลี่ยงคำศัพท์ยากๆ หรือประโยคที่ซับซ้อน
เพราะมันทำให้ AI "คิด" ก่อนตอบไง! สมัยก่อน AI มันแค่ "จำ" แต่ Chain of Thought ช่วยให้มัน "เข้าใจ" ปัญหามากขึ้น ทำให้คำตอบแม่นยำและน่าเชื่อถือกว่าเดิมเยอะ
เหมาะกับโจทย์ที่ต้องใช้ "เหตุผล" หรือ "การคำนวณ" หลายขั้นตอน เช่น โจทย์คณิตศาสตร์ โจทย์ตรรกะ หรือโจทย์ที่ต้องวิเคราะห์ข้อมูล
มีสิ! Prompt มันจะ "ยาว" ขึ้น ทำให้เปลือง token มากขึ้น และบางที AI ก็อาจจะ "หลงทาง" ในขั้นตอนการคิด ถ้า prompt ไม่ดีพอ
Model ขนาดใหญ่ (เช่น GPT-3, PaLM) มักจะให้ผลลัพธ์ที่ดีกว่า เพราะมันมีความสามารถในการ "คิด" ที่ซับซ้อนกว่า แต่ก็ต้องแลกมาด้วยค่าใช้จ่ายที่สูงขึ้น
ลองเริ่มจากโจทย์ง่ายๆ ก่อน แล้วค่อยๆ เพิ่มความซับซ้อนขึ้นเรื่อยๆ หาตัวอย่าง prompt ดีๆ มาศึกษา แล้วก็ลองปรับแต่งให้เข้ากับโจทย์ของเรา
Chain of Thought เป็นเทคนิคที่น่าสนใจ ที่ช่วยให้ AI ทำงานได้ "ฉลาด" ขึ้น แต่ก็ต้องใช้ความเข้าใจและความเชี่ยวชาญในการออกแบบ prompt พอสมควร ลองเอาไปปรับใช้กันดูนะครับ รับรองว่า AI ของคุณจะเก่งขึ้นอีกเยอะ!
ติดตามบทความอื่นๆ ได้ที่ SiamCafe Blog นะครับ