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

ข้อผิดพลาดจากบริบทที่ขาดหาย

พรอมป์ตที่ตั้งสมมติฐานว่าโมเดลมีความรู้ซึ่งจริง ๆ แล้วไม่มี

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

ช่องว่างด้านบริบท

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

"แก้ข้อผิดพลาด" — ข้อผิดพลาดอะไร อยู่ในโค้ดใด ตอนนี้โค้ดทำอะไร และควรทำอะไรแทน

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

บริบทที่โมเดลไม่มี

หากคุณไม่ให้ข้อมูล โมเดลจะไม่รู้:

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

ทุกสิ่งที่โมเดลรู้เกี่ยวกับงานของคุณต้องมาจากบทสนทนาปัจจุบัน

รูปแบบที่ควรหลีกเลี่ยง: "แก้ข้อผิดพลาด"

"แก้ข้อผิดพลาด" เป็นพรอมต์ที่ขาดบริบทอย่างชัดเจน โมเดลไม่ได้รับข้อมูลเกี่ยวกับ:

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

พรอมต์แก้ไขข้อผิดพลาดที่สมบูรณ์ต้องให้ข้อมูลทั้งห้าส่วน: "ฟังก์ชันไพทอนนี้ควรคืนค่าผลรวมของจำนวนคู่ทั้งหมดในรายการ แต่กลับคืนค่า 0 สำหรับ [2,4,6] นี่คือโค้ด: [วางโค้ด] ข้อผิดพลาดคือ..."

ความเข้าใจผิดเรื่องหน่วยความจำ

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

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

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

สมมติว่า "คุณก็รู้ว่าฉันหมายถึงอะไร"

ข้อผิดพลาดด้านบริบทที่พบบ่อยคือการสมมติว่าโมเดลมีความรู้พื้นฐานโดยนัยร่วมกับคุณ:

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

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

การใส่บริบท: วิธีแก้

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

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

อธิบายสถานการณ์: สรุปข้อมูลพื้นฐานที่เกี่ยวข้องเป็น 2–5 ประโยคก่อนคำสั่งงาน

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

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

การใส่บริบทอย่างมีโครงสร้าง

สำหรับงานที่ซับซ้อน ให้จัดโครงสร้างบริบทโดยใช้ส่วนที่มีป้ายกำกับก่อนคำสั่งงาน:

context_injection_prompt = '''## Background
We are a B2B SaaS company selling project management software to construction firms.
Our customers are project managers with 5-15 years of experience.
They value practical reliability over flashy features.
Our tone is professional, direct, and jargon-free (no tech startup buzzwords).

## Current situation
We are launching a new mobile app feature that sends automated daily digests.
The beta test with 12 customers showed 83% said it saved them at least 30 minutes per week.

## Task
Write a 200-word announcement email to our existing customers about this new feature.
Tone: warm, practical, results-focused.
Include the 83% / 30-minute stat.
End with a CTA to try the feature.
Do not mention competitor products.'''

print(context_injection_prompt)

ปรับระดับความลึกของบริบท

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

ปรับระดับความลึกของบริบทโดยถามว่า: ผู้เชี่ยวชาญที่รอบคอบจะต้องรู้อะไรบ้างจึงจะทำงานนี้ได้ดี

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

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

บริบทข้ามบทสนทนา: การสร้างข้อมูลตั้งต้นด้านบริบท

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

CONTEXT_PRIMER = '''## Project context (paste at start of every session)
Project: Redesign of the Acme Corp customer onboarding flow
Team: 2 designers, 1 PM, 3 engineers
Stack: React, TypeScript, Supabase, Stripe
Current problem: 40% of new users drop off before completing step 3 of 5 in onboarding
Previous decisions:
  - Step 3 will remain (required for compliance)
  - No major UI changes until Q3
  - All solutions must work on mobile-first
Constraints: No new third-party dependencies without security review

Today I need help with: [describe today's specific task here]
'''

print(CONTEXT_PRIMER)

ปัญหาข้อกำหนดไม่สมบูรณ์

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

ตัวอย่าง: "เขียนฟังก์ชันที่กรองผู้ใช้ตามสถานะการสมัครใช้งาน"

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

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

บริบทสำหรับงานโค้ด: ชุดข้อมูลขั้นต่ำ

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

  • ภาษาและรุ่น: ไพทอน 3.11, TypeScript 5.0
  • เฟรมเวิร์ก: FastAPI, Next.js, รีแอ็กต์ เนทีฟ
  • สิ่งที่โค้ดควรทำ: ข้อมูลป้อนเข้าและผลลัพธ์ที่คาดหวัง
  • สิ่งที่โค้ดทำผิดในปัจจุบัน: อาการและข้อความข้อผิดพลาด
  • สิ่งที่ลองทำไปแล้ว: ช่วยหลีกเลี่ยงการทำซ้ำแนวทางที่ล้มเหลวไปแล้ว
  • ข้อจำกัด: ห้ามใช้ส่วนพึ่งพาภายนอก และต้องทำงานเสร็จภายใน 50 มิลลิวินาที

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

ตรวจสอบความรู้: บริบทที่ขาดหายไป

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

สรุป: ข้อผิดพลาดจากบริบทที่ขาดหายไป

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

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

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

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

บทเรียน “ข้อผิดพลาดจากบริบทที่ขาดหาย” ฟรีหรือไม่

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

บทเรียน “ข้อผิดพลาดจากบริบทที่ขาดหาย” ใช้เวลานานแค่ไหน

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

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

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

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

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