Hãy quên chữ "coding" đi một chút.
Vibe coding bắt đầu từ cảm giác. Kỹ thuật đến sau.
Bạn còn nhớ lần đầu tiên dùng Google Translate không? Một câu tiếng Pháp lạ hoắc, dán vào, ấn Enter — và đột nhiên bạn "hiểu" nó. Bạn không cần học tiếng Pháp. Bạn chỉ cần biết bạn muốn dịch cái gì.
Vibe coding gần giống vậy. Bạn muốn một trang web có nút màu xanh và một form đăng ký? Cứ nói thẳng bằng tiếng Việt, AI sẽ tự dịch ra "ngôn ngữ máy" và chạy luôn trên màn hình. Không cần khóa học lập trình, không cần bộ gõ code phức tạp.
Tháng 2 năm 2025, một người tên Andrej Karpathy — thành viên sáng lập OpenAI, một trong những bộ óc AI sáng giá nhất thế giới — đăng một dòng tweet mô tả cách ông đang làm việc lúc đó.
Ông nói rằng mình gần như không còn gõ code theo kiểu truyền thống nữa. Ông viết: "Có một kiểu lập trình mới mà tôi gọi là vibe coding: bạn hoàn toàn thả mình theo cảm hứng, tận dụng sức mạnh tăng trưởng bùng nổ của AI, rồi dần quên mất là mình còn đang viết code nữa."
"Vibe" trong tiếng Anh nghĩa là cảm giác, không khí, dòng chảy. Cái tên nghe có vẻ lãng đãng, nhưng nó miêu tả đúng cảm giác bạn sẽ có khi thử: bạn không lập trình theo nghĩa cũ. Bạn diễn đạt ý tưởng, và để cái máy lo phần còn lại.
Tôi cứ nhìn, nói, chạy, copy-paste — và phần lớn thì nó hoạt động tốt.Andrej Karpathy · 02/2025 Tweet gốc
Một năm sau, chính Karpathy nói thuật ngữ này đã hơi "lỗi mốt" — ông đề xuất gọi là agentic engineering. Không phải vì vibe coding sai. Mà vì nó đã trưởng thành. Hôm nay, ngay cả các kỹ sư chuyên nghiệp cũng dùng AI để viết phần lớn code — chỉ là họ làm cẩn thận hơn. Hai cách dùng đó có tên riêng. Bạn nên biết cả hai trước khi bắt đầu.
Bạn đang ở chế độ nào?
Cùng một AI, hai cách dùng rất khác nhau. Biết mình đang ở đâu giúp bạn đỡ thất vọng.
Hãy tưởng tượng bạn vào bếp. Khi tự nấu cơm tối, bạn có thể tùy ý nếm thử, thêm muối, dở thì bỏ làm món khác, rất thoải mái. Nhưng khi nấu ở nhà hàng, vẫn là bạn và những nguyên liệu đó, mọi thứ phải có công thức, quy trình và kiểm định nghiêm ngặt trước khi bưng ra cho khách. Vibe coding và Agentic coding chính là hai trạng thái đó.
Vibe coding cũng vậy.
Khi bạn nấu cho mình ăn
Nhanh, vui, ít ràng buộc. Bạn mô tả ý tưởng, AI làm phần còn lại, bạn xem rồi chỉnh sửa khi cần. Cứ thế mà chạy. Không cần hoàn hảo ngay từ đầu — miễn là nó tồn tại. Một ý tưởng trong đầu, một giờ sau đã thành sản phẩm chạy được.
Hợp vớiPortfolio cá nhân · Trang giới thiệu sự kiện · Công cụ chỉ bạn dùng · Bản demo cho buổi họp ngày mai · Prototype để hỏi đồng nghiệp "ý này có dễ hiểu không?"
Khi bạn mở nhà hàng
Vẫn để AI viết phần lớn, nhưng có nguyên tắc, có người kiểm tra, có quy trình. Đây là cách các kỹ sư chuyên nghiệp dùng AI cho sản phẩm thật — sản phẩm có người dùng thật, dữ liệu thật, và hậu quả thật khi xảy ra lỗi.
Hợp vớiApp có người dùng trả tiền · Hệ thống lưu thông tin nhạy cảm · Sản phẩm chạy lâu dài · Bất cứ gì mà "hỏng" đồng nghĩa với "có người mất tiền hoặc mất dữ liệu"
Tài liệu này tập trung vào vibe coding. Vì đó là nơi bạn nên bắt đầu — và cũng là nơi phần lớn những người không chuyên kỹ thuật sẽ dừng lại khá lâu. Khi đã quen hơn, bạn sẽ tự cảm nhận được lúc nào cần chuyển sang agentic coding. Có một nguyên tắc đơn giản: khi sản phẩm bắt đầu liên quan đến tiền bạc hoặc dữ liệu của người khác, hãy có một kỹ sư đồng hành cùng bạn.
Sáu thói quen của người vibe code hiệu quả.
Không phải nguyên tắc cứng. Chỉ là kinh nghiệm của những người làm nhiều dần nhận ra.
Sau một thời gian thử, bạn sẽ thấy: cùng một công cụ, có người làm rất nhanh và gọn, có người lại loay hoay cả buổi. Khác biệt thường không nằm ở kỹ thuật, mà ở cách làm việc. Sáu thói quen dưới đây là những điều gần như ai vibe code hiệu quả cũng dần hình thành.
i. Nói rõ mình muốn gì trước khi bảo AI làm.
Người mới thường viết một câu rất ngắn rồi hy vọng AI tự hiểu. "Làm cho tôi một trang portfolio." Nhưng AI chỉ đang đoán ý bạn — và phần lớn sẽ đoán sai. Hãy dành vài phút nghĩ rõ: ai sẽ dùng, cần những phần nào, giao diện nên trông ra sao, lúc nào thì coi là xong. Viết mọi thứ ra bằng tiếng Việt bình thường rồi đưa cho AI. Chất lượng thay đổi rất nhiều từ đó.
Năm phút nghĩ tiết kiệm một giờ sửa.ii. Làm từng bước nhỏ. Đừng đưa cả thế giới cùng lúc.
Khi AI làm được quá nhiều thứ, bạn rất dễ muốn nói: "Làm luôn cả app cho tôi." Nhưng càng nhiều yêu cầu cùng lúc, khả năng mọi thứ lệch hướng càng cao. Tốt hơn là làm từng phần nhỏ: tạo giao diện trước, nối dữ liệu sau, thêm đăng nhập cuối cùng. Mỗi bước chạy được là một điểm tựa để đi tiếp.
Đi chậm từng bước thường nhanh hơn sửa một đống hỗn loạn.iii. Nhìn lướt những gì AI vừa sửa trước khi bấm OK.
Bạn không cần đọc hiểu từng dòng code. Nhưng hãy nhìn xem AI vừa đụng vào đâu. Nếu bạn chỉ yêu cầu sửa màu nút bấm mà AI lại thay đổi phần đăng nhập, đó là dấu hiệu nên cẩn thận. Giống như nhìn hoá đơn trước khi quẹt thẻ — không cần đọc từng chi tiết, chỉ cần phát hiện điều bất thường.
AI rất giỏi. Nhưng không phải lúc nào cũng đúng.iv. Giữ API key ở chỗ kín. Đừng dán thẳng lên Internet.
Hầu hết công cụ AI đều cấp cho bạn một API key — gần giống mật khẩu, nhưng mỗi lần dùng đều liên quan đến tiền. Người mới rất dễ copy nó vào frontend hoặc public repo vì "cho nhanh". Chỉ cần vậy thôi là người khác có thể dùng key của bạn, và hoá đơn sẽ gửi về tài khoản của bạn. Quy tắc đơn giản: key luôn nằm ở phía server hoặc file bí mật, không bao giờ xuất hiện công khai.
Một phút tiện tay có thể đổi bằng cả tháng tiền API.v. Lưu lại mỗi khi có thứ đang chạy tốt. Như save game.
Mỗi lần hoàn thành được một phần ổn định, hãy commit hoặc lưu lại ngay. Vì sớm muộn gì AI cũng sẽ có lúc làm hỏng thứ đang hoạt động. Nếu có checkpoint, bạn chỉ cần quay lại vài phút trước. Nếu không có, đôi khi bạn mất nguyên cả buổi để làm lại từ đầu.
Save sớm là siêu năng lực underrated nhất.vi. Khi có lỗi, hỏi "tại sao" trước khi hỏi "sửa sao".
Khi bug xuất hiện, phản xạ tự nhiên là dán lỗi vào rồi nói: "fix giúp tôi." Nhưng nếu bạn hỏi thêm: "Tại sao lỗi này xảy ra?" AI sẽ giải thích cách hệ thống đang hoạt động. Mỗi lần như vậy, bạn hiểu thêm một chút. Sau vài tháng, bạn sẽ nhận ra mình không còn là người "không biết gì về tech" nữa.
Mỗi bug sửa xong là một lần hiểu hệ thống hơn.Những cái bẫy bạn sẽ bước vào.
Hầu như ai vibe coding rồi cũng từng vướng vài lần như vậy. Quan trọng là nhận ra sớm để điều chỉnh..
Một sự thật ít ai nói: tuần đầu vibe coding của bạn sẽ có nhiều khoảnh khắc bực mình. Cái đang chạy đột nhiên không chạy. AI sửa một chỗ làm hỏng ba chỗ. Bạn ngỡ xong, mở trên điện thoại thì vỡ tan. Đó không phải là bạn dở. Đó là bẫy có sẵn. Đây là vài cái phổ biến nhất.
Tôi tưởng nó chạy được rồi
AI làm xong, không có chữ đỏ nào, bạn yên tâm chuyển việc khác. Một giờ sau bạn click thử — cái nút không phản hồi. Form không gửi. Link đi đến trang trắng. "Chạy" không có nghĩa là "đúng".
Cho tôi xin nguyên cái app luôn
Bạn viết một câu dài, liệt kê mười tính năng. AI cố gắng làm hết. Một tính năng sai kéo theo những thứ khác sai. Bạn không biết cái nào hỏng trước. Đến lúc nhận ra thì đã ngồi 4 tiếng.
Nhấn OK đại cho nhanh
AI hỏi "tôi sửa chỗ này được không?", bạn bấm Yes vì nóng ruột. Nó có thể vừa xoá nhầm thứ quan trọng, vừa viết lại logic đăng nhập. Đến lúc thấy hỏng thì không nhớ nó đã đụng vào đâu.
AI nhớ chuyện hôm qua mà nhỉ?
Hôm nay bạn mở lại project. Bạn nghĩ AI sẽ nhớ mọi quyết định hôm qua. Không. Mỗi lần mở mới là một tờ giấy trắng. AI quên hết. Nếu bạn không ghi lại "ta đang dùng cái gì, cách làm thế nào", nó tự sáng tạo lại — và không nhất quán.
AI gợi đổi sang công nghệ khác đi
Đang dùng cái A, AI bảo "thử cái B đi, mới hơn". Bạn đồng ý. Phải làm lại nửa project. Tuần sau AI lại gợi cái C. Cứ thế, bạn không bao giờ hoàn thành vì lúc nào cũng đang đổi nền.
Để mai sửa cũng được
Một lỗi nhỏ bạn để đó. Một thay đổi giữa chừng bạn chưa lưu. Hôm sau mở lại, không nhớ đang dở dang ở đâu. Cố lần đoán, làm hỏng thêm. Cuối cùng phải vứt cả phần đó đi làm lại.
Khi nào nên, khi nào đừng.
Một bảng nhỏ trong đầu bạn sẽ dùng đi dùng lại.
Không phải mọi project đều hợp với vibe coding. Biết khi nào nói "không" cũng là một kỹ năng. Chia thành ba mức, để bạn có cảm giác nhanh:
Khi sản phẩm chủ yếu chỉ dành cho bạn hoặc người quen
Hỏng thì cùng lắm hơi phiền một chút, sửa tiếp hoặc làm lại là xong. Đây là vùng an toàn nhất để thử nghiệm, học cách dùng AI và build nhanh những ý tưởng trong đầu.
Ví dụ: portfolio cá nhân, landing page cho sự kiện nội bộ, prototype để demo ý tưởng, hoặc công cụ nhỏ phục vụ công việc của riêng bạn.
Khi bắt đầu có người dùng thật
Người dùng còn ít, dữ liệu chưa quá nhạy cảm, và bạn vẫn kiểm soát được mọi thứ. Bạn hoàn toàn có thể vibe code ở giai đoạn này — chỉ là nên có một kỹ sư xem qua trước khi public rộng rãi.
Ví dụ: website cho team, công cụ nội bộ của công ty, hoặc MVP để thử nghiệm với vài chục người dùng đầu tiên.
Khi sản phẩm bắt đầu liên quan đến tiền hoặc dữ liệu nhạy cảm
Không phải vì vibe coding không làm được. Mà vì lúc này, thứ bạn cần không chỉ là “chạy được”, mà còn phải an toàn và đáng tin. Một lỗi nhỏ cũng có thể kéo theo mất tiền, lộ dữ liệu, hoặc rắc rối pháp lý.
Ví dụ: ứng dụng thanh toán, hệ thống lưu hồ sơ y tế, quản lý tài khoản người dùng, hoặc bất kỳ thứ gì có hậu quả thật nếu xảy ra lỗi.
Ranh giới này không hoàn toàn rõ ràng. Nhưng nếu bạn bắt đầu thấy phân vân, đó thường là lúc nên chậm lại một chút và kiểm tra kỹ hơn. Một vài giờ review từ kỹ sư, gần như lúc nào cũng rẻ hơn nhiều tuần đi sửa hậu quả sau này.
Vibe coding hạ thấp rào cản bắt đầu. Giờ gần như ai cũng có thể tạo prototype. Câu hỏi không còn là "bạn có làm được không" — mà là "bạn có nên đưa nó ra cho người khác dùng không".Một điều đáng nhớ trước khi bấm deploy
Vibe coding không thay thế kỹ năng. Nó mở cửa cho nhiều người hơn.
Mười năm trước, muốn dựng một website đẹp bạn gần như chắc chắn cần developer. Vài năm trước, thường sẽ cần thêm designer. Hôm nay, đôi khi thứ bạn cần chỉ là một ý tưởng, vài giờ rảnh, và đủ kiên nhẫn để thử. Đó là thay đổi lớn nhất mà AI mang lại cho việc làm phần mềm.
Khi designer trong team có thể tự dựng landing page để thử ý tưởng — không cần chờ engineer rảnh. Khi PM có thể tự prototype một flow mới để hỏi người dùng: "cái này có dễ hiểu không?" Khi founder có thể tự tạo demo cho buổi pitch cuối tuần — tốc độ làm sản phẩm bắt đầu thay đổi hẳn.
Điều đó không có nghĩa ai cũng sẽ trở thành kỹ sư. Và cũng không cần như vậy. Điểm khác biệt nằm ở chỗ: ý tưởng trong đầu bạn không còn bị chặn lại bởi câu "nhưng tôi không biết code." Bạn có thể thử nó ngay bây giờ. Tự mình nhìn nó chạy. Tự mình biết liệu ý tưởng đó có đáng đi tiếp hay không.
Phần còn lại là luyện tập. Và đó là thứ file tiếp theo dành cho bạn.
Sẵn sàng bắt tay vào làm?
Bài thực hành đang chờ ở file số hai.
Bạn sẽ dựng một portfolio cá nhân có AI chat, deploy nó lên Internet, và đi qua toàn bộ quy trình theo từng bước nhỏ. Có sẵn prompt để copy, có sẵn lệnh để chạy, và có cả checklist trước khi ship.
Mở bài thực hành →