ให้ Claude Code แก้บั๊กโดยไม่กระทบส่วนอื่นอย่างไร? ใช้ Prompt แบบกำหนดขอบเขต

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

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

เตรียมข้อมูลก่อนสั่งแก้บั๊ก

ก่อนเริ่ม ให้รวบรวมข้อมูลที่ช่วยให้ Claude Code ทำความเข้าใจปัญหาได้ตรงขึ้น เช่น

  • อาการที่พบ และสิ่งที่คาดหวังให้เกิด
  • ขั้นตอนทำให้เกิดบั๊กซ้ำ
  • ข้อความ Error หรือภาพหน้าจอ ถ้ามี
  • ไฟล์หรือส่วนของระบบที่สงสัยว่าเกี่ยวข้อง
  • ข้อจำกัด เช่น ต้องคงชื่อฟังก์ชันหรือรูปแบบ API เดิม

ถ้าใช้ Git ให้ตรวจสอบสถานะโปรเจกต์ก่อนเริ่มด้วยคำสั่ง git status เพื่อดูว่ามีงานที่แก้ค้างอยู่หรือไม่ การแยกทำงานใน branch สำหรับแก้บั๊กช่วยให้ตรวจและย้อนการเปลี่ยนแปลงได้สะดวกขึ้น

ขั้นตอนให้ Claude Code แก้บั๊กแบบจำกัดขอบเขต

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

② ขอให้ตรวจสอบก่อนแก้ไฟล์
ให้ Claude Code อ่านไฟล์ที่เกี่ยวข้อง วิเคราะห์สาเหตุ และเสนอแผนสั้น ๆ ก่อน การเริ่มจากการสำรวจช่วยลดโอกาสแก้ผิดจุด

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

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

⑤ ตรวจ Diff ก่อนยอมรับ
ใช้ /diff ใน Claude Code หรือคำสั่ง git diff เพื่อตรวจว่าเปลี่ยนไฟล์ใดและแก้บรรทัดไหน จากนั้นดูผลทดสอบและสถานะ Git ก่อนนำการเปลี่ยนแปลงไปใช้ต่อ

Prompt ตัวอย่างสำหรับแก้บั๊กโดยไม่แก้ส่วนอื่น

คัดลอก Prompt นี้แล้วแทนข้อมูลในวงเล็บให้ตรงกับโปรเจกต์ของคุณ

ช่วยตรวจสอบบั๊กในโปรเจกต์นี้

อาการที่พบ: [อธิบายอาการ]
ผลลัพธ์ที่เกิดขึ้นจริง: [ระบุสิ่งที่เกิด]
ผลลัพธ์ที่ต้องการ: [ระบุสิ่งที่ควรเกิด]
ขั้นตอนทำให้เกิดปัญหา: [เขียนเป็นลำดับ]
ข้อความ Error: [วางข้อความ Error ถ้ามี]

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

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

หลังจากฉันยืนยันแผนแล้ว ให้แก้ไขและรันทดสอบที่เกี่ยวข้อง สรุปไฟล์ที่เปลี่ยน เหตุผลของแต่ละการเปลี่ยนแปลง และผลทดสอบ ห้าม commit

การระบุว่า “ก่อนแก้ไฟล์ ให้ตรวจสอบและเสนอแผน” ช่วยให้ผู้ใช้ ComSiam มีจังหวะตรวจแนวทางก่อนให้ลงมือ ส่วนข้อห้ามควรเขียนให้เฉพาะเจาะจง เช่น ระบุว่าไฟล์ใดไม่ควรแตะ แทนการสั่งกว้าง ๆ ว่า “อย่าทำให้ส่วนอื่นพัง”

วิธีตรวจว่าแก้เฉพาะจุดหรือไม่

หลัง Claude Code ทำงานเสร็จ ให้ตรวจประเด็นเหล่านี้ก่อนรับโค้ด

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

ถ้าพบการเปลี่ยนแปลงที่ไม่เข้าใจ ให้ถาม Claude Code ว่าแต่ละส่วนจำเป็นต่อการแก้บั๊กอย่างไร หากไม่จำเป็น ให้ขอให้ย้อนส่วนนั้นและคงไว้เฉพาะการแก้ที่เกี่ยวข้อง

ข้อควรระวังในการใช้ Claude Code แก้บั๊ก

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

สรุป

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