เนื้อหาบทเรียน
หน้าหลักโมดูล 3: Prompt Engineeringบทเรียน 3.5

Common Mistakes ที่ต้องเลี่ยง

รวมข้อผิดพลาดที่มือใหม่ทำบ่อยเวลาคุยกับ Claude Code พร้อมวิธีแก้ เพื่อให้คุณข้ามหลุมพวกนี้ไปได้เลย

0%
ความคืบหน้าคอร์ส
3.5 · Prompt Engineering

Common Mistakes ที่ต้องเลี่ยง

บทเรียนแบบอ่าน

เมื่อเรียนจบบทนี้ คุณจะ…

  • เข้าใจข้อผิดพลาดที่พบบ่อยในการใช้ Claude Code
  • ปรับปรุงคำสั่ง (prompt) ให้ Claude Code เข้าใจง่ายขึ้น
  • ตรวจสอบและแก้ไขโค้ดที่ได้จาก Claude Code ก่อนนำไปใช้

สั่งงานกว้างเกินไป: Claude เดาไม่ถูกนะ!

ลองนึกภาพว่าคุณสั่งเพื่อนว่า 'ช่วยทำให้ห้องดีขึ้นหน่อยสิ' เพื่อนคุณอาจจะงงว่าจะเริ่มจากตรงไหนดี จะจัดเตียง? กวาดพื้น? หรือทาสีใหม่? การสั่งงาน Claude Code ก็เหมือนกันครับ ถ้าเราสั่งกว้าง ๆ เช่น 'ช่วยเขียนโค้ดให้ดีขึ้น' Claude จะไม่รู้ว่า 'ดีขึ้น' ของเราหมายถึงอะไร อาจจะเพิ่มความเร็ว, ลดขนาดไฟล์, หรือทำให้โค้ดอ่านง่ายขึ้นกันแน่

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

  1. ระบุเป้าหมายให้ชัดเจน เช่น 'ช่วยปรับปรุงฟังก์ชัน calculate_total() ในไฟล์ orders.py ให้ทำงานเร็วขึ้น 20% โดยใช้เทคนิคการ caching'
  2. ให้ตัวอย่างที่ชัดเจน ถ้าเป็นไปได้ เช่น 'อยากให้โค้ดที่ได้มามีลักษณะคล้ายกับโค้ดในไลบรารี requests ที่เน้นความอ่านง่ายและมี docstring ที่ดี'
สั่งกว้าง = ผลลัพธ์กว้าง ไม่ตรงใจ

ลืมให้บริบท: Claude ไม่ใช่หมอดูนะ

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

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

  1. บอกว่าโค้ดนั้นใช้ทำอะไร อยู่ในส่วนไหนของโปรเจกต์ เช่น 'ผมกำลังพัฒนาแอปพลิเคชันจัดการสต็อกสินค้า และต้องการฟังก์ชันสำหรับคำนวณราคาโปรโมชัน'
  2. ให้ข้อมูลที่เกี่ยวข้อง เช่น 'ฟังก์ชันนี้จะต้องทำงานร่วมกับฐานข้อมูล PostgreSQL และต้องรองรับสินค้าที่มีหลายราคาตามขนาด'
บริบทช่วยให้ Claude เข้าใจภาพรวมและสร้างโค้ดที่ถูกต้อง

ไม่บอกวิธีตรวจผล: จะรู้ได้ไงว่าโค้ดใช้ได้?

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

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

  1. ระบุเงื่อนไขความสำเร็จ เช่น 'ฟังก์ชันนี้ต้องคืนค่าเป็นจำนวนเต็มบวกเสมอ และต้องใช้เวลาประมวลผลไม่เกิน 100 มิลลิวินาที'
  2. ให้ตัวอย่าง Input และ Output ที่คาดหวัง เช่น 'ถ้า Input เป็น [10, 20, 30] และส่วนลด 10% Output ที่คาดหวังคือ 54'
การทดสอบสำคัญเท่ากับการเขียนโค้ด

คุยยาวเกินไป: Claude อาจหลงประเด็นได้

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

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

  1. ถ้าประเด็นเปลี่ยนไปมาก หรือบทสนทนายาวมากแล้ว ให้พิจารณา 'เริ่มบทสนทนาใหม่' เพื่อให้ Claude ได้เริ่มต้นด้วยบริบทที่สดใหม่และตรงประเด็น
  2. หากต้องการสานต่อเรื่องเดิมแต่ไม่อยากเริ่มใหม่ทั้งหมด ให้ 'สรุปประเด็นสำคัญ' ที่ผ่านมาและสิ่งที่ต้องการให้ Claude ทำต่อไปในข้อความใหม่
เริ่มใหม่ถ้าประเด็นเปลี่ยน ช่วยให้ Claude โฟกัส

เชื่อโค้ด 100% โดยไม่ตรวจ: อย่าเพิ่งไว้ใจนะ!

Claude Code เป็นผู้ช่วยที่เก่งมาก แต่ก็เหมือนกับผู้ช่วยคนอื่น ๆ ที่บางครั้งก็อาจจะผิดพลาดได้ครับ การที่เราเชื่อโค้ดที่ Claude สร้างให้ 100% โดยไม่ตรวจสอบเลย เหมือนกับการซื้อของออนไลน์แล้วไม่ตรวจสภาพสินค้าก่อนใช้งาน ซึ่งอาจทำให้เราเจอข้อผิดพลาด หรือนำโค้ดที่ไม่ปลอดภัยไปใช้โดยไม่รู้ตัว

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

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

กฎทอง 3 ข้อ สู่การใช้งาน Claude Code อย่างมือโปร

จำง่าย ๆ เลยครับว่า ถ้าอยากได้งานดี ๆ จาก Claude Code ให้ยึด 3 กฎนี้ไว้เสมอ: 'เจาะจง' สิ่งที่ต้องการ, 'ให้บริบท' ที่เกี่ยวข้อง และ 'มีวิธีตรวจผล' ที่ชัดเจน กฎเหล่านี้จะช่วยให้ Claude เข้าใจคุณได้ดีขึ้น และส่งมอบผลลัพธ์ที่ตรงใจคุณ

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

เจาะจง + บริบท + ตรวจผล = งานดี
เคล็ดลับ: ถ้าผลออกมาไม่ดีบ่อยๆ ปัญหามักอยู่ที่ prompt กว้างหรือ context ไม่พอ ไม่ใช่ที่ Claude
สรุปบทนี้
  • เจาะจงเข้าไว้
  • ให้ context และวิธีตรวจผล
  • review ก่อน merge เสมอ