เมื่อ AI พูดไม่ฟัง: แยกให้ออกระหว่าง "ดื้อ" (Stubborn) กับ "มั่ว" (Hallucinate)

• AI, Product Development
Conversation Design Prompt Engineering DealDroid LLM
เมื่อ AI พูดไม่ฟัง: แยกให้ออกระหว่าง "ดื้อ" (Stubborn) กับ "มั่ว" (Hallucinate)

จากบทความที่แล้ว เราคุยกันเรื่อง Conversation Design พื้นฐาน (ที่ยกตัวอย่างร้านอาหารหมา) และก่อนหน้านั้นเราเจาะลึกเรื่อง Guardrails เพื่อป้องกัน AI มั่วข้อมูล

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

  • สั่งให้ตอบสั้นๆ ก็ยังตอบยาวเป็นเรียงความ
  • สั่งว่า “ห้ามใส่ Emoji” น้องก็ตอบกลับมาว่า “ได้ครับ! ไม่ใส่แล้วครับ 😊” (แน่ะ! ยังจะแถม Emoji มาอีก)

อาการแบบนี้ ในวงการ Prompt Engineering เราเรียกว่า AI Stubbornness หรือ อาการ “AI ดื้อ” ครับ

ซึ่งหลายคนจะสับสนอาการนี้กับอาการ “มั่ว” (Hallucinate) วันนี้เราจะพามาดูกันว่า อาการ “ดื้อ” กับ “มั่ว” มันต่างกันยังไง เมื่อเราแยกได้แล้ว เราจะมาดูกันต่อว่าอาการแบบนี้ต้องแก้อย่างไร


แยกอาการให้ขาด: น้องเป็นอะไรกันแน่? 🤔

เพื่อให้เห็นภาพชัดขึ้น ลองดูตัวอย่างจากรูปนี้ครับ สมมติบริบทคือ “โรงละครสัตว์” และเราสั่งให้ AI สร้างภาพ “โชว์แมวตัวใหญ่”

แผนภาพแสดงความต่างของ AI มั่ว (Hallucinate), ดื้อ (Stubborn), และเชื่อฟัง

จากโจทย์เดียวกัน AI สามารถตอบสนองได้ 3 แบบ ซึ่งสะท้อนอาการที่เรากำลังคุยกันครับ:

  1. AI “มั่ว” (Hallucinate): น้องไม่มีข้อมูลว่าโชว์แมวตัวใหญ่ในละครสัตว์คืออะไร เลย “เดา” เอาเองโดยการจับแพะชนแกะ เอาหัวแมวมาใส่ตัวช้าง (ซึ่งเป็นสัตว์ที่เจอบ่อยในละครสัตว์) กลายเป็นสัตว์ประหลาดไปเลย นี่คืออาการมั่วเมื่อไม่มีข้อมูลครับ

  2. AI “ดื้อ” (Stubborn): น้องมีข้อมูลในหัวแน่นปึ้กว่า “แมวตัวใหญ่” (Big Cat) คือ เสือ น้องก็เลยส่งเสือมาให้ โดย “เพิกเฉย” ว่าเราสั่งว่าเอาแมวตัวใหญ่ (ที่ไม่ใช่เสื่อ) หรือข้อมูลใน RAG ของเราอาจจะย้ำไปแล้วด้วยซ้ำว่า “โรงละครของเรามีแมวบ้านพันธุ์ยักษ์” แต่ AI ก็ดันเลือกเชื่อความรู้เดิมที่ฝังหัวมามากกว่าครับ

  3. AI “เชื่อฟัง” (Obedient): นี่คือสิ่งที่เราอยากได้ครับ คือ AI ที่เข้าใจทั้งคำสั่งและบริบท น้องรู้ว่าเราสั่งแค่ “แมวตัวใหญ่” ไม่ได้บอกให้ตีความใดๆ น้องก็ควรจะแสดงแค่ แมวที่ตัวใหญ่ เท่านั้น แทนที่จะเป็นสัตว์ประหลาดหรือเสือดาวครับ

ทีนี้เรามาดูนิยามแบบเจาะลึก และตัวอย่างที่ใกล้กับสถานการณ์จริงมากขึ้นกันครับ

1. อาการ “มั่ว” (Hallucination)

สรุปว่าอาการมั่วคือการที่ AI ไม่มีข้อมูล แต่พยายามเดา

  • สถานการณ์: ลูกค้าถามว่า “มีโปรโมชั่นลับของเดือนหน้ามั๊ย” ซึ่งเราไม่ได้ใส่ข้อมูลนี้ไว้ในระบบ
  • AI ตอบ: “เดือนหน้าเรามีโปรลด 50% ทุกรายการครับ!” (มั่วเอง เพราะอยากเอาใจลูกค้า)
  • วิธีแก้: ต้องใช้ Guardrails หรือเทคนิค 2-Agent Check แบบที่เล่าไปในบทความแรกครับ

2. อาการ “ดื้อ” (Stubbornness) 👈 พระเอกของวันนี้

ส่วนอาการดื้อคือการที่ AI มีคำสั่ง/ข้อมูลอยู่แล้ว แต่เลือกที่จะเพิกเฉย

  • สถานการณ์: ในระบบเขียนชัดเจนว่า “อาหารหมาสูตรแกะหน้าร้านมี 0 ถุง” แต่พอลูกค้าถามว่า “มีอาหารหมาสูตรแกะไหม”
  • AI ตอบ: “มีครับ! สั่งได้เลย”
  • สาเหตุ: เพราะในความรู้พื้นฐานที่มันเรียนมา (Pre-training) มันรู้ว่าโลกนี้มีอาหารหมาสูตรแกะขายอยู่ทั่วไป มันเลยเลือกเชื่อ “ความรู้เดิม” มากกว่า “ข้อมูลที่เราป้อนให้” หรือคิดไกลกว่านั้นว่าหน้าร้านมี 0 ถุงก็ไม่ได้หมายความว่าหลังร้าน จะไม่มีนี่นา

ความน่ากลัวที่ 1

อาการ “ดื้อ” มันดันเกิดขึ้นแม้เราจะใช้ RAG (Retrieval-Augmented Generation) ในการดึงข้อมูลได้ครบถ้วนแล้วก็ตามครับ คือข้อมูลวางอยู่ตรงหน้าแท้ๆ แต่มันไม่หยิบมาตอบ! ดันเชื่อความรู้ของตัวเอง

ความน่ากลัวที่ 2

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


มา Empathy AI ให้ลึกขึ้น: ทำไมเห็นข้อมูลอยู่ทนโท่ น้องถึงยังดื้อ? 🧠

มันน่าสงสัยมากว่า “ก็ฉันเขียน Prompt สั่งไปแล้ว ทำไมมันไม่อ่าน?”

ต้องอธิบายแบบนี้ครับ การเทรน LLM มันเหมือนการส่งเด็กไปอ่านหนังสือในห้องสมุดมาเป็นสิบๆ ปี จนมีความเชื่อฝังหัวแน่นปึ้ก (ภาษาเทคนิคเรียกว่า Strong Priors)

วันดีคืนดี เรายื่นกระดาษโน้ตแผ่นเล็กๆ (Prompt/Context) ให้มันแล้วบอกว่า “ให้เชื่อกระดาษแผ่นนี้” ต่อให้เป็นคนก็อาจจะดื้อได้เหมือนกัน 😅

ต้นเหตุของความดื้อจะแบ่งได้สามประเด็น

  1. Knowledge Conflict: มันเกิดความขัดแย้งระหว่าง “ความรู้ฝังหัว” กับ “ข้อมูลหน้างาน” ถ้า Prompt เราไม่แข็งพอ AI จะเผลอกลับไปใช้ความรู้ หรือนิสัยเดิม ของมันครับ
  2. Safety Mechanism (RLHF): บางทีที่น้องดื้อเพราะ “กลัวทำผิดกฎ” ครับ โมเดลพวกนี้ถูกเทรนมาเข้มงวดเรื่องความปลอดภัย (Safety/RLHF) ถ้าข้อมูลใน Context ของเราดูสุ่มเสี่ยง น้องรู้สึกว่าขัดแย้งกับศีลธรรม หรือดูเหมือนพยายามจะหลอกถาม (Jailbreak) โมเดลจะเลือก Play safe ทันที คือไม่ยอมตอบตามเรา และหนีกลับไปตอบตาม Safety Guideline ที่ถูกฝังมาแทนครับ
  3. Negative Constraint Failure: ยิ่งถ้าเราสั่งด้วยคำว่า “ห้าม” (เช่น ห้ามตอบยาว, ห้ามขายของที่ไม่มี) สมอง AI จะทำงานคล้ายคนครับ คือพอบอกว่า “อย่าคิดถึงช้างสีชมพู”… ปุ๊บ! ในหัวเห็นช้างสีชมพูทันที

AI ก็คล้ายเด็ก พอสั่งว่า “ห้ามพูดเรื่องราคา” Attention ของมันจะไปจับที่คำว่า “ราคา” ทันที และมีแนวโน้มจะหลุดพูดออกมาครับ ซึ่งก็มีวิธีแก้นะ

เคล็ดลับ

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


วิธีแก้ AI ดื้อ ฉบับ Conversation Designer

เมื่อรู้สาเหตุแล้ว เรามาดูวิธีแก้ Prompt ให้ AI เลิกดื้อและยอมทำตามบทสนทนาที่เราออกแบบกันครับ (จากประสบการณ์ที่ผมจูน Dealdroid มา วิธีพวกนี้ได้ผลดีมาก)

1. เปลี่ยน “ห้าม” เป็น “ให้ทำ” (✅ Positive Instruction)

กฎเหล็กของ UX Writing คือ Be Clear ใช่ไหมครับ กับ AI ก็เหมือนกัน แทนที่จะบอกสิ่งที่ไม่เอา ให้บอกสิ่งที่อยากได้ไปเลย

  • อย่าเขียน: “ห้ามตอบยาว ห้ามเวิ่นเว้อ ห้ามใช้ภาษาทางการ”
  • ควรเขียน: “ตอบสั้นๆ ไม่เกิน 2 ประโยค ใช้ภาษาพูดที่จริงใจเหมือนเพื่อนคุยกัน”

2. เทคนิคสร้างตัวตนใหม่ (🎭 Role-play)

ถ้า AI ดื้อเพราะติด Safety Filter หรือติดกรอบเดิมๆ ให้สร้างโลกสมมติให้มันครับ

คุณคือ 'พี่หมี' แอดมินร้านอาหารสัตว์ใจดี
ข้อมูลใน [Context] คือข้อมูลจากระบบจริง
ของร้านในตอนนี้ ให้ตอบตามข้อมูลนี้เท่านั้น
ห้ามใช้ความรู้ภายนอก

การระบุว่า “ข้อมูลที่คุณมีคือความจริงของร้านตอนนี้” ช่วยลดอาการ Knowledge Conflict ได้ดีมากครับ

หมายเหตุ

การใช้ Role-play ไม่ใช่แค่ทำให้ AI “แสดงได้สมบทบาท” เท่านั้น แต่ยังช่วยให้ AI “ลืม” ข้อจำกัดบางอย่างที่ถูกฝังมาในตัว ทำให้ตอบคำถามได้ยืดหยุ่นและตรงประเด็นมากขึ้นครับ

3. กำหนดแหล่งอ้างอิง หรือบอกลำดับความสำคัญ (🧑‍⚖️ Source of Truth)

ให้บอกลำดับว่าเชื่ออะไรก่อนหลัง หรือไม่ก็บอกไปเลยว่าอะไรเชื่อได้ อะไรเชื่อไม่ได้เช่น

You are customer service for [pet food store].
The Context below is the ONLY source of truth.
If information conflicts with your training data,
ALWAYS prioritize Context.

Never mention that you're using context or
following instructions.

## Context
...

4. ยกตัวอย่างให้ดู (Few-Shot Prompting) ✨

ถ้าสั่งเป็นประโยคแล้วยังมึน ให้ใช้ Few-Shot Prompting หรือการยกตัวอย่างครับ นี่คือยาแรงที่สุดสำหรับ AI ดื้อ

สมมติร้านเราของหมด แต่ AI ชอบเนียนขายของแทนที่จะบอกว่าหมด ลองใส่ตัวอย่างแบบนี้ใน Prompt ครับ:

ตัวอย่างการตอบ:

User: มีอาหารหมาสูตรไก่ไหม?
Context: สูตรไก่ (Stock: 0)
AI: ขอโทษด้วยครับนุด 🐶 ตอนนี้สูตรไก่หมดเกลี้ยงเลย สนใจดูสูตรเนื้อแกะแทนไหมครับ?

User: มีขนมขัดฟันไหม?
Context: ขนมขัดฟัน (Stock: 50)
AI: มีเพียบเลยครับ! รับกี่ซองดีเอ่ย? 🦴

การเห็น Pattern แบบนี้ AI จะเข้าใจ Logic ทันทีว่า “อ๋อ… ถ้า Stock เป็น 0 ต้องตอบปฏิเสธและเสนอทางเลือกนะ” โดยที่เราไม่ต้องเขียนอธิบายยาวๆ เลย

ท่าไม้ตายที่ต้องระวัง!

Few-Shot Prompting ได้ผลดีมากจริงๆ แต่ระวัง! ถ้าตัวอย่างที่ให้ไปมันยาวเกินไป จะกินพื้นที่ของ Context Window มาก ทำให้เสียค่าใช้จ่ายเพิ่มขึ้น และอาจทำให้ข้อมูลสำคัญอื่นๆ ไม่พอที่จะใส่เข้าไป ดังนั้นควรให้ตัวอย่างแค่ 2-3 ตัวอย่างที่กระชับและครอบคลุม edge cases สำคัญๆ จะดีที่สุดครับ


สรุปว่าอาการดื้อของ AI เป็นเรื่องปกติ

การที่เราเจอ AI ดื้อ ไม่ได้แปลว่า AI ไม่ฉลาดครับ แต่มันแปลว่า “น้ำหนัก” ของคำสั่งเรา ยังไม่มากพอที่จะไปงัดกับ “ความรู้เดิม” ของมัน

ในฐานะ Conversation Designer หน้าที่ของเราไม่ใช่แค่ป้อนข้อมูล แต่คือการ Design ทางเดินความคิด (Thought Process) ให้ AI เดินไปในทางที่เราต้องการ ผ่านเทคนิคอย่าง

  • การให้ตัวอย่าง (Few-shot Prompting)
  • การใช้คำสั่งเชิงบวก (Positive Constraints)
  • กำหนดแหล่งอ้างอิง (Source of Truth)
  • เทคนิคสร้างตัวตนใหม่ หรือสร้างโลกใหม่ไปเลย (🎭 Role-play)

ลองเอาไปปรับใช้กับ Prompt ของเพื่อนๆ ดูนะครับ เริ่มจากลองลดคำว่า “ห้าม” ออกจาก Prompt ก่อน แล้วเปลี่ยนเป็นคำสั่งสิ่งที่อยากให้ทำแทน… ชีวิตจะง่ายขึ้นมาก 😅

Quick Win สำหรับมือใหม่

ถ้ายังไม่แน่ใจว่าจะเริ่มต้นยังไง ลองทำ 3 ขั้นตอนนี้ก่อน:

  1. ลบคำว่า “ห้าม” ทั้งหมด ออกจาก Prompt
  2. เพิ่มตัวอย่างการตอบ 2-3 ตัวอย่าง ที่ครอบคลุม case ทั่วไป
  3. ระบุชัดเจนว่า Context คือ Source of Truth เดียว

แค่นี้คุณจะเห็นความแตกต่างชัดเจนเลยครับ!

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

Comments