← Blog
Field note

Đưa App Vibe Code Lên Production: Checklist & Chi Phí 2026

Thien Nguyen · Oct 6, 2026

Có. Phần lớn prototype làm bằng vibe coding đều đưa lên production được, nhưng rất ít bản nên ship nguyên trạng. Tính đến tháng 10/2026, việc sửa thường đi theo một trong ba hướng. Gia cố mất vài ngày: khóa quyền truy cập dữ liệu, secret và thanh toán. Refactor mất vài tuần: thêm test, cấu trúc lại và gắn giám sát cho các luồng quan trọng. Xây lại phần lõi mất khoảng 6–10 tuần trên một nền sạch, giữ lại UI và những gì bạn đã học được. Chọn hướng nào là do kết quả audit quyết định, không phải do bạn dùng công cụ gì để làm ra app.

Lovable, Bolt, Replit, v0 hay Cursor đều rất giỏi tạo ra một thứ chạy được trong bản preview. Production thì hỏi những câu khó hơn. Ai được đọc dữ liệu của ai? Webhook đến hai lần thì sao? Khi 1.000 người cùng dùng tính năng AI thì tốn bao nhiêu? Hệ thống hỏng thì ai nhận cảnh báo? Bài này đưa ra bảng ra quyết định, mức giá công khai năm 2026, checklist 25 điểm bạn tự chạy được, và mô tả cụ thể BeevR làm gì khi một prototype cần trở thành sản phẩm thật.

App vibe code có đưa thẳng lên production được không?

Thường là không, ít nhất phải review bảo mật và quyền truy cập dữ liệu trước. Code do công cụ AI viết có thể hoàn toàn ổn. Vấn đề là chưa ai kiểm tra những phần bản demo không bao giờ chạm tới: phân quyền, secret, xử lý lỗi, giới hạn chi phí và khôi phục dữ liệu. Prototype được làm để chạy trơn tru luồng chính một lần. Sản phẩm thì phải sống sót qua mọi luồng còn lại, mỗi ngày, với dữ liệu thật của người dùng thật.

Một quy tắc dễ áp dụng: nếu app lưu dữ liệu cá nhân, nhận thanh toán, hoặc cho người dùng xem bản ghi của nhau, hãy coi như app chưa được kiểm tra cho đến khi có người rà soát phân quyền từ đầu đến cuối. Nếu đó là công cụ một người dùng, không có dữ liệu nhạy cảm, một lượt gia cố nhẹ có thể là đủ.

Vì sao app vibe code hay hỏng khi lên production?

Chúng hỏng đúng ở những chỗ prototype bỏ qua phần nhàm chán. Dữ liệu 2025–2026 cho thấy vẫn chỉ vài điểm lỗi đó lặp đi lặp lại:

  • Database để ngỏ. Năm 2025, một nhà nghiên cứu quét 1.645 dự án Lovable và tìm thấy 303 endpoint có lỗ hổng trên 170 dự án (khoảng 10,3%), do thiếu hoặc cấu hình sai Row Level Security. Lỗi được ghi nhận là CVE-2025-48757 (CVSS 9,3). Lovable phản đối CVE này với lý do mỗi khách hàng tự chịu trách nhiệm bảo vệ dữ liệu app của mình. Đó lại chính là vấn đề: phải có người chịu trách nhiệm kiểm tra phần đó.
  • Lỗi ở quy mô lớn, trên nhiều nền tảng. Escape.tech quét hơn 5.600 app vibe code công khai (công bố tháng 10/2025) và báo cáo hơn 2.000 lỗ hổng, hơn 400 secret bị lộ và 175 trường hợp lộ dữ liệu cá nhân, trong đó có hồ sơ y tế và số IBAN. Kiểu lỗi phổ biến nhất là backend Supabase truy cập được bằng key công khai vì thiếu chính sách phân quyền.
  • Code sinh ra có mặc định thiếu an toàn. Báo cáo GenAI Code Security 2025 của Veracode kiểm tra code từ hơn 100 LLM trên 80 tác vụ và thấy lỗi bảo mật ở 45% trường hợp. Model mới hơn, lớn hơn cũng không tốt hơn đáng kể.
  • CVE thật ngày càng nhiều. Dự án Vibe Security Radar của Georgia Tech SSLab lập danh mục các lỗ hổng công khai có nguyên nhân gốc nằm ở code do AI viết. Tính đến mốc 26/9/2026, danh mục có 312 trường hợp, tăng từ 15 vào tháng 2/2026 lên 68 vào tháng 7/2026. Hai nhóm nguyên nhân lớn nhất là injection và thực thi không an toàn (116), và xác thực, phân quyền (75). Dự án nói rõ đây là con số tối thiểu, và dữ liệu không dùng để so sánh code AI viết với code người viết.

Hai lưu ý thực tế cho năm 2026. Supabase cho biết sẽ ngừng dùng key anon và service_role cũ trước cuối năm 2026, thay bằng key publishable và secret. Nhiều prototype vẫn đang dùng key cũ, nên hãy lên kế hoạch chuyển đổi. Nguyên tắc của chính Supabase vẫn giữ nguyên: key dùng ở trình duyệt chỉ chạm được tới phần Row Level Security cho phép, còn secret key bỏ qua Row Level Security nên tuyệt đối không được lọt ra client.

Pipeline triển khai an toàn: build, test, quét bảo mật và deploy
Pipeline triển khai an toàn: build, test, quét bảo mật và deploy

Nên gia cố, refactor hay xây lại MVP vibe code?

Hãy chọn theo triệu chứng. Nhiều founder hoảng nên xây lại khi không cần, hoặc hy vọng quá nên sửa không đủ. Đây là bảng ra quyết định chúng tôi dùng khi review một prototype:

Audit phát hiện gìHướng xử lýCông việc cụ thểThời gian thường gặp
Code đọc hiểu được, mô hình dữ liệu hợp lý, nhưng thiếu phân quyền, secret để sai chỗ hoặc webhook không được kiểm traGia cốBật và test phân quyền theo dòng, chuyển secret về server và xoay vòng key, xác thực webhook thanh toán, thêm rate limit và backupVài ngày đến ~2 tuần
Tính năng chạy được nhưng động vào là hỏng; không có test; logic lặp lại khắp nơi; không theo dõi lỗiRefactorViết test quanh 3–5 luồng tạo ra doanh thu, gom logic dùng chung, thêm log, cảnh báo và pipeline deploy~3–5 tuần
Mô hình dữ liệu sai với nghiệp vụ, auth tự viết, bị khóa vào nền tảng, hoặc sửa chỗ này hỏng hai chỗ khácXây lại phần lõiBackend và mô hình dữ liệu mới trên stack tiêu chuẩn, giữ lại UI và nội dung đã được kiểm chứng, chuyển dữ liệu sang~6–10 tuần
Có dữ liệu thuộc diện quản lý chặt (y tế, thẻ thanh toán, tài chính)Xây lại với tuân thủ được thiết kế sẵnKhoanh vùng dữ liệu nhạy cảm vào một phạm vi nhỏ, tách biệt, thêm audit log, ký các thỏa thuận với nhà cung cấp (ví dụ BAA) trước khi go-liveTùy phạm vi; nên dự trù ở mức cao

Hai dấu hiệu cho thấy bạn cần xây lại chứ không phải refactor: bạn không giải thích nổi mô hình dữ liệu của chính mình trong một trang giấy, hoặc app chỉ chạy được trên hosting của công cụ đã tạo ra nó. Xuất được code mà không mang được môi trường chạy đi thì chưa phải là sở hữu.

Bảng quyết định: gia cố (vài ngày đến ~2 tuần), refactor (~3–5 tuần), xây lại phần lõi (~6–10 tuần) hoặc xây lại với tuân thủ thiết kế sẵn, chọn theo kết quả audit app vibe code
Hình 1: Bảng quyết định: gia cố (vài ngày đến ~2 tuần), refactor (~3–5 tuần), xây lại phần lõi (~6–10 tuần) hoặc xây lại với tuân thủ thiết kế sẵn, chọn theo kết quả audit app vibe code

Đưa prototype vibe code lên production năm 2026 tốn bao nhiêu?

Các mức giá công khai vào tháng 10/2026 trải từ vài trăm USD cho một lượt audit nhanh đến 15.000–50.000 USD cho việc xây lại toàn bộ. Chúng tôi đã kiểm tra các trang báo giá công khai ngày 7/10/2026:

Loại dịch vụMức giá công khai (10/2026)Thời gian công bốBạn nhận được gì
Audit chẩn đoán nhanh299 – 900 USD48 giờ – 3 ngàyQuét bảo mật và rò rỉ dữ liệu, báo cáo phát hiện, kế hoạch sửa
Audit codebase chuyên sâu~3.000 USD~1 tuầnBáo cáo toàn bộ codebase, danh sách việc cần sửa theo ưu tiên, khuyến nghị refactor hay xây lại
Sprint cứu hộ / ổn địnhTừ ~6.000 – 10.000 USD~3–5 tuầnSửa lỗi nghiêm trọng, auth, thanh toán, test, pipeline deploy
Xây lại / chuyển đổi toàn bộ~15.000 – 50.000 USD~4–8 tuầnKiến trúc production, chuyển dữ liệu, bàn giao

Để so sánh, BeevR công khai ba gói MVP giá cố định trên trang chi phí phát triển MVP. Pitch Demo 4K USD: khoảng 10 ngày, một luồng nghiệp vụ chính chạy trên hạ tầng thật. Investor MVP 18K USD: khoảng 6 tuần, 3–5 luồng chính, có auth và phân quyền theo vai trò, được test để vượt qua thẩm định kỹ thuật. Flagship Sprint 38K USD: khoảng 10 tuần, 5–8 luồng, bộ test đầy đủ và load test, deploy tự động có rollback, giám sát đầy đủ. Việc xây lại phần lõi của một app vibe code thường có phạm vi tương đương Investor MVP. Sản phẩm cần mở rộng sau vòng gọi vốn thì gần với Flagship Sprint hơn. Nếu có dữ liệu thuộc diện quản lý, quy tắc BeevR công bố là: làm tuân thủ ngay từ đầu cộng thêm khoảng 15–25% chi phí, còn vá thêm về sau cộng thêm 40–80%.

Kết quả rẻ nhất hiếm khi đến từ con số rẻ nhất. Một lượt audit 300 USD khuyên bạn xây lại có thể giúp bạn tránh 10.000 USD refactor cho đống code rồi cũng phải bỏ. Hãy chi cho audit trước.

Checklist sẵn sàng production cho app làm bằng AI gồm những gì?

Chạy 25 điểm kiểm tra này trước khi người dùng thật hoặc tiền thật chạm vào app. Mỗi điểm chỉ có có hoặc không. Bất kỳ câu "không" nào ở hai nhóm đầu đều chặn việc ra mắt.

Truy cập dữ liệu và xác thực (chặn ra mắt)

  1. Phân quyền theo dòng đã bật cho mọi bảng chứa dữ liệu người dùng, và đã được test bằng một tài khoản thứ hai không phải admin.
  2. Không có secret hay service key nào trong bundle trình duyệt, app mobile hay repo công khai (tìm trong file JS đã build, không chỉ trong source).
  3. Mọi API route đều kiểm tra người gọi là ai và người đó có được chạm vào bản ghi cụ thể này không.
  4. Chức năng admin nằm sau một vai trò riêng, không phải một URL ẩn.
  5. Mật khẩu, session và đặt lại mật khẩu dùng nhà cung cấp auth đã được kiểm chứng, không tự viết.
  6. Bucket lưu file mặc định là private, chia sẻ bằng signed URL.

Secret và thanh toán (chặn ra mắt)

  1. Mọi key từng xuất hiện trong prompt, log chat hay phía client đều đã được xoay vòng.
  2. Webhook thanh toán xác thực chữ ký của nhà cung cấp và idempotent (sự kiện gửi lại không làm trừ tiền hay cấp quyền hai lần).
  3. Giá và giới hạn gói được kiểm soát ở server, không bao giờ tin vào client.
  4. Dữ liệu thẻ không đi qua server của bạn (checkout do nhà cung cấp host hoặc tokenization giúp bạn tránh phần lớn phạm vi PCI).

Độ tin cậy

  1. Có backup tự động, và bạn đã khôi phục thử ít nhất một lần.
  2. Rate limit cho đăng nhập, đăng ký và mọi endpoint tốn tiền (gọi AI, SMS, email).
  3. Kiểm tra dữ liệu đầu vào ở server cho mọi form và API.
  4. Có môi trường staging tách biệt production, dùng key riêng.
  5. Có index database cho các truy vấn ở màn hình chính.
  6. Deploy bằng script và rollback được trong một bước.

Giám sát

  1. Theo dõi lỗi ở cả frontend và backend, có người cụ thể nhận cảnh báo.
  2. Log có cấu trúc với request ID, không chứa dữ liệu cá nhân hay secret.
  3. Kiểm tra uptime, kèm cảnh báo cho luồng tạo ra doanh thu.
  4. Có audit trail cho các thao tác nhạy cảm (đổi quyền, xuất dữ liệu, xóa).

Tính năng AI

  1. Giới hạn chi tiêu cứng theo người dùng và theo ngày cho các lệnh gọi LLM, có cảnh báo trước khi chạm ngưỡng.
  2. Prompt và tool call không truy cập được dữ liệu mà người dùng hiện tại không được xem.
  3. Output của model được coi là đầu vào không tin cậy: không bao giờ thực thi, không chèn thẳng vào SQL hay HTML khi chưa escape.
  4. Nếu người dùng ở EU trò chuyện với AI, hệ thống phải nói rõ đó là AI ngay từ lần tương tác đầu (xem checklist Điều 50 EU AI Act cho developer).

Quyền sở hữu

  1. Công ty bạn đứng tên repo, tài khoản cloud, tên miền và database, và app chạy được bên ngoài hosting của công cụ đã tạo ra nó.

Tự audit app vibe code trong một buổi chiều thế nào?

Bạn có thể bắt được phần lớn lỗi chặn ra mắt trong khoảng bốn giờ mà không cần là kỹ sư. Làm lần lượt như sau:

  1. Test hai tài khoản (1 giờ). Tạo hai tài khoản người dùng thường. Với tài khoản A, tạo vài bản ghi. Với tài khoản B, thử mở bản ghi của A bằng cách đổi ID trên URL, rồi lặp lại các lệnh gọi từ tab Network của trình duyệt. Nếu thấy dữ liệu tải được, dừng lại và sửa phân quyền trước.
  2. Tìm trong bundle (30 phút). Mở trang đã deploy, xem các file JavaScript được tải, tìm secret, service_role, sk_live và tên các nhà cung cấp bạn dùng. Có publishable key hay anon key là bình thường. Có secret key là lỗi chặn ra mắt.
  3. Gửi lại webhook thanh toán (30 phút). Trong test mode của nhà cung cấp thanh toán, gửi cùng một sự kiện webhook hai lần. Kiểm tra xem bạn có cấp quyền hay cộng tiền hai lần không.
  4. Kiểm tra chi phí (30 phút). Mở trang usage của nhà cung cấp LLM, đặt giới hạn cứng theo tháng kèm cảnh báo. Ước tính chi phí của một người dùng hoạt động mỗi ngày, rồi nhân với mục tiêu người dùng lúc ra mắt.
  5. Diễn tập khôi phục (1 giờ). Tạo một bản backup và khôi phục vào một database nháp. Nếu không làm được, nghĩa là bạn chưa có backup.
  6. Kiểm tra quyền sở hữu (30 phút). Liệt kê mọi tài khoản app phụ thuộc vào (hosting, database, auth, email, thanh toán, AI key, tên miền) và ai đang đứng tên từng cái. Thứ gì đang đứng tên freelancer hoặc công cụ thì chuyển về tên bạn.

Nếu bước 1–3 đều qua, nhiều khả năng bạn chỉ cần gia cố. Nếu trượt ở nhiều chỗ, hãy nhờ chuyên gia review trước khi chi tiền sửa.

BeevR làm gì khi một prototype cần trở thành sản phẩm?

Chúng tôi bắt đầu bằng một lượt review của kỹ sư senior trên những gì đang có, giữ lại phần chạy tốt, rồi báo giá cố định theo từng giai đoạn, không tính theo giờ. Cụ thể, theo những gì đã công bố trên beevr.ai:

  • Từ prototype lên production là việc chúng tôi đã làm. Trong case study agent bảo mật macOS, agent của khách chạy tốt khi mở tay nhưng hỏng khi chạy nền như daemon, và không cài được vì chưa ký số và notarize. Chúng tôi sửa tận gốc mô hình thực thi, build lại theo Hardened Runtime của Apple, và để lại cho khách một pipeline tạo bộ cài đã ký chỉ bằng một lệnh. Đây là một dự án gói Investor MVP, giá cố định, không phát sinh phạm vi. Dự án không làm bằng vibe coding, nhưng là cùng một khoảng cách: bản demo chạy được còn sản phẩm thì không.
  • Giá cố định, công khai. Các gói 4K / 18K / 38K USD ở trên có trên trang giá, và bạn sở hữu 100% code, IP và repo từ ngày đầu.
  • Dữ liệu thuộc diện quản lý được xử lý ngay từ thiết kế. Chúng tôi xây AI agent theo chuẩn HIPAA, có BAA với che dữ liệu PHI và audit log chống chỉnh sửa. Chúng tôi cũng xây hệ thống thanh toán theo kiến trúc PCI DSS 4.0, ví dụ bộ cổng thanh toán hợp nhất trên Stripe, Adyen và PayPal, chạy serverless trên AWS. Trang bảo mật của chúng tôi liệt kê các biện pháp kiểm soát và ghi rõ chuẩn nào chúng tôi tuân theo (aligned) thay vì đã được chứng nhận.
  • Cứu dự án AI bị kẹt. Dịch vụ phát triển AI agent của chúng tôi có mảng agent rescue: pilot bị đình trệ, chi phí vượt kiểm soát, hay bị chặn vì tuân thủ. Chúng tôi audit bản build, giữ phần chạy tốt và thiết kế lại phần quản trị.
  • Code mở để bạn kiểm tra. Kite, framework agent giấy phép MIT của chúng tôi, coi LLM là thành phần không tin cậy, có kernel kiểm duyệt, kill switch và idempotency. Nebula chạy GraphRAG hoàn toàn trong trình duyệt (Apache-2.0, hơn 430 test). Cả hai đều có trên BeevR Labs.
  • Hạ tầng AI production chúng tôi tự vận hành. beevr.ai và sản phẩm ESG ecocheck.ai của chúng tôi đều chạy một MCP server công khai, chỉ đọc, để trợ lý AI truy vấn trực tiếp. Bạn có thể xem server card tại beevr.ai và ecocheck.ai.

Các dự án khác có ở trang case study. Nếu prototype của bạn sắp đến tay nhà đầu tư, hãy đọc thêm nhà đầu tư kiểm tra gì trong MVP.

Câu hỏi thường gặp

App làm bằng Lovable hay Bolt có đủ an toàn để lên production không?

Có thể, nhưng chỉ sau khi đã có người kiểm tra phân quyền, secret và thanh toán. Các nền tảng này tạo app chạy được rất nhanh. Bảo vệ dữ liệu người dùng vẫn là trách nhiệm của chủ app, như tranh cãi quanh CVE-2025-48757 đã cho thấy.

Sửa một app vibe code tốn bao nhiêu?

Các mức giá công khai tháng 10/2026 vào khoảng 299–3.000 USD cho audit, khoảng 6.000–10.000 USD để bắt đầu một sprint cứu hộ, và lên tới 15.000–50.000 USD nếu xây lại toàn bộ. Để so sánh, gói Investor MVP giá cố định của BeevR là 18K USD trong khoảng 6 tuần.

Nên xây lại từ đầu hay sửa cái đang có?

Sửa nếu mô hình dữ liệu ổn và vấn đề chỉ là thiếu kiểm soát. Xây lại phần lõi nếu mô hình dữ liệu sai, auth tự viết, hoặc sửa gì cũng làm hỏng chỗ khác. Dù chọn hướng nào, hãy giữ lại UI và những hiểu biết về người dùng.

Sau khi cứu app, có tiếp tục dùng công cụ AI để code được không?

Được. Khi đã có test, phân quyền và bước review, dùng công cụ AI an toàn hơn nhiều, vì lỗi bị bắt trước khi ship chứ không phải do người dùng phát hiện.

Mất bao lâu để MVP vibe code sẵn sàng production?

Gia cố mất vài ngày đến khoảng hai tuần, refactor khoảng 3–5 tuần, xây lại phần lõi khoảng 6–10 tuần. Có dữ liệu thuộc diện quản lý thì nên dự trù ở mức cao.

BeevR là studio phần mềm và AI do founder dẫn dắt, đội ngũ senior, đặt tại Hà Nội. Chúng tôi làm giá cố định theo từng giai đoạn, bạn sở hữu toàn bộ code và IP từ ngày đầu, và chuyên xây AI production cho các ngành có quy định chặt. Nếu bạn có một prototype chạy ngon trong bản preview, hãy kể cho chúng tôi nghe bạn đã làm gì. Chúng tôi sẽ nói thẳng nó cần gia cố, refactor hay xây lại, kèm một con số cố định.