Vibe coding là cách làm phần mềm trong đó người làm chủ yếu mô tả bằng lời điều mình muốn, để AI viết gần như toàn bộ mã, rồi chạy thử và góp ý tiếp mà ít khi đọc kỹ mã bên trong. Thuật ngữ này phổ biến từ đầu năm 2025, ban đầu được dùng nửa đùa nửa thật để tả cảm giác "cứ nói theo cảm hứng, máy lo phần còn lại".
Cách làm này mở cửa cho rất nhiều người không chuyên tự làm công cụ nhỏ, và cũng giúp lập trình viên thử ý tưởng nhanh. Nhưng nó có giới hạn rõ, và vượt giới hạn đó là nơi những rủi ro về dữ liệu, tiền bạc và bảo mật xuất hiện. Bài này giải thích vibe coding hợp với việc gì, không hợp với việc gì, và cách làm có kiểm soát cho người không chuyên.
Hiểu đúng vibe coding: khác gì lập trình có trợ lý AI
Ở đầu này là lập trình viên dùng trợ lý AI: họ để AI gợi ý hoặc viết từng đoạn, nhưng đọc từng dòng, hiểu từng dòng, chịu trách nhiệm về từng dòng. Ở đầu kia là vibe coding đúng nghĩa: người làm không đọc mã, chỉ nhìn kết quả chạy ra. Thấy nút bấm không hoạt động thì nói với AI "nút này bấm không ăn", AI sửa, chạy lại, cứ thế tới khi được.
Phần lớn mọi người ở đâu đó giữa hai đầu. Người không chuyên thường ở gần đầu vibe coding vì họ không đọc được mã. Lập trình viên đôi khi cố ý chuyển sang chế độ này cho việc thử nghiệm vứt đi. Hiểu mình đang ở đâu trên trục này quan trọng, vì nó quyết định mức rủi ro bạn đang chấp nhận.
Điểm cốt lõi: khi không đọc mã, bạn chỉ biết phần mềm làm đúng ở những gì bạn đã thử. Những gì chưa thử, như đầu vào lạ, nhiều người dùng cùng lúc, ai đó cố tình phá, bạn hoàn toàn không biết. Với công cụ cá nhân chạy trên máy mình, điều đó chấp nhận được. Với thứ chạm tới tiền, dữ liệu người khác hay chạy trên mạng công khai, thì không.
Vibe coding hợp với việc gì
Những loại việc dưới đây có chung đặc điểm: hỏng thì thiệt hại nhỏ, chỉ mình bạn dùng, và bạn kiểm được kết quả bằng mắt.
- Công cụ cá nhân chạy trên máy mình: đổi tên hàng loạt ảnh, gộp nhiều tệp, chuyển định dạng, tính toán lặp lại theo công thức bạn tự kiểm được.
- Nguyên mẫu để trình bày ý tưởng: một giao diện bấm được để cho đồng nghiệp hay nhà đầu tư xem ý tưởng trông thế nào, không lưu dữ liệu thật.
- Trang tĩnh đơn giản: trang giới thiệu một sự kiện, một hồ sơ cá nhân, không có biểu mẫu thu thông tin.
- Trò chơi nhỏ, bài tập vui: trò chơi đoán số cho con, bộ thẻ ôn từ vựng, không có tài khoản và không có tiền.
- Thử nghiệm của lập trình viên: kiểm nhanh xem một thư viện có làm được việc không trước khi đưa vào dự án thật, sau đó vứt đi và viết lại cẩn thận.
Trong các trường hợp này, vibe coding tiết kiệm rất nhiều thời gian và cho kết quả đủ tốt. Ngay cả ở đây, sao lưu dữ liệu trước khi chạy công cụ tự làm vẫn là thói quen bắt buộc: một tập lệnh đổi tên sai có thể xáo tung cả thư mục ảnh của bạn trong một giây.
Không hợp với việc gì, và vì sao
Ranh giới không nằm ở độ khó kỹ thuật mà ở hậu quả khi có lỗi. Bảng dưới liệt kê những việc không nên làm theo kiểu không đọc mã.
| Loại việc | Rủi ro khi không ai đọc mã |
|---|---|
| Có đăng nhập, mật khẩu người dùng | Mật khẩu lưu không mã hoá, phiên đăng nhập dễ bị chiếm |
| Nhận thanh toán, xử lý tiền | Tính sai tiền, cho phép sửa giá từ phía trình duyệt |
| Lưu thông tin cá nhân của khách | Lộ dữ liệu qua đường dẫn đoán được, vi phạm quy định bảo vệ dữ liệu cá nhân |
| Đưa lên mạng công khai cho người lạ dùng | Bị dò lỗi, bị lợi dụng để gửi thư rác hoặc đào tiền ảo |
| Dùng khoá API trả tiền theo lượt | Khoá lộ trong mã phía trình duyệt, người khác dùng và bạn trả tiền |
| Nhiều người cùng sửa dữ liệu | Dữ liệu ghi đè nhau, mất mà không ai biết |
| Hệ thống công ty phụ thuộc lâu dài | Không ai hiểu mã để sửa khi có sự cố |
Không có nghĩa là người không chuyên không được làm những thứ này với AI. Nghĩa là phải có ít nhất một người hiểu mã đọc và chịu trách nhiệm trước khi đưa vào dùng thật, hoặc dùng nền tảng có sẵn đã xử lý phần nhạy cảm, như dịch vụ bán hàng hay biểu mẫu có sẵn, thay vì tự làm từ đầu.
Vibe coding có kiểm soát: quy trình cho người không chuyên
Nếu bạn không biết lập trình nhưng muốn tự làm một công cụ nhỏ, quy trình sau giữ rủi ro ở mức thấp mà vẫn tận dụng được AI.
- Viết mô tả một trang trước khi mở AI: công cụ làm gì, đầu vào là gì, đầu ra là gì, ai dùng, chạy ở đâu. Ghi rõ những gì nó không được làm, ví dụ "không bao giờ xoá tệp gốc".
- Đưa mô tả cho AI và yêu cầu nó hỏi lại những chỗ chưa rõ trước khi viết. Trả lời hết rồi mới cho viết.
- Yêu cầu AI giải thích cách chạy từng bước như cho người chưa từng dùng dòng lệnh, và giải thích bằng lời chương trình sẽ làm những gì với máy của bạn.
- Chạy trên bản sao dữ liệu, không bao giờ trên dữ liệu gốc lần đầu. Kiểm kết quả bằng mắt với vài mẫu.
- Mỗi lần chỉ xin một thay đổi, chạy lại, kiểm lại. Lưu lại bản chạy được trước khi xin thay đổi tiếp.
- Hỏi AI về rủi ro: "Công cụ này có thể làm hỏng gì trên máy hoặc dữ liệu của mình nếu có lỗi? Có gửi dữ liệu đi đâu không?"
- Dừng lại khi vượt tầm: dấu hiệu ở mục kế tiếp.
Bước một là bước người không chuyên hay bỏ qua nhất, và cũng là bước quyết định chất lượng. Mô tả mơ hồ thì AI đoán, và mỗi lần đoán là một chỗ có thể sai mà bạn không biết.
Dấu hiệu dự án đã vượt tầm vibe coding
Sửa chỗ này hỏng chỗ kia. Khi mỗi lần nhờ AI sửa một lỗi lại sinh ra một lỗi mới ở chỗ khác, mã đã đủ phức tạp để cần người hiểu cấu trúc. Tiếp tục nói "sửa đi" chỉ làm mã rối thêm.
AI bắt đầu quên những gì đã làm. Dự án dài vượt quá phần ngữ cảnh mà AI nhớ được trong một cuộc trò chuyện, nó viết lại hàm đã có, đổi tên biến lung tung, xoá mất tính năng cũ.
Có người khác bắt đầu dùng. Công cụ cá nhân trở thành công cụ của cả phòng là thay đổi về bản chất: giờ lỗi ảnh hưởng tới người khác và dữ liệu của họ.
Cần lưu thứ gì quan trọng. Khi công cụ bắt đầu giữ dữ liệu bạn không muốn mất, cần nghĩ về sao lưu, khôi phục và ai được truy cập, những thứ vibe coding không tự nghĩ hộ.
Bạn không còn giải thích được nó làm gì. Nếu được hỏi "công cụ này lấy dữ liệu từ đâu, gửi đi đâu" mà bạn không trả lời được, đó là lúc dừng lại, nhờ người hiểu mã rà hoặc tự học đủ để đọc.
Năm thói quen an toàn tối thiểu khi vibe coding
Kể cả với công cụ nhỏ chỉ mình bạn dùng, năm thói quen sau gần như không tốn thời gian mà chặn được phần lớn sự cố hay gặp:
- Không dán khoá, mật khẩu vào cuộc trò chuyện. Nếu công cụ cần khoá truy cập một dịch vụ, nhờ AI hướng dẫn cách đặt khoá trong biến môi trường hoặc tệp cấu hình riêng nằm ngoài mã, và tự điền khoá vào đó.
- Không đưa dữ liệu thật của người khác cho AI. Cần mô tả cấu trúc tệp thì dán năm dòng đã thay tên, số điện thoại, địa chỉ bằng dữ liệu giả.
- Đặt công cụ trong một thư mục riêng và chỉ cho nó đọc ghi trong thư mục đó. Nói rõ điều này trong mô tả gửi AI.
- Giữ bản chạy được. Mỗi khi công cụ chạy ổn, chép cả thư mục ra một bản có ghi ngày. Khi lần sửa sau làm hỏng mọi thứ, bạn có đường lui ngay.
- Không bật cho người ngoài truy cập. Nếu AI hướng dẫn mở cổng, chia sẻ đường dẫn công khai hay đưa lên máy chủ, dừng lại và hỏi vì sao cần, rồi cân nhắc theo bảng ở trên.
Năm thói quen này không biến công cụ thành phần mềm an toàn tuyệt đối, nhưng giữ mọi sự cố trong phạm vi nhỏ: hỏng thì chỉ hỏng thư mục đó, trên máy bạn, với dữ liệu đã có bản sao.
Vibe coding có làm lập trình viên mất giá trị không
Câu hỏi này xuất hiện nhiều từ khi thuật ngữ lan rộng. Thực tế quan sát được là vibe coding mở rộng số người làm được phần mềm nhỏ, chứ không thay được người làm phần mềm lớn. Mỗi công cụ cá nhân mà người không chuyên tự làm là một việc trước đây hoặc không ai làm, hoặc làm bằng tay. Khi những công cụ đó lớn lên và cần chạy thật, chúng lại cần người hiểu mã.
Với lập trình viên, vibe coding là một chế độ làm việc nên biết dùng đúng lúc: thử ý tưởng trong một buổi chiều, dựng nguyên mẫu để hỏi ý kiến người dùng trước khi đầu tư viết thật. Sai lầm hay gặp là để mã nguyên mẫu trôi thẳng vào sản phẩm, vì "đằng nào nó cũng chạy rồi". Quy tắc nên giữ: mã sinh ra trong chế độ vibe coding được coi là bản nháp vứt đi, muốn dùng thật thì đọc lại từng dòng hoặc viết lại.
Với người học, vibe coding là cách thú vị để có động lực, thấy ngay kết quả. Nhưng nếu mục tiêu là học lập trình, hãy dần chuyển sang đọc và hiểu mã AI viết. Các bài khác trong mục này của trang bàn cách đi con đường đó.
Câu hỏi thường gặp
Không biết gì về lập trình có vibe coding được không?
Được cho những công cụ nhỏ chạy trên máy mình. Bạn cần biết cài đặt môi trường chạy và chạy một lệnh, AI có thể hướng dẫn từng bước. Với thứ có người khác dùng hoặc chạm tới tiền và dữ liệu, cần người hiểu mã kiểm tra.
Có nền tảng nào chuyên cho vibe coding không?
Có nhiều loại: chatbot chung, trình soạn thảo tích hợp AI, và các nền tảng dựng ứng dụng từ mô tả chạy trên trình duyệt. Tính năng và cách tính phí thay đổi rất nhanh, nên kiểm trang chính thức và thử bằng một dự án nhỏ trước.
Công cụ làm bằng vibe coding có bán được không?
Về kỹ thuật thì có thể, nhưng bán cho người khác dùng nghĩa là bạn chịu trách nhiệm về lỗi, bảo mật và dữ liệu của họ. Nếu chưa ai đọc và hiểu mã, rủi ro đó rất khó kiểm soát.
Vibe coding có an toàn cho máy tính của mình không?
Phần lớn công cụ nhỏ là vô hại, nhưng mã bạn không đọc có thể xoá nhầm tệp, cài thêm gói lạ, hoặc gửi dữ liệu ra ngoài. Luôn chạy thử trên bản sao, hỏi AI chương trình làm gì, và không chạy với quyền quản trị.
Khi nào nên chuyển từ vibe coding sang học lập trình thật?
Khi bạn thấy mình làm công cụ thường xuyên, khi công cụ bắt đầu có người khác dùng, hoặc khi bạn mất nhiều thời gian nói với AI sửa lỗi hơn là thời gian học đọc mã. Lúc đó học cơ bản sẽ có lời nhanh.