Để AI viết code mà không đọc kỹ là cách rẻ nhất để biết ý tưởng có đáng làm không. Và cũng là cách nhanh nhất để đưa lỗ hổng ra ngoài. Ranh giới nằm ở chỗ nào?
Tóm lại: hỏi "ai chịu hậu quả?" trước khi quyết định có đọc code hay không.
Lưu ý: số liệu về lỗ hổng do hãng bảo mật công bố, nên cần đọc thận trọng. Nhân vật Lan là ví dụ minh họa.
Mô tả bằng lời, để AI viết, chạy thử, hỏng thì nhờ AI sửa tiếp. Không đọc kỹ code. Từ này xuất hiện từ bài đăng của Andrej Karpathy khoảng đầu 2/2025.
AI viết, nhưng bạn xem xét, kiểm thử và giải thích được code. Theo Simon Willison, đó không phải vibe coding.
Chưa có dữ liệu thật, chưa có tiền, chưa có người phụ thuộc.
Bạn cần biết người ta có hiểu, có cần, vướng ở đâu.
Khi AI dựng khung trong vài giờ, thử nhiều hướng rồi mới chọn.
| Tình huống | Vì sao ổn |
|---|---|
| Kiểm chứng ý tưởng với 5 đến 10 người | Bỏ được sau tuần thử, mục tiêu là hiểu |
| Demo cho khách hoặc đồng đội | Cần thấy và chạm, không cần vững |
| Công cụ cá nhân | Chỉ bạn chịu hậu quả |
| Thử nhiều hướng giao diện | Rẻ hơn họp tranh luận |
| Học một ý tưởng mới | Xem AI làm rồi đọc lại phần hay |
| Tình huống | Vì sao nguy hiểm |
|---|---|
| Đăng nhập, phân quyền | Lỗi ở đây là lộ dữ liệu người khác |
| Dữ liệu cá nhân, nhạy cảm | Rò rỉ có hậu quả pháp lý và niềm tin |
| Thanh toán, hoàn tiền, số dư | Sai một dòng là mất tiền thật |
| Nhiều người dùng, chạy lâu | Lỗi nhỏ lặp thành lỗi lớn, không ai hiểu code |
| Nối với hệ thống công ty | Một lỗi có thể lan sang nơi khác |
Ứng dụng bị ảnh hưởng bởi CVE-2025-48757. Số do một hãng bên thứ ba công bố, nên chỉ là số tham khảo.
Một số ứng dụng do Lovable dựng thiếu hoặc yếu chính sách row level security, nên có bảng dữ liệu đọc được mà không cần đăng nhập. Nhà nghiên cứu báo cáo ngày 21/3/2025.
Phần chạy được thì thấy. Phần ai được đọc cái gì thì không hiện ra khi bấm thử.
| Giờ | Việc | Đầu ra |
|---|---|---|
| 8 | Hỏi vấn đề: ai gặp, làm gì, thành công là gì | Một trang giấy |
| 9 | Phác ba màn hình bằng tay, mô tả cho AI | Ba ảnh phác |
| 1 | Nhờ AI dựng khung với dữ liệu giả | Bản chạy trên máy |
| 1 | Thêm ca lạ: danh sách trống, tên dài, mất mạng | Bản đủ để cho xem |
| 1 | Cho 3 đến 5 người dùng thử, ghi chỗ vướng | Ghi chú phản hồi |
| 1 | Quyết định: bỏ, viết lại hay làm cứng | Một dòng quyết định |
Chỉ dữ liệu giả. Không đăng nhập, không tiền.
Hai trên năm người thử không hiểu chữ "nhóm".
Cả năm người muốn xem lịch trên điện thoại.
"PROTOTYPE, bỏ ngày 15/11". Đây là ví dụ minh họa, nhân vật dựng lại.
Viết lại phần lõi, giữ giao diện và bài học.
Giá trị của prototype là câu trả lời, không phải code.
Thử tài khoản khác xem được gì.
Mỗi bảng có giới hạn dòng. Thử không đăng nhập.
Mọi ô nhập được kiểm tra.
Khóa, mật khẩu không nằm trong code hay Git.
Đường chính và ca lạ, thất bại khi code sai.
Có thật và còn bảo trì.
Có sao lưu và đã thử khôi phục.
Ít nhất một người hiểu code.
Ghi ngày bỏ lên màn hình đầu tiên.
Không đưa dữ liệu thật của khách vào công cụ chưa rà.
Không nối với cơ sở dữ liệu, thanh toán, hệ thống công ty.
Thời gian làm việc thêm của 16 lập trình viên giàu kinh nghiệm khi dùng AI, dù họ tin mình nhanh hơn.
Gặp lời giải "gần đúng nhưng chưa đúng".
Nói gỡ lỗi code do AI viết mất nhiều thời gian hơn.
"Nhờ sửa rồi lại hỏng": dấu hiệu nên dừng và đọc code.
Giới hạn có thể đổi, nhưng câu hỏi "ai chịu hậu quả" vẫn đúng.
Mẫu nhỏ, công cụ đã đổi. Dùng như lời nhắc, không như phán quyết.
Thử ngay: viết ba câu về một vấn đề, dựng một màn hình bằng AI, tìm ba người xem trong cùng ngày.