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

Sơ đồ Vibe Stack — tám lớp

Toàn bộ hệ thống trên một trang: từ lúc khách gõ tên miền đến lúc góp ý của họ thành việc trong backlog. Bài này là tấm bản đồ bạn sẽ mở lại nhiều lần.

Cấp 016 phút đọc

Bốn bài trước nói vì sao. Bài này cho bạn hình. Tám lớp dưới đây là toàn bộ những gì bạn sẽ dựng trong 90 ngày — và mọi bài sau đều nằm ở một ô nào đó trong sơ đồ này.

Đọc sơ đồ theo đường đi của một lượt truy cập

Sáu bước, mỗi bước một lớp:

  1. Khách gõ tên miền → DNS trả về địa chỉ. (Lớp 1 — Tên miền & DNS)
  2. Cloudflare nhận tại điểm mạng gần nhất, bật HTTPS, lọc tấn công, trả file đã nằm sẵn trong bộ đệm nếu có.
  3. Pages trả giao diện; nếu cần dữ liệu thì trình duyệt gọi tiếp một đường /api/….
  4. Workers chạy mã của bạn — kiểm quyền, đọc/ghi dữ liệu. (Lớp 2 — Workers)
  5. Workers đọc/ghi D1, Durable Objects hoặc R2 rồi trả kết quả. (Lớp 3 — D1, KV & R2)
  6. Người dùng thấy kết quả. Toàn bộ chặng này thường mất 30–300 ms.

Và đường đi của một thay đổi thì ngược lại, qua lớp 4: bạn ra yêu cầu → AI viết → commit lên GitHub → Pull Request → test → link preview → bạn duyệt → Cloudflare nhận bản mới.

Bản rút gọn — đọc được trên điện thoại

TRUY CẬPLỚP 1 Người dùng mở bằng trình duyệt Tên miền địa chỉ website Cloudflare — lớp biên DNS SSL/HTTPS CDN WAF / DDoS HẠ TẦNGLỚP 2 Pages — front-end HTML, CSS, ảnh. Thứ người dùng nhìn thấy. Workers — back-end mã chạy phía máy chủ: API, đăng nhập, xử lý. LƯU TRỮLỚP 3 D1 — cơ sở dữ liệu đơn hàng, nhân viên, báo cáo Durable Objects trạng thái, thời gian thực R2 — kho tệp ảnh, file, video PHÁT TRIỂNLỚP 4 GitHub — mã nguồn & phiên bản Commit Push Pull Rollback Luật riêng Cổng kiểm soát trước khi deploy Pull Request Test Preview Duyệt AI HỖ TRỢLỚP 5 UX / UI cần chuyên gia Front-end AI làm tốt API / Back-end cần chuyên gia Test / QA AI làm tốt Review / bảo mật cần chuyên gia Debug AI làm tốt AI Router tùy chọn Điều phối Cloudflare · viết mã · GitHub · vận hành · phản hồi. Đổi nhà AI được; AI dừng thì vẫn làm tay được. VẬN HÀNHLỚP 6 Đăng nhập ai được vào Khóa bí mật không nằm trong mã Giám sát log, báo lỗi Sao lưu khôi phục được CHẤT LƯỢNGLỚP 7 Web Vitals LCP, INP, CLS SEO kỹ thuật Search Console Analytics đo chuyển đổi Dễ truy cập alt, tương phản PHẢN HỒILỚP 8 Thu thập lỗi, góp ý thật Ticket / Issue ai cũng thấy Phân loại xếp ưu tiên Backlog quay lại lớp 4
Lớp 8 nối vòng về lớp 4: góp ý của người dùng thành việc trong GitHub, đi qua cổng kiểm soát, rồi lên bản thật. Đó là vòng tròn bạn sẽ chạy mãi.

Ba luật nằm ngoài mọi ô

Sơ đồ có ba dòng chữ nhỏ, và chúng quan trọng hơn vẻ ngoài:

AI chỉ đề xuất, người duyệt rồi mới deploy. · Khóa bí mật không để trong mã. · Lỗi thì rollback ngay.

Ba luật này là ranh giới của cả giáo trình:

  • Luật 1 — không có đường nào từ AI đi thẳng ra bản thật. Mọi thay đổi phải qua cổng kiểm soát ở lớp 4. Đây là lý do bài GitHub Actions dựng cổng duyệt, và lý do quy trình preview → test → deploy là bài dài nhất Cấp 5.
  • Luật 2 — AI không giữ khóa. Khóa nằm ở lớp 6, trong Secrets, không nằm trong mã nguồn mà AI đọc được. Bí mật và token.
  • Luật 3 — hỏng thì khôi phục trước, điều tra sau. Một lệnh rollback, rồi mới đi tìm nguyên nhân. Người mới hay làm ngược và kéo dài thời gian app chết.
Hai lớp mà ai cũng vẽ thiếuchuyên gia insight & case thực tế

Tôi đã xem nhiều sơ đồ kiến trúc do người học tự vẽ. Hầu hết vẽ đủ lớp 1–4: tên miền, Pages, Workers, cơ sở dữ liệu, GitHub. Và gần như không ai vẽ lớp 6, lớp 7 và lớp 8.

Đó cũng đúng là những lớp quyết định bạn giữ được khách hay không:

  • Thiếu lớp 6 (vận hành), bạn vẫn giao được app. Rồi một ngày mất dữ liệu, hoặc khóa rò rỉ, và mọi thứ bạn làm trước đó thành vô nghĩa. Lớp này không tạo ra tính năng nào — nó bảo vệ toàn bộ số tính năng bạn đã làm.
  • Thiếu lớp 7 (chất lượng), app chạy đúng nhưng không ai tìm thấy, mở chậm trên 4G, và bạn không biết người dùng bỏ cuộc ở màn hình nào.
  • Thiếu lớp 8 (phản hồi), bạn không biết app của mình sai ở đâu. Người dùng gặp lỗi thì họ không báo — họ bỏ dùng, rồi ba tháng sau nói "cái app ấy khó dùng".

Nếu phải bỏ một lớp vì hết thời gian, hãy bỏ Durable Objects, đừng bỏ sao lưu.

Phân vai ở lớp 5 — xanh và vàng

Lớp 5 là lớp duy nhất nói về con người. Nó chia việc thành hai loại, và cách chia này là kết luận từ thực tế, không phải quan điểm:

  • AI làm tốt — giao thẳng, bạn chỉ duyệt kết quả
  • Cần chuyên gia — AI làm được 70%, 30% còn lại phải có người biết nghề
Việc Ai Vì sao
Code giao diện (front-end) AI làm tốt Có mẫu rõ, sai thì thấy ngay bằng mắt
Viết và chạy test AI làm tốt Việc lặp, có tiêu chí đúng/sai rành mạch
Đọc log, tìm và sửa lỗi AI làm tốt Có thông báo lỗi làm bằng chứng để lần theo
Thiết kế trải nghiệm (UX/UI) Cần chuyên gia Phải hiểu người dùng thật, không suy ra từ mã
Logic nghiệp vụ, dữ liệu (API) Cần chuyên gia Sai ở đây không hiện ra — tiền, ngày, quyền
Review & bảo mật Cần chuyên gia AI khó tự soi lỗi của chính nó

"Chuyên gia" ở đây không nhất thiết là người khác. Phần lớn người đọc giáo trình này sẽ trở thành chuyên gia ở ba ô vàng — đó chính là nội dung Cấp 3 đến Cấp 5. Bài sau mổ kỹ từng ô.

AI Router — ô tùy chọn, và vì sao nó đáng nghĩ tới

Trong sơ đồ, AI Router là ô duy nhất ghi "tùy chọn". Nó là lớp điều phối: thay vì bạn tự chuyển tay việc giữa Cloudflare, nơi viết mã, GitHub, vận hành và phản hồi, có một chỗ đứng giữa làm việc đó.

Hai dòng chữ nhỏ dưới ô đó mới là phần quan trọng:

Đổi nhà AI được · AI dừng vẫn làm tay được.

Đây là nguyên tắc chống phụ thuộc, và nó đáng giá hơn bản thân cái router:

  • Đừng để quy trình của bạn chỉ chạy được với một nhà cung cấp AI. Mã nguồn nằm trên GitHub, hạ tầng ở Cloudflare, luật nằm trong CLAUDE.md dạng chữ — cả ba đều đọc được bằng mắt người. Hôm nào đổi công cụ AI, bạn mang chúng đi theo.
  • Mọi việc AI làm phải có đường làm tay tương đương. Deploy bằng một lệnh wrangler, không phải bằng một nút bấm chỉ tồn tại trong một công cụ. Test có script chạy được từ dòng lệnh. Nếu ngày mai không còn AI, app của bạn vẫn vận hành được — chậm hơn, nhưng không chết.

Với người mới: bỏ qua ô này. Nó chỉ đáng dựng khi bạn đã có nhiều app và thấy mình lặp lại cùng một chuỗi thao tác hằng ngày — tức là từ Cấp 6.

Tôi dán sơ đồ này lên tườngngười dùng bình thường góp ý

Thật sự. Tôi in ra A4, dán cạnh màn hình, và nó giải quyết một vấn đề tôi không ngờ: mỗi khi bí, tôi biết mình đang ở ô nào.

Trước đó tôi hay rơi vào trạng thái "web lỗi" chung chung, rồi sửa loạn xạ. Giờ tôi chỉ vào sơ đồ: trang không mở được là lớp 1; trang mở được mà không có dữ liệu là lớp 2 hoặc 3; dữ liệu đúng mà nhìn rối là lớp 5 phần UX; mở chậm là lớp 7. Biết mình đang ở đâu thì câu hỏi cho AI cũng rõ hẳn ra.

Một điều nữa: tôi dùng sơ đồ này để nói chuyện với khách. Chỉ cho họ tám ô, nói "chỗ này em làm xong rồi, chỗ này chưa" — họ hiểu ngay và không hỏi những câu khó trả lời.

Tự dựng sơ đồ cho app của bạnchuyên gia thực thi

Sau khi đi hết giáo trình, app của bạn sẽ dùng một tập con của sơ đồ này. Bắt AI vẽ đúng tập con đó:

Đọc wrangler.toml, package.json và cấu hình deploy của project này,
rồi liệt kê thành bảng 8 lớp theo đúng khuôn dưới đây. Với mỗi lớp,
ghi: đang dùng gì (tên thật trong cấu hình), hay CHƯA CÓ.

1 Truy cập (tên miền, DNS, HTTPS, CDN, WAF)
2 Hạ tầng (Pages / Workers)
3 Lưu trữ (D1 / Durable Objects / R2 / KV)
4 Phát triển (repo, PR, CI, link preview, luật riêng)
5 Phân vai (ai làm phần nào)
6 Vận hành (đăng nhập, khóa bí mật, giám sát, sao lưu)
7 Chất lượng (Web Vitals, SEO, analytics, dễ truy cập)
8 Phản hồi (chỗ nhận lỗi và góp ý)

Chỉ ghi những gì ĐỌC ĐƯỢC trong cấu hình. Không đoán, không khuyên.

Ô nào ghi "CHƯA CÓ" là việc còn nợ. Chạy lại đề này mỗi tháng — nó là bảng kiểm sức khỏe project, mất 1 phút.

Chốt review bài nàychuyên gia review
  • Đủ: sơ đồ tám lớp (ảnh gốc + bản rút gọn), đường đi của một lượt truy cập và của một thay đổi, ba luật ngoài ô, phân vai xanh/vàng, AI Router, cách tự dựng sơ đồ cho project của mình.
  • Cố ý đơn giản hóa ở bản rút gọn: gộp KV vào lớp 3 (bài KV & R2), bỏ Queues và Cron (lớp 2, bài Cron & việc chạy nền). Thêm vào thì đúng hơn nhưng không ai đọc nổi trên điện thoại.
  • Rủi ro còn lại: sơ đồ cho cảm giác hệ thống đã hoàn chỉnh. Thực tế bạn sẽ dựng nó từng ô một trong 90 ngày, và ở Cấp 1 bạn chỉ có lớp 1 + lớp 2 phần Pages. Đừng thấy sơ đồ to rồi ngợp.
Bài tập chốt

Mở lại tờ giấy ghi việc bạn muốn làm (từ bài 1) và khoanh vào sơ đồ những ô việc đó thật sự cần.

Ví dụ với app ghi đơn hàng cho shop: cần lớp 1, lớp 2 (cả Pages và Workers), lớp 3 chỉ D1, lớp 4 đủ, lớp 6 cần đăng nhập + sao lưu, lớp 7 chỉ cần Web Vitals, lớp 8 chỉ cần một ô "Thu thập" là nhóm Zalo với vợ. Không cần Durable Objects, không cần R2, không cần AI Router.

Danh sách ô bạn khoanh chính là giáo trình riêng của bạn — và nó luôn ngắn hơn cả giáo trình này.