ความเสียหาย $10,000+ จากความผิดพลาดของ ChatGPT เพียงครั้งเดียว
กระบวนการสร้างรายได้ 🛣️
- เบื้องหลัง: เริ่มสร้างรายได้ในช่วงเริ่มต้นของสตาร์ตอัป
- การตั้งราคา: ตั้งราคาไว้ที่ $40 ต่อเดือนตามคำแนะนำของ Group Partner จาก YC
- เทคสแตก: ย้ายจาก NextJS ไปเป็น Python/FastAPI และเชื่อมต่อ Stripe เสร็จเรียบร้อย
สาเหตุของการสูญเสีย $10,000 💰
- ปัญหาที่เกิดขึ้น: ฟังก์ชันสมัครสมาชิกมีปัญหาสปินเนอร์โหลดไม่สิ้นสุด
- การแก้ปัญหา: ใช้เวลา 5 วันวิเคราะห์อีเมลและล็อกจำนวนมาก ก่อนจะพบปัญหา
- สาเหตุ: โค้ดที่ ChatGPT สร้างมีข้อผิดพลาดในวิธีสร้าง ID โดยใช้สตริง ID แบบตายตัว ทำให้เกิดการชนกันของ ID
จับบั๊ก 🐛
- คำอธิบายปัญหา: การใช้สตริง ID แบบตายตัวทำให้เกิดการชนกันของ ID เมื่อมีหลายอินสแตนซ์รันอยู่บน AWS ECS กลางวันจึงไม่ค่อยมีปัญหา แต่ตอนกลางคืนเกิดการชนกัน
- วิธีแก้: เปลี่ยนจาก ID แบบตายตัวไปใช้ฟังก์ชันสร้าง UUID หลังแก้ไขแล้วระบบกลับมานิ่ง
บทสรุป 🤖
- บทเรียน: ยอมรับความผิดพลาดเรื่องการทดสอบที่ไม่เพียงพอ การคัดลอกและวางโค้ด และการคอมมิตเข้าเมนบรานช์โดยตรง
- ประสบการณ์: แม้จะเป็นประสบการณ์ที่เจ็บปวด แต่ก็ถูกจดจำว่าเป็นช่วงเวลาสำคัญของสตาร์ตอัป
ความเห็นของ GN⁺
- ความสำคัญของการทดสอบ: จำเป็นต้องมีทั้ง unit test และ integration test ที่เพียงพอ
- การรีวิวโค้ด: แทนที่จะคัดลอกและวางโค้ด ควรให้ความสำคัญกับการรีวิวและตรวจสอบโค้ด
- กลยุทธ์การดีพลอย: แทนที่จะคอมมิตเข้าเมนบรานช์โดยตรง ควรใช้บรานช์แยกและผ่านการรีวิวโค้ดก่อน
- ความสามารถในการแก้ปัญหา: ความสามารถในการระบุและแก้ปัญหาได้อย่างรวดเร็วเป็นสิ่งสำคัญ
- การเลือกเทคสแตก: การเปลี่ยนเทคสแตกควรวางแผนและทดสอบอย่างรอบคอบ
2 ความคิดเห็น
เอ๊ะ โค้ดที่ AI สร้างขึ้นมาแบบอัตโนมัติต้องรีวิวก่อนอยู่แล้วสิ ทำไมถึงเอาไปใช้ทั้งอย่างนั้นเลยล่ะ
ความเห็นจาก Hacker News
แต่ละความเห็นนำเสนอมุมมองที่หลากหลายเกี่ยวกับปัญหาที่อาจเกิดขึ้นในกระบวนการพัฒนาซอฟต์แวร์และวิธีแก้ไข ซึ่งอาจให้ข้อคิดที่เป็นประโยชน์กับวิศวกรซอฟต์แวร์ระดับเริ่มต้นได้