1. "Vibe Coding" Là Gì Và Tại Sao Nó Lại Là "Bẫy Ngọt Ngào"?
"Vibe Coding" là cách gọi cho một kiểu phát triển phần mềm trong đó developer mô tả ý tưởng bằng ngôn ngữ tự nhiên và để AI tạo phần lớn code, thay vì tự mình thiết kế và viết từng phần của implementation. Với các coding agent hiện đại, workflow này thậm chí có thể mở rộng từ sinh code sang tạo file, chạy terminal, sửa lỗi và lặp lại cho đến khi đạt kết quả mong muốn.
Quy trình của Vibe Coding rất đơn giản: Bạn mở khung chat AI, gõ một câu mô tả chung chung về tính năng muốn làm (ví dụ: "Viết cho tôi một API quản lý giỏ hàng"), bấm Enter và ngồi nhìn AI tự động viết code, tạo file, chạy terminal. Nếu có lỗi, bạn lại quăng lỗi đó cho AI tự sửa cho đến khi ứng dụng chạy được thì thôi.
Ở những dự án cá nhân nhỏ, Vibe Coding đem lại cảm giác cực kỳ "chill" và năng suất. Nhưng khi áp dụng vào các hệ thống doanh nghiệp phức tạp — nơi cần sự chính xác về kiến trúc, kiểm soát rủi ro và các yêu cầu nghiệp vụ khắt khe — Vibe Coding bắt đầu bộc lộ mặt tối:
- Trôi dạt kiến trúc (Architectural Drift): AI tự ý chọn thư viện, viết code không theo chuẩn chung của dự án.
- Thiếu hụt trường hợp biên (Edge Cases): AI chỉ tập trung làm cho tính năng chạy thành công ở luồng chuẩn ("Happy Path"), bỏ qua xử lý lỗi mạng, đồng bộ dữ liệu hay bảo mật.
- Chi phí sửa lỗi cực đắt: Sửa một thiết kế sai ở bước viết code tốn thời gian và công sức gấp hàng chục lần so với việc làm rõ nó ngay từ đầu. Chi phí sửa lỗi này tỉ lệ thuận với độ phức tạp của hệ thống theo công thức:
Idea → Requirement → Design → Code → Production
$ $$ $$$ $$$$ $$$$$
Thực tế: Code là phần dễ nhất — quyết định chính xác cần xây dựng cái gì mới là nơi chúng ta thường thất bại. Để thoát khỏi "bẫy" Vibe Coding, chúng ta cần đưa quy trình bàn giao từ Product sang Engineering (Product-to-Engineering Handoff) vào trong workflow của AI Agent. Đó chính là lý do Spec-Kit ra đời.
2. Spec-Kit & Antigravity (agy): Bộ Đôi "Thiết Kế Chuẩn - Thực Thi Nhanh"
Nếu Google Antigravity (agy) là một chiếc xe đua F1 với khả năng thực thi mạnh mẽ, thì Spec-Kit chính là bản đồ đường đua, hệ thống chỉ dẫn và những quy tắc giúp chiếc xe đi đúng hướng. Thay vì để AI lập tức lao vào viết code, Spec-Kit đưa AI đi qua một quy trình Spec-Driven Development: từ việc hiểu vấn đề, làm rõ yêu cầu, thiết kế giải pháp cho đến chia nhỏ công việc thành các task có thể thực thi và kiểm chứng.
Quy trình làm việc của Spec-Kit:
[Vấn đề / Ý tưởng ban đầu]
└── /speckit.constitution (Đặt luật & nguyên tắc phát triển)
└── /speckit.specify (Đặc tả yêu cầu — "Cái gì?")
└── /speckit.clarify (Làm rõ các điểm mơ hồ & edge cases)
└── /speckit.plan (Thiết kế kỹ thuật — "Làm như thế nào?")
└── /speckit.tasks (Bẻ nhỏ thành các task có thể thực thi)
└── /speckit.analyze (Kiểm tra consistency, coverage & compliance)
└── /speckit.implement (Agent bắt đầu viết code)
└── /speckit.converge (Đối chiếu implementation với spec/plan/tasks)

Điểm quan trọng của workflow này là AI không cần phải tự đoán toàn bộ ý định của người dùng trong lúc viết code. Các quyết định quan trọng đã được làm rõ và thể hiện qua những artifact trung gian — từ specification, technical plan cho đến tasks. Khi Antigravity Agent bắt đầu implementation, nó có một “bản thiết kế” rõ ràng hơn để dựa vào, thay vì vừa đoán yêu cầu vừa viết code.
3. Hướng Dẫn Cài Đặt Spec-Kit Và Antigravity (agy) Trên Windows
Dưới đây là các bước để bạn chuẩn bị môi trường làm việc chuẩn mực này trên Windows bằng PowerShell.
Bước 1: Giải thích về lệnh irm và iex trong PowerShell
Trong các tài liệu cài đặt bằng PowerShell, bạn sẽ thường thấy các câu lệnh có dạng:
irm https://example.com/install.ps1 | iex
Giải thích cú pháp chi tiết:
irm(viết tắt củaInvoke-RestMethod): Lệnh có sẵn của PowerShell dùng để gửi yêu cầu HTTP/HTTPS đến một URL và tải dữ liệu (ở đây là file kịch bản cài đặt.ps1) về bộ nhớ tạm.iex(viết tắt củaInvoke-Expression): Lệnh dùng để thực thi (chạy) chuỗi lệnh hoặc kịch bản vừa tải về đó ngay lập tức.- Dấu đường ống
|: Chuyển kết quả tải về từirmthẳng sang choiexxử lý mà không cần lưu file ra ổ cứng.
Bước 2: Cài đặt uv Package Manager
Spec-Kit khuyến nghị sử dụng uv — trình quản lý gói cực nhanh dành cho Python. Mở PowerShell dưới quyền Administrator và chạy:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Khởi động lại PowerShell sau khi cài xong và kiểm tra bằng:
uv --version
Bước 3: Cài đặt Spec-Kit (Specify CLI)
Dùng uv để cài đặt công cụ specify-cli toàn cục trên máy tính:
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git
Bước 4: Cài đặt Antigravity CLI (agy)
Antigravity có 2 phiên bản: bản giao diện (IDE .exe) và bản dòng lệnh (CLI). Để Spec-Kit có thể gọi trực tiếp Antigravity trong Terminal, bạn cần cài đặt bản CLI để có file thực thi agy.exe:
irm https://antigravity.google/cli/install.ps1 | iex
Sau khi cài đặt xong, khởi động lại PowerShell và kiểm tra lệnh agy:
agy --version
Bước 5: Kiểm tra liên kết giữa Spec-Kit và agy
Chạy lệnh kiểm tra của Spec-Kit:
specify check
Nếu hệ thống liệt kê Antigravity / agy ở trạng thái Available, bạn đã sẵn sàng trải nghiệm workflow mới!
4. Mẹo Nhỏ: Đồng Bộ Tài Liệu Spec-Kit Với Artifacts Của Antigravity
Mặc định, Spec-Kit lưu trữ tài liệu trong thư mục dự án (/specs/{feature-name}/*), trong khi Antigravity lại quản lý kế hoạch trong thư mục bộ nhớ riêng của Agent để hiển thị giao diện Artifact View (Task checklist, Implementation Plan).
Để 2 công cụ này hòa hợp hoàn hảo ở bước cuối, khi gọi lệnh /speckit.implement, bạn có thể bổ sung prompt dưới đây để yêu cầu agy tự động trích xuất nội dung từ tasks.md và plan.md của Spec-Kit sang thư mục bộ nhớ của Antigravity:
- Parse tasks.md structure, extract the following information and create task.md in your brain directory to show as Artifact View to breakdown the work into checklist:
- Task phases: Setup, Tests, Core, Integration, Polish
- Task dependencies: Sequential vs parallel execution rules
- Task details: ID, description, file paths, parallel markers [P]
- Execution flow: Order and dependency requirements
- Create implementation_plan.md in your brain directory as Artifact View based on task plan. This artifact MUST contain technical details on what revisions are necessary and is meant to be reviewed by the user.
- Ask the user to review the task.md and implementation_plan.md Artifacts in your brain directory before starting execution. DO NOT skip this step!
Bằng cách này, bạn vừa lưu giữ được bộ tài liệu thiết kế có version control trong Git, vừa tận dụng được giao diện theo dõi tiến độ tuyệt vời của Antigravity IDE!
Lời Kết
Vibe Coding không phải là thứ cần loại bỏ. Khi mục tiêu là thử nghiệm nhanh, xây prototype hoặc kiểm chứng một ý tưởng, việc để AI tự do viết và iterates có thể mang lại tốc độ đáng kinh ngạc. Nhưng khi một feature bắt đầu có nhiều business rules, dependencies và rủi ro, tốc độ viết code không còn là yếu tố duy nhất cần quan tâm.
Đó là lúc Spec-Driven Development trở nên đáng giá. Thay vì chỉ yêu cầu AI “viết code cho tôi”, chúng ta chuyển sang một cách làm có cấu trúc hơn: làm rõ vấn đề → đặc tả yêu cầu → thiết kế giải pháp → chia nhỏ công việc → kiểm tra → rồi mới implementation.
Với cách tiếp cận này, SpecKit giúp định hướng và kiểm soát quá trình ra quyết định, còn Google Antigravity (agy) đảm nhiệm phần thực thi. AI vẫn viết code — nhưng code được tạo ra dựa trên một specification rõ ràng hơn, thay vì dựa vào những phỏng đoán trong quá trình coding.
Vì vậy, câu hỏi không phải là “Vibe Coding hay Spec-Driven Development?”, mà là “Feature này cần mức độ kỷ luật đến đâu?”. Với một prototype nhỏ, hãy vibe. Với một hệ thống phức tạp, hãy specify trước khi code.
Nhận xét