0Pricing
AI Prompt Engineering · บทเรียน

การวินิจฉัยและแก้ไขพรอมป์ตที่ไม่ดี

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

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

แนวคิดในการแก้ไขข้อบกพร่อง

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

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

รายการตรวจสอบการแก้ไขข้อบกพร่องของพรอมต์

เมื่อพรอมต์ทำงานล้มเหลว ให้ตรวจสอบรายการห้ามิติต่อไปนี้อย่างเป็นระบบ:

  1. ความเฉพาะเจาะจง — พรอมต์กำกวมเกินไปหรือไม่ งานนี้ต้องการคำจำกัดความที่แม่นยำกว่านี้หรือไม่
  2. บริบท — ข้อมูลพื้นฐานที่โมเดลจำเป็นต้องใช้ขาดหายไปหรือไม่
  3. รูปแบบ — ระบุรูปแบบและความยาวของผลลัพธ์ที่ต้องการไว้หรือไม่
  4. ข้อจำกัด — ระบุข้อจำกัดไว้อย่างชัดเจนหรือไม่ มีข้อใดขัดแย้งกันหรือไม่
  5. ตัวอย่าง — การยกตัวอย่างผลลัพธ์ที่ดีจะช่วยขจัดความกำกวมได้หรือไม่

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

มิติที่ 1: ตรวจสอบความเฉพาะเจาะจง

ความล้มเหลวด้านความเฉพาะเจาะจงทำให้เกิด: หัวข้อผิด มุมมองผิด ระดับผู้ชมผิด และขาดประเด็นสำคัญของงาน

คำถามเพื่อวินิจฉัย:

  • คนแปลกหน้าที่ฉลาดอาจตีความพรอมต์นี้แตกต่างจากความตั้งใจของฉันหรือไม่
  • มีคำกำกวม (ดี, ดีกว่า, เหมาะสม, เป็นมืออาชีพ) ที่ควรเปลี่ยนหรือไม่
  • ระบุประเภทงานไว้หรือไม่ (บทความ? อีเมล? บทสรุป? การวิเคราะห์?)
  • กำหนดผู้ชมไว้อย่างแม่นยำเพียงพอหรือไม่

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

มิติที่ 2: ตรวจสอบบริบท

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

คำถามเพื่อวินิจฉัย:

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

วิธีแก้ไข: เพิ่มส่วนภูมิหลังก่อนคำสั่งงาน วางโค้ดหรือเนื้อหาที่เกี่ยวข้องลงในพรอมต์โดยตรง

มิติที่ 3: ตรวจสอบรูปแบบ

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

คำถามเพื่อวินิจฉัย:

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

วิธีแก้ไข: เพิ่มคำสั่งเกี่ยวกับรูปแบบอย่างชัดเจน ใช้รูปแบบดังนี้: "รูปแบบ: [โครงสร้าง] ความยาว: [เป้าหมาย] ส่วนต่าง ๆ: [รายการ]" สำหรับรูปแบบที่ซับซ้อน ให้จัดทำแม่แบบที่มีข้อความตัวแทนซึ่งโมเดลควรเติมให้สมบูรณ์

มิติที่ 4: ตรวจสอบข้อจำกัด

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

คำถามเพื่อวินิจฉัย:

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

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

มิติที่ 5: ตรวจสอบตัวอย่าง

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

คำถามเพื่อวินิจฉัย:

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

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

กระบวนการแก้ไขข้อบกพร่องของพรอมต์

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

def diagnose_prompt(original_prompt, failed_output, problem_description):
    '''
    Use a second LLM call to diagnose why a prompt produced a bad output.
    Returns a diagnosis and an improved prompt.
    '''
    import openai
    client = openai.OpenAI(api_key='sk-...')

    diagnosis_prompt = f'''You are a prompt engineering expert.

A user ran this prompt:
---PROMPT---
{original_prompt}
---END PROMPT---

It produced this output (which was unsatisfactory):
---OUTPUT---
{failed_output[:500]}...
---END OUTPUT---

The problem the user identified: {problem_description}

Diagnose the prompt failure using this framework:
1. Specificity: Is anything too vague?
2. Context: What background information is missing?
3. Format: Is the desired format/length unclear?
4. Constraints: Are there missing or conflicting constraints?
5. Examples: Would an example help?

Then write an improved version of the prompt that addresses the root cause.
Format: Diagnosis: [analysis] || Improved prompt: [new prompt]'''

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

สาเหตุที่แท้จริงกับอาการ

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

อาการ: ผลลัพธ์ทั่วไปเกินไป

วิธีแก้อาการ: เพิ่ม "โปรดระบุให้เฉพาะเจาะจงกว่านี้" ลงในพรอมต์

สาเหตุที่แท้จริง: ไม่ได้กำหนดผู้ชมไว้ โมเดลจึงเลือกใช้ผู้ชมทั่วไปเป็นค่าเริ่มต้น

วิธีแก้สาเหตุที่แท้จริง: เพิ่มข้อกำหนดเกี่ยวกับผู้ชมที่แม่นยำ

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

การเก็บบันทึกความล้มเหลวของพรอมต์

สำหรับประเภทงานที่เกิดขึ้นซ้ำ การเก็บบันทึกความล้มเหลวของพรอมต์ช่วยเร่งการพัฒนาได้เมื่อเวลาผ่านไป แต่ละรายการจะบันทึกสิ่งต่อไปนี้:

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

หลังจากมีรายการ 10-20 รายการ รูปแบบต่าง ๆ จะเริ่มปรากฏขึ้น คุณอาจพบว่าสาเหตุที่แท้จริงเดียวกัน (เช่น ขาดบริบทเกี่ยวกับผู้ชม) เป็นสาเหตุของความล้มเหลว 60% ในหมวดหมู่หนึ่ง แก้ไขสาเหตุนั้นในแม่แบบ แล้วรูปแบบดังกล่าวจะหายไป

แม่แบบพรอมต์ที่ปรับปรุงแล้ว

พรอมต์ที่มีโครงสร้างดีส่วนใหญ่ใช้แม่แบบที่สอดคล้องกัน โดยจัดการกับทั้งห้ามิติของการแก้ไขข้อบกพร่องไว้ล่วงหน้า:

ROBUST_PROMPT_TEMPLATE = '''
## Role
[Who the model should act as — establishes expertise level and perspective]

## Context
[Background the model needs: company, audience, product, prior decisions, constraints]

## Task
[Specific, precise description of what to produce]

## Format
[Output structure: bullet points / prose / numbered list / table]
[Length: word count or sentence count]
[Required sections: list them if the output needs specific sections]

## Constraints
[What to include: required elements]
[What to exclude: off-limits content or approaches]
[Priority: if constraints conflict, X takes priority over Y]

## Example
[One example of good output for this task type — optional but powerful]
'''

print(ROBUST_PROMPT_TEMPLATE)

ตรวจความรู้: การแก้ไขข้อบกพร่องของพรอมต์

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

ทบทวน: การวินิจฉัยและแก้ไขพรอมต์ที่มีปัญหา

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

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

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

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

บทเรียน “การวินิจฉัยและแก้ไขพรอมป์ตที่ไม่ดี” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การวินิจฉัยและแก้ไขพรอมป์ตที่ไม่ดี” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ 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 ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน

บทเรียน “การวินิจฉัยและแก้ไขพรอมป์ตที่ไม่ดี” ใช้เวลานานแค่ไหน

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

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

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

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

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