Vibe coding rất dễ tạo cảm giác thắng.

Bạn gõ một yêu cầu. Màn hình hiện ra. Button có màu. Database có bảng. App deploy được. Trong 30 phút, thứ trước đây mất vài ngày đã có hình.

Cảm giác đó có thật. Nhưng cảm giác nhanh hơn không đồng nghĩa làm nhanh hơn.

Một phần việc đã được chuyển chỗ: từ viết code sang prompt, chờ, đọc diff, test, sửa lỗi, giải thích lại requirement, rollback, và tìm xem AI vừa thay đổi gì ngoài ý muốn.

Tốc độ nhìn thấy được khác tốc độ hoàn tất

AI làm rất nhanh những phần dễ nhìn:

  • Dựng UI.
  • Tạo form.
  • Sinh component.
  • Viết route.
  • Thêm validation cơ bản.
  • Tạo README.
  • Gợi ý test.

Nhưng software không kết thúc ở chỗ “có file”.

Phần khó thường nằm ở:

  • Đúng business rule.
  • Đúng permission.
  • Đúng edge case.
  • Đúng data migration.
  • Đúng trạng thái loading/error.
  • Không phá feature cũ.
  • Không thêm dependency linh tinh.
  • Không che lỗi bằng fallback giả.

Nếu bạn chỉ đo số dòng code hoặc số screen được sinh ra, AI luôn trông rất nhanh. Nếu đo tới lúc ship được, số đo thay đổi.

METR study đáng đọc vì nó đo task thật

METR từng chạy randomized controlled trial với experienced open-source developers làm task thật trên codebase họ quen thuộc. Kết quả gây khó chịu: khi dùng AI tools early-2025, nhóm developer này hoàn thành task chậm hơn, dù trước đó họ dự đoán AI sẽ giúp nhanh hơn và sau đó vẫn có cảm giác nhanh hơn.

Không nên suy luận quá tay rằng “AI luôn làm dev chậm”. Study có phạm vi cụ thể: developer kinh nghiệm, codebase quen thuộc, tool ở thời điểm đó, task open-source thật.

Nhưng nó chỉ ra một điểm rất hợp với vibe coding: perceived productivity rất dễ lừa mình.

Bạn có thể cảm thấy nhanh vì màn hình thay đổi liên tục, trong khi tổng thời gian bị ăn bởi:

  • Prompt lại nhiều vòng.
  • Chờ agent chạy.
  • Review output dài.
  • Sửa lỗi do agent tự tạo.
  • Đọc code mình không viết.
  • Re-test flow cũ.

Non-tech còn dễ bị cảm giác này hơn

Với người không code, cảm giác nhanh càng mạnh.

Trước đây không thể tự build app. Bây giờ prompt một câu có prototype. Khoảng cách từ zero tới demo giảm rất mạnh. Điều đó thật sự có giá trị.

Nhưng cũng vì vậy, non-tech dễ nhầm:

Có demo = gần xong.

Trong software, demo đẹp có thể mới là 20%. Phần còn lại là data thật, role thật, edge case thật, deploy thật, rollback thật, owner thật.

Nếu không có checklist, vibe coding biến thành game nhìn UI đổi màu. Rất vui. Không đủ để ship.

Đo bằng done definition, không đo bằng cảm giác

Trước mỗi batch, viết definition of done:

This task is done only if:
- Main user flow works in browser
- Mobile layout works
- Empty, loading, and error states exist
- Account A cannot see account B data
- No mock data remains in production path
- Build passes
- Diff contains only requested scope
- Rollback point exists

Sau đó yêu cầu agent report theo từng dòng:

For each done criterion, mark pass, fail, unknown, or not tested.
Do not use "looks good".

“Looks good” là cảm giác. Pass/fail/unknown là workflow.

Khi nào AI thật sự làm nhanh hơn

AI thường hữu ích nhất khi task có boundary rõ:

  • Viết component nhỏ theo design có sẵn.
  • Chuyển mockup thành UI.
  • Generate test case từ rule rõ.
  • Refactor một function có scope nhỏ.
  • Tạo migration đã được thiết kế.
  • Viết docs từ code thật.
  • Tìm chỗ cần sửa trong repo lớn.

AI kém hơn khi task mơ hồ:

  • “Làm app này hay hơn.”
  • “Optimize toàn bộ.”
  • “Make it secure.”
  • “Refactor cho clean.”
  • “Fix all bugs.”
  • “Build full SaaS.”

Vibe coding nhanh khi người điều khiển biết cắt task. Nó chậm khi người điều khiển dùng một prompt lớn để né việc nghĩ.

Chốt lại

Cảm giác nhanh là một signal tốt, nhưng là signal yếu. Nó nói rằng AI đang giúp bạn thấy progress. Nó không chứng minh app đã gần production.

Với vibe coding, hãy đo tốc độ bằng thời gian tới một trạng thái kiểm chứng được: flow chạy, data đúng, quyền đúng, build pass, diff đúng scope, rollback có sẵn.

Nếu review ăn hết phần lợi, đó không phải thất bại của AI. Đó là bằng chứng bạn cần task nhỏ hơn, gate sớm hơn, và definition of done rõ hơn.

Tham khảo