Claude Code ช่วยดีบั๊กอัลกอริธึมเข้ารหัสระดับล่างได้จริง! เรื่องจริงจากนักพัฒนา Go.

Filippo Valsorda นักพัฒนาและผู้ดูแลโครงการโอเพ่นซอร์สด้านความปลอดภัย ได้แชร์ประสบการณ์สุดทึ่งว่า Claude Code สามารถช่วยเขาดีบั๊กอัลกอริธึมเข้ารหัส ML-DSA ที่เขาเพิ่งเขียนในภาษา Go ได้อย่างแม่นยำและรวดเร็ว โดยที่เขาเองยังไม่คาดคิดว่าจะได้ผลลัพธ์ขนาดนี้!

เขาเริ่มต้นด้วยการเขียน ML-DSA ซึ่งเป็นอัลกอริธึมลายเซ็นหลังยุคควอนตัมที่ NIST เพิ่งประกาศเมื่อปีที่แล้ว แต่เมื่อรันการตรวจสอบลายเซ็นกลับพบว่า “Verify” ล้มเหลวทุกครั้ง แม้จะใช้ test vector ที่ถูกต้องก็ตาม หลังจากพยายามดีบั๊กเองแล้วไม่สำเร็จ เขาจึงลองให้ Claude Code วิเคราะห์ดู — และมันสามารถระบุบั๊กที่ซับซ้อนในระดับ low-level ได้ภายในไม่กี่นาที!

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

Claude Code ตรวจพบบั๊กใน ML-DSA ได้อย่างแม่นยำ
ระบุว่า “w1” ถูกเข้ารหัสซ้ำซ้อนในขั้นตอน Verify ทำให้ลายเซ็นไม่ผ่าน

Claude เขียน test ย่อยเพื่อยืนยันสมมติฐานของตัวเอง
แม้โค้ดแก้ไขจะไม่สมบูรณ์ แต่ช่วยชี้จุดบั๊กได้ตรงเป้า

Claude ยังช่วยดีบั๊กบั๊กอื่นในขั้นตอน signing ได้อีก
เช่น ค่าคงที่ใน Montgomery domain ที่ผิด และการเข้ารหัสค่าที่สั้นเกินไป

Claude ใช้เทคนิค printf debugging เหมือนนักพัฒนามืออาชีพ
วิเคราะห์ค่าที่ผิดและเสนอแนวทางแก้ไขได้ใกล้เคียงกับมนุษย์

Claude ทำงานแบบ one-shot ได้ดี
ไม่ต้องใช้ context หรือคำสั่งพิเศษมากมาย ก็สามารถหาบั๊กได้ทันที

Claude ไม่จำเป็นต้อง “เชื่อถือ” เหมือนมนุษย์
ใช้เพื่อชี้จุดบั๊ก แล้วให้มนุษย์ตัดสินใจแก้ไขเองได้อย่างปลอดภัย

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

ไม่ควรใช้ Claude เพื่อแก้โค้ดโดยตรงในระบบโปรดักชัน
ควรใช้เพื่อชี้จุดบั๊ก แล้วให้มนุษย์ refactor หรือแก้ไขอย่างเหมาะสม

Claude อาจหยุดหลังแก้บั๊กแรก แม้ยังมีบั๊กอื่นอยู่
ต้องเริ่ม session ใหม่เพื่อให้มันวิเคราะห์บั๊กถัดไปได้อย่างมีประสิทธิภาพ

https://words.filippo.io/claude-debugging/
🧪 Claude Code ช่วยดีบั๊กอัลกอริธึมเข้ารหัสระดับล่างได้จริง! เรื่องจริงจากนักพัฒนา Go. Filippo Valsorda นักพัฒนาและผู้ดูแลโครงการโอเพ่นซอร์สด้านความปลอดภัย ได้แชร์ประสบการณ์สุดทึ่งว่า Claude Code สามารถช่วยเขาดีบั๊กอัลกอริธึมเข้ารหัส ML-DSA ที่เขาเพิ่งเขียนในภาษา Go ได้อย่างแม่นยำและรวดเร็ว โดยที่เขาเองยังไม่คาดคิดว่าจะได้ผลลัพธ์ขนาดนี้! เขาเริ่มต้นด้วยการเขียน ML-DSA ซึ่งเป็นอัลกอริธึมลายเซ็นหลังยุคควอนตัมที่ NIST เพิ่งประกาศเมื่อปีที่แล้ว แต่เมื่อรันการตรวจสอบลายเซ็นกลับพบว่า “Verify” ล้มเหลวทุกครั้ง แม้จะใช้ test vector ที่ถูกต้องก็ตาม หลังจากพยายามดีบั๊กเองแล้วไม่สำเร็จ เขาจึงลองให้ Claude Code วิเคราะห์ดู — และมันสามารถระบุบั๊กที่ซับซ้อนในระดับ low-level ได้ภายในไม่กี่นาที! บทความนี้พิสูจน์ว่า AI agent อย่าง Claude Code ไม่ใช่แค่เครื่องมือช่วยเขียนโค้ด แต่สามารถเป็น “ผู้ช่วยดีบั๊ก” ที่ทรงพลังในงานระดับล่างที่ซับซ้อน โดยเฉพาะในโลกของคริปโตกราฟีที่ต้องการความแม่นยำสูงสุด 🔐 ✅ Claude Code ตรวจพบบั๊กใน ML-DSA ได้อย่างแม่นยำ ➡️ ระบุว่า “w1” ถูกเข้ารหัสซ้ำซ้อนในขั้นตอน Verify ทำให้ลายเซ็นไม่ผ่าน ✅ Claude เขียน test ย่อยเพื่อยืนยันสมมติฐานของตัวเอง ➡️ แม้โค้ดแก้ไขจะไม่สมบูรณ์ แต่ช่วยชี้จุดบั๊กได้ตรงเป้า ✅ Claude ยังช่วยดีบั๊กบั๊กอื่นในขั้นตอน signing ได้อีก ➡️ เช่น ค่าคงที่ใน Montgomery domain ที่ผิด และการเข้ารหัสค่าที่สั้นเกินไป ✅ Claude ใช้เทคนิค printf debugging เหมือนนักพัฒนามืออาชีพ ➡️ วิเคราะห์ค่าที่ผิดและเสนอแนวทางแก้ไขได้ใกล้เคียงกับมนุษย์ ✅ Claude ทำงานแบบ one-shot ได้ดี ➡️ ไม่ต้องใช้ context หรือคำสั่งพิเศษมากมาย ก็สามารถหาบั๊กได้ทันที ✅ Claude ไม่จำเป็นต้อง “เชื่อถือ” เหมือนมนุษย์ ➡️ ใช้เพื่อชี้จุดบั๊ก แล้วให้มนุษย์ตัดสินใจแก้ไขเองได้อย่างปลอดภัย ‼️ Claude อาจไม่เหมาะกับบั๊กที่มีผลลัพธ์สุ่มหรือดูไม่เป็นระเบียบ ⛔ เช่น บั๊กที่ทำให้ลายเซ็นมีขนาดผิด Claude ใช้เวลานานกว่าจะเข้าใจ ‼️ ไม่ควรใช้ Claude เพื่อแก้โค้ดโดยตรงในระบบโปรดักชัน ⛔ ควรใช้เพื่อชี้จุดบั๊ก แล้วให้มนุษย์ refactor หรือแก้ไขอย่างเหมาะสม ‼️ Claude อาจหยุดหลังแก้บั๊กแรก แม้ยังมีบั๊กอื่นอยู่ ⛔ ต้องเริ่ม session ใหม่เพื่อให้มันวิเคราะห์บั๊กถัดไปได้อย่างมีประสิทธิภาพ https://words.filippo.io/claude-debugging/
WORDS.FILIPPO.IO
Claude Code Can Debug Low-level Cryptography
Surprisingly (to me) Claude Code debugged my new ML-DSA implementation faster than I would have, finding the non-obvious low-level issue that was making Verify fail.
0 Comments 0 Shares 36 Views 0 Reviews