AI Prompt Engineering · บทเรียน

ข้อกำหนดที่ขัดแย้งกัน

ข้อจำกัดที่ขัดแย้งกันทำให้โมเดลสับสนและสร้างคำตอบแบบเผื่อทางเลือกได้อย่างไร

บทเรียน 2 จาก 413 ขั้นตอน

ข้อกำหนดที่ขัดแย้งกัน เป็นบทเรียน AI Prompt Engineering ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน AI Prompt Engineering และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส AI Prompt Engineering มีบทเรียนทั้งหมด 4 บทเรียน

ปัญหาความขัดแย้ง

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

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

ความขัดแย้งแบบคลาสสิก 1: สั้นแต่ครอบคลุม

"เขียนภาพรวมโดยสรุปที่ครอบคลุมทุกแง่มุมของการประมวลผลแบบคลาวด์"

คำว่า "โดยสรุป" หมายถึงสั้น ส่วนคำว่า "ครอบคลุม" หมายถึงละเอียดถี่ถ้วน สำหรับหัวข้อที่กว้างอย่างการประมวลผลแบบคลาวด์ เป้าหมายทั้งสองอย่างนี้ไม่อาจอยู่ร่วมกันได้ ต้องมีบางอย่างถูกลดทอน

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

วิธีแก้: ตัดสินใจว่าอะไรสำคัญกว่า แล้วลดขอบเขตลง "ภาพรวมโดยสรุปของโมเดลการประมวลผลแบบคลาวด์ 3 รูปแบบหลัก" บรรลุเป้าหมายทั้งสองอย่าง

ความขัดแย้งแบบคลาสสิก 2: เป็นทางการแต่สนุก

"เขียนรายงานที่เป็นทางการและสนุกน่าติดตามด้วย"

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

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

ความขัดแย้งแบบคลาสสิก 3: เรียบง่ายแต่ละเอียด

"อธิบายการพัวพันเชิงควอนตัมอย่างเข้าใจง่ายและละเอียดครบถ้วน"

การทำให้ง่ายต้องอาศัยการนามธรรม — ซ่อนความซับซ้อนและละรายละเอียดปลีกย่อย ส่วนการอธิบายอย่างละเอียดครบถ้วนต้องทำตรงกันข้าม สำหรับหัวข้อทางเทคนิค จึงไม่มีทางที่จะทั้งเรียบง่ายที่สุดและละเอียดที่สุดพร้อมกันได้

วิธีแก้: ระบุกลุ่มผู้อ่านเป้าหมายและพื้นฐานของพวกเขา จากนั้นให้ระดับความลึกเป็นไปตามการตัดสินใจนั้น "อธิบายการพัวพันเชิงควอนตัมสำหรับนักศึกษาปริญญาตรีสาขาฟิสิกส์ — ให้ถือว่าพวกเขารู้จักฟังก์ชันคลื่น แต่ยังไม่รู้จัก QFT" วิธีนี้มีความเฉพาะเจาะจงและทำได้จริง เพราะการกำหนดกลุ่มผู้อ่านช่วยบอกสมดุลที่เหมาะสม

ตรวจจับความขัดแย้งก่อนส่ง

ก่อนส่งพรอมต์ที่มีคำสั่งหลายข้อ ให้ตรวจสอบความขัดแย้งอย่างรวดเร็ว:

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

สำหรับพรอมต์ที่ซับซ้อน การทำเช่นนี้ใช้เวลา 30–60 วินาที และช่วยป้องกันประสบการณ์น่าหงุดหงิดจากการได้ผลลัพธ์ที่คุณเพิ่งมารู้ภายหลังว่าไม่อาจตอบสนองสิ่งที่ขอไว้ทั้งหมดได้

ปัญหาการทับซ้อนบางส่วน

ความขัดแย้งไม่ได้เป็นสิ่งตรงข้ามกันโดยสิ้นเชิงเสมอไป คำสั่งบางข้อทับซ้อนกันเพียงบางส่วน โดยการทำตามข้อหนึ่งทำให้อีกข้อทำได้ยากขึ้น:

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

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

แก้ความขัดแย้งด้วยคำสั่งกำหนดลำดับความสำคัญ

วิธีแก้ความขัดแย้งที่ชัดเจนที่สุดคือการใช้คำสั่งกำหนดลำดับความสำคัญโดยตรง:

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

คำสั่งกำหนดลำดับความสำคัญช่วยลดความจำเป็นที่โมเดลต้องคาดเดาว่าจะจัดการกับการแลกเปลี่ยนระหว่างข้อกำหนดอย่างไร

การตรวจจับความขัดแย้งในโค้ด

สำหรับกระบวนการสร้างพรอมต์อัตโนมัติ คุณสามารถเพิ่มการตรวจสอบความขัดแย้งล่วงหน้า โดยเรียกโมเดลที่สองก่อนสร้างเนื้อหาจริง:

import openai

client = openai.OpenAI(api_key='sk-...')

def check_for_contradictions(prompt_text):
    check_prompt = f'''Review the following prompt for contradictory requirements.
List any pairs of instructions that conflict with each other.
For each conflict, suggest how to resolve it.
If there are no conflicts, say "No contradictions found."

Prompt to review:
---
{prompt_text}
---'''

    response = client.chat.completions.create(
        model='gpt-4o-mini',
        messages=[{'role': 'user', 'content': check_prompt}]
    )
    return response.choices[0].message.content

# Example
test_prompt = '''Write a brief but comprehensive guide to machine learning
that is both simple for beginners and technically detailed for experts.
Keep it under 200 words. Formal and professional but also fun and engaging.'''

print(check_for_contradictions(test_prompt))

มองความขัดแย้งด้านน้ำเสียงให้ลึกขึ้น

ความขัดแย้งด้านน้ำเสียงเกิดขึ้นบ่อยเป็นพิเศษ เพราะคำบรรยายลักษณะน้ำเสียงจำนวนมากอยู่บนสเปกตรัมที่มีด้านตรงข้ามกันโดยนัย:

  • เป็นทางการ ←————————→ เป็นกันเอง
  • น่าเชื่อถือ ←————→ เข้าถึงง่าย
  • เร่งด่วน ←——————————→ สงบ
  • กระชับ ←—————————→ อธิบายละเอียด

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

ความขัดแย้งด้านขอบเขต

ความขัดแย้งด้านขอบเขตเกิดขึ้นเมื่อขอบเขตของเนื้อหาและข้อจำกัดด้านความยาวไม่สอดคล้องกัน:

  • "ครอบคลุมคุณลักษณะทั้ง 10 รายการภายใน 100 คำ" — 10 คำต่อคุณลักษณะหนึ่งรายการไม่เพียงพอสำหรับการอธิบายที่มีสาระ
  • "วิเคราะห์อย่างครอบคลุมพร้อมตัวอย่างสำหรับทุกประเด็นภายในเวลาอ่าน 2 นาที"
  • "เปรียบเทียบผลิตภัณฑ์ 5 รายการอย่างครบถ้วนใน 8 มิติภายในย่อหน้าเดียว"

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

ความขัดแย้งด้านกลุ่มผู้อ่าน

พรอมต์อาจขัดแย้งกันเองเกี่ยวกับกลุ่มผู้อ่าน:

  • "เขียนสำหรับทั้งผู้เริ่มต้นและผู้เชี่ยวชาญ" — ระดับความลึกของคำอธิบายที่เหมาะกับคนหนึ่งกลับไม่เหมาะกับอีกคน
  • "เขียนสำหรับทีมเทคนิคและผู้บริหารที่ไม่ใช่สายเทคนิค" — เป็นปัญหาเดียวกัน
  • "เข้าถึงได้สำหรับผู้อ่านทุกคนโดยไม่คำนึงถึงพื้นฐาน" — เป็นการกำหนดกลุ่มผู้อ่านที่กว้างจนเป็นไปไม่ได้

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

ตรวจสอบความรู้: ข้อกำหนดที่ขัดแย้งกัน

คุณต้องเขียนประกาศผลิตภัณฑ์สำหรับเครื่องมือซอฟต์แวร์ใหม่สำหรับองค์กร คุณต้องการให้ประกาศนั้นมีลักษณะดังนี้: (1) น่าตื่นเต้นและกระตือรือร้น (2) เป็นทางการและเหมาะกับกลุ่มผู้อ่านที่เป็น CEO (3) มีความยาวไม่เกิน 80 คำ (4) ครอบคลุมคุณลักษณะใหม่ทั้ง 7 รายการ ความขัดแย้งใดสำคัญที่สุดที่ต้องแก้ไข

สรุป: ข้อกำหนดที่ขัดแย้งกัน

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

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

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

เริ่มต้นได้ฟรี

เรียนรู้ AI Prompt Engineering ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
53
บทเรียน
199

คำถามที่พบบ่อย

บทเรียน “ข้อกำหนดที่ขัดแย้งกัน” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “ข้อกำหนดที่ขัดแย้งกัน” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส AI Prompt Engineering ให้อัปเกรดเป็น CoddyKit PRO คอร์ส AI Prompt Engineering มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “ข้อกำหนดที่ขัดแย้งกัน”

ข้อจำกัดที่ขัดแย้งกันทำให้โมเดลสับสนและสร้างคำตอบแบบเผื่อทางเลือกได้อย่างไร คุณปฏิบัติ AI Prompt Engineering ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน AI Prompt Engineering หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน AI Prompt Engineering บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “ข้อกำหนดที่ขัดแย้งกัน” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน AI Prompt Engineering นี้ได้ไหม

ได้ บทเรียน AI Prompt Engineering ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. คำสั่งที่คลุมเครือเกินไป
  2. ข้อกำหนดที่ขัดแย้งกัน
  3. ข้อผิดพลาดจากบริบทที่ขาดหาย
  4. การวินิจฉัยและแก้ไขพรอมป์ตที่ไม่ดี
← กลับไปที่ AI Prompt Engineering