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