Vibe Code
Giáo trình/Phần 0 — Bắt đầu

Bản đồ 6 cấp và cách tự kiểm

Mỗi cấp một năng lực, một bài tập chốt, một tiêu chí đậu. Dùng bài này làm phiếu theo dõi suốt 90 ngày.

Cấp 08 phút đọc

Giáo trình chia 6 cấp. Cấp không phải là "số bài đã đọc" mà là một việc bạn làm được mà trước đó không làm được. Tiêu chí đậu viết ở dạng kiểm được — không có chỗ cho cảm giác "hiểu rồi".

Bảng cấp độ

Cấp Tên Làm được gì Thời gian thực tế
0 Nhập môn Máy đã dựng, hiểu phân vai 3 trụ cột 1 ngày
1 Sơ khai Có một trang web thật trên Internet, tự sửa được 2–4 ngày
2 Nền móng Git/GitHub thành phản xạ, có CI tự deploy 1 tuần
3 Trung cấp App có cơ sở dữ liệu, đăng nhập, báo cáo 2–3 tuần
4 Nâng cao Realtime, việc chạy nền, tối ưu tốc độ, bảo mật 3–4 tuần
5 Pro Quy trình giao hàng không gây sự cố, xử lý được sự cố 2–3 tuần
6 Cao cấp Biến cách làm thành hệ thống, biến app thành sản phẩm liên tục

Tổng: khoảng 90 ngày nếu làm 1–2 giờ mỗi ngày. Nhanh hơn thì được, nhưng đừng nhảy cấp — các bẫy ở Cấp 4–5 chỉ nhận ra nếu đã tự tay làm Cấp 2–3.

Tiêu chí đậu từng cấp

Cấp 1 — Sơ khai

  • [ ] Có một địa chỉ web công khai, gửi cho người khác mở được trên điện thoại.
  • [ ] Tự đổi được chữ và màu trên đó, rồi đưa bản mới lên, trong dưới 5 phút.
  • [ ] Giải thích được bằng lời: "file nào là file hiển thị ra trang này".

Cấp 2 — Nền móng

  • [ ] Mã nguồn nằm trên GitHub, có ít nhất 10 mốc commit với lời nhắn đọc hiểu được.
  • [ ] Từng tạo một nhánh, một Pull Request, và đọc được phần hiển thị thay đổi.
  • [ ] Tự lùi được về bản cũ sau khi cố ý làm hỏng một thứ.
  • [ ] Đẩy mã lên GitHub là web tự cập nhật, không cần làm tay.

Cấp 3 — Trung cấp

  • [ ] App có bảng dữ liệu thật trong D1, nhập được và đọc ra được.
  • [ ] Có đăng nhập; mật khẩu không nằm dạng chữ thường trong cơ sở dữ liệu.
  • [ ] Dùng được trên điện thoại 375px mà không phải phóng to để bấm.
  • [ ] Danh sách dài có phân trang/giới hạn, không trả về toàn bộ bảng.

Cấp 4 — Nâng cao

  • [ ] Có một tính năng cập nhật tức thì giữa hai thiết bị (hoặc một việc chạy định kỳ).
  • [ ] Đo được tốc độ bằng số (Lighthouse hoặc PageSpeed) và đã cải thiện ít nhất một chỉ số.
  • [ ] Có lớp chặn lạm dụng mà không chặn oan người thật (hiểu vì sao đếm theo IP là sai ở Việt Nam).

Cấp 5 — Pro

  • [ ] Mọi lần lên bản mới đều đi qua: preview → test theo danh sách → deploy → kiểm lại trên bản thật.
  • [ ] Có danh sách test viết sẵn, chạy được trong 15 phút.
  • [ ] Từng rollback thành công một bản lỗi trên bản thật.
  • [ ] Biết chi phí tháng này là bao nhiêu và vì sao.

Cấp 6 — Cao cấp

  • [ ] Có file CLAUDE.md hoặc bộ quy tắc riêng, khiến AI không tái phạm lỗi cũ.
  • [ ] Có một app đang được người khác ngoài bạn dùng hằng ngày.
  • [ ] Trả lời được: hỏng lúc 11 giờ đêm thì ai sửa, bằng cách nào, trong bao lâu.
Cấp 3 là vách đá, không phải bậc thangchuyên gia insight & case thực tế

Số liệu từ việc kèm người thật: hầu hết người bỏ cuộc ở giữa Cấp 3 — không phải vì khó hiểu, mà vì đây là lần đầu một lỗi không hiện ra ngay. Trang tĩnh sai thì thấy liền. App có cơ sở dữ liệu thì sai lặng lẽ: lưu thiếu một cột, hai tuần sau mới phát hiện.

Ai qua được Cấp 3 thì gần như không bỏ nữa. Nên nếu bạn chỉ có ngân sách thời gian cho một chặng — hãy dồn vào Cấp 3, và đọc kỹ Test như kẻ phá hoại sớm hơn thứ tự giáo trình.

Ba đường đi tùy mục tiêu

Không phải ai cũng cần cả 6 cấp.

Đường A — "Tôi chỉ cần một web giới thiệu". Cấp 0 → 1 → dừng. Thêm bài Tốc độ web. Khoảng 1 tuần.

Đường B — "Tôi cần công cụ nội bộ cho công ty". Cấp 0 → 1 → 2 → 3 → 5. Bỏ Cấp 4 (chưa cần realtime), nhưng không được bỏ Cấp 5 — app nội bộ hỏng là cả phòng ngồi chơi. Khoảng 5 tuần.

Đường C — "Tôi muốn làm sản phẩm bán được". Đi đủ 0 → 6, không bỏ bài nào, và đọc Từ app thành sản phẩm sớm — ngay sau Cấp 3 — để biết cái mình dựng có ai mua không, trước khi dựng xong.

Phiếu theo dõi làm bằng tay lại hiệu quả hơn appngười dùng bình thường góp ý

Tôi in bảng tiêu chí ra một tờ A4, dán cạnh màn hình, tích bút bi. Nghe thủ công nhưng nó cứu tôi: có hôm tôi học ba tiếng, cảm giác rất tiến bộ, nhìn tờ giấy thì chưa tích thêm ô nào — tức là tôi vừa đọc ba tiếng chứ không làm. Hai cái đó dễ lẫn vào nhau.

Biến bản đồ này thành việc của Claudechuyên gia thực thi

Trong Claude Code, tại thư mục project, gõ:

Đọc danh sách tiêu chí đậu Cấp 2 dưới đây và kiểm giúp tôi project
hiện tại đạt mục nào, chưa đạt mục nào. Với mỗi mục chưa đạt, nêu
đúng một việc cần làm tiếp, ngắn gọn.

[dán danh sách tiêu chí Cấp 2 vào đây]

Đây cũng là bài tập ngầm đầu tiên về cách ra đề: đưa tiêu chí trước, rồi bắt đối chiếu — thay vì hỏi "project của tôi ổn chưa" (câu hỏi không có đáp án kiểm được, và sẽ nhận lại một lời khen vô ích).

Chốt review bài nàychuyên gia review
  • Đủ: thang cấp, tiêu chí kiểm được, ba đường đi, cảnh báo đúng chỗ vách đá.
  • Thiếu có chủ ý: không có bài kiểm trắc nghiệm. Vibe Code không kiểm được bằng trắc nghiệm — chỉ kiểm được bằng "app có chạy không".
  • Rủi ro: mốc thời gian 90 ngày giả định bạn có một việc thật muốn làm. Học chay không có mục tiêu thì mọi mốc đều trượt.
Bài tập chốt Cấp 0
  1. Chọn đường A, B hoặc C.
  2. Mở lại tờ giấy ở bài 1 — việc bạn muốn làm được sau 90 ngày — và viết thêm một dòng tiêu chí đậu kiểm được cho nó. Ví dụ: "Vợ tôi nhập được 10 đơn trên điện thoại mà không hỏi tôi câu nào."

Dòng đó là đề bài thật của bạn. Mọi bài sau chỉ là công cụ.