Thiệt hại hơn 10.000 USD chỉ vì một sai sót của ChatGPT
Quá trình kiếm tiền 🛣️
- Bối cảnh: Bắt đầu triển khai kiếm tiền ở giai đoạn đầu của startup.
- Định giá: Đặt ở mức 40 USD/tháng theo lời khuyên của một group partner tại YC.
- Ngăn xếp công nghệ: Di chuyển từ NextJS sang Python/FastAPI. Đã tích hợp xong Stripe.
Nguyên nhân gây thiệt hại 10.000 USD 💰
- Sự cố phát sinh: Chức năng đăng ký bị lỗi vòng quay tải vô hạn.
- Cách phát hiện vấn đề: Sau 5 ngày phân tích vô số email và log, cuối cùng đã tìm ra lỗi.
- Nguyên nhân: Trong đoạn mã do ChatGPT tạo ra có lỗi ở cách tạo ID. Nó dùng một chuỗi ID cố định, dẫn đến xung đột ID.
Săn lỗi 🐛
- Mô tả vấn đề: Việc dùng chuỗi ID cố định gây ra xung đột ID. Do nhiều instance chạy trên AWS ECS nên ban ngày không có vấn đề, nhưng ban đêm thì xung đột xảy ra.
- Cách khắc phục: Dùng hàm tạo UUID thay cho ID cố định. Sau khi sửa, hệ thống đã ổn định.
Kết luận 🤖
- Bài học: Thừa nhận những sai lầm như thiếu kiểm thử, sao chép-dán mã, và commit thẳng lên nhánh chính.
- Trải nghiệm: Dù là một trải nghiệm đau đớn, đây vẫn là khoảnh khắc quan trọng của startup.
Ý kiến của GN⁺
- Tầm quan trọng của kiểm thử: Cần có đủ kiểm thử đơn vị và kiểm thử tích hợp.
- Code review: Thay vì sao chép-dán mã, việc review và xác minh mã là rất quan trọng.
- Chiến lược triển khai: Thay vì commit trực tiếp lên nhánh chính, nên dùng nhánh riêng và đi qua quy trình code review.
- Năng lực giải quyết vấn đề: Khả năng nhanh chóng xác định và xử lý vấn đề là rất quan trọng.
- Lựa chọn ngăn xếp công nghệ: Việc thay đổi ngăn xếp công nghệ cần được lên kế hoạch cẩn thận và kiểm thử kỹ.
2 bình luận
Ủa, code được AI tự động tạo ra thì nhất định phải review chứ, sao lại dùng nguyên xi như vậy.
Ý kiến trên Hacker News
Mỗi ý kiến đưa ra một góc nhìn khác nhau về các vấn đề có thể phát sinh trong quá trình phát triển phần mềm và cách giải quyết chúng. Điều này có thể mang lại những insight hữu ích cho các kỹ sư phần mềm mới vào nghề.