สรุปและฝึกฝน
ประเด็นสำคัญ
- บั๊กคือช่องว่างระหว่างสิ่งที่คุณคาดหวังกับสิ่งที่เกิดขึ้น — ให้ AI เห็นทั้งสองด้านพร้อมขั้นตอนที่ชัดเจน อย่าพูดแค่ "มันพัง"
- วางข้อความข้อผิดพลาดแบบคำต่อคำและส่วนบนสุดของ stack trace บรรทัดแรกที่ชี้ไปที่ ไฟล์ของคุณเอง มักจะเป็นจุดที่ควรเริ่มมองหาเสมอ
- ยืนยันก่อนที่จะเปลี่ยนแปลง: เพิ่มบรรทัด log ที่มีป้ายกำกับเพื่อทดสอบสมมติฐาน และใช้การ bisect (ในโค้ดหรือประวัติคอมมิต) เพื่อลดพื้นที่ค้นหาลงครึ่งหนึ่งในแต่ละขั้นตอน
- แก้ที่สาเหตุที่แท้จริง ไม่ใช่แค่อาการ — การ์ดหรือ try/catch ที่แค่หยุดการล่มมักจะกลบปัญหาที่แท้จริงไว้
- เมื่อ AI วนเวียน ให้รีเซ็ตบริบทกลับไปยังสิ่งที่คุณ รู้แน่ชัด ขอให้มันอธิบายแทนที่จะแก้ และเพิ่มหลักฐานแทนการเดา
ลองทำดู
ครั้งต่อไปที่มีอะไรพัง ให้เขียนรายงานบั๊ก ก่อน ที่จะขอทางแก้ ในแชทใหม่ ให้ข้อมูลสามอย่างแก่ AI: ขั้นตอนที่ทำให้เกิดซ้ำ สิ่งที่คุณคาดหวัง และสิ่งที่เกิดขึ้นจริง — พร้อมข้อผิดพลาดที่คัดลอกมาแบบคำต่อคำและเฟรมบนสุดของ stack ที่แนบมาด้วย จากนั้น แทนที่จะถามว่า "แก้เลย" ให้ขอสมมติฐานและวิธียืนยันแบบประหยัด (มักจะเป็นบรรทัด log) รันการตรวจสอบนั้น วางผลลัพธ์กลับมา แล้วจึงค่อยให้ AI เสนอทางแก้ สังเกตดูว่าเส้นทางตรงกว่า "มันใช้ไม่ได้ ช่วยด้วย" มากแค่ไหน
I have a bug. Before suggesting any fix, give me a hypothesis and a cheap way
to confirm it (such as a log line) — don't edit code yet.
Steps to reproduce: [what you did]
Expected: [what should have happened]
Actual: [what happened]
Full error and stack trace:
[paste verbatim]
Relevant code:
[paste the function that failed, plus anything it calls]
What could be causing this, and what should I log to confirm it before we change anything?