Khác biệt thật không nằm ở công cụ bạn mở ra, mà ở chỗ ai đóng vòng phản hồi: mắt bạn, hay một cỗ máy chạy không cần bạn thức. The real difference isn't the tool you open. It's who closes the feedback loop: your eyes, or a machine that runs while you sleep.
Nguồn: bảng so sánh của productcompass.pm, đăng kèm case study Grok Build for VS Code — 110K lượt cài, 37K người dùng hằng tháng, 5.200+ unit test do agent lên kế hoạch và tự viết. Source: comparison table by productcompass.pm, posted with the Grok Build for VS Code case study — 110K installs, 37K monthly users, 5,200+ unit tests planned and written by agents.
Nét đứt là nhánh phản hồi — thứ quyết định lúc chạy xem code có được đi tiếp hay không. Bên trái, nhánh đó là mắt người và chỉ nhìn thấy đường đi đúng. Bên phải, nhánh đó là máy.Dashed lines are the feedback branch — what decides at runtime whether code moves forward. On the left, that branch is human eyes, and eyes only see the happy path. On the right, it's a machine.
Điểm dừng là cảm giác "trông có vẻ chạy".It stops at "looks like it works."
Điểm dừng là một cổng tự động nói đúng hoặc sai.It stops at an automated gate that says true or false.
Bắt đầu bằng câu hỏi mà bảng so sánh gốc bỏ qua: liệu có cần viết phần mềm không.Start with the question the original table skips: does this need software at all.
Bảng tính hoặc công cụ có sẵn giải quyết được không?
│
├─ CÓ ──▶ KHÔNG CẦN CODE. Dừng tại đây.
│
└─ KHÔNG
│
└─ Code này có chạm dữ liệu thật của người khác không?
│
├─ CÓ ──▶ Có người chịu trách nhiệm lúc 2h sáng không?
│ ├─ CÓ ────▶ AGENTIC ENGINEERING
│ └─ KHÔNG ─▶ Chưa đủ điều kiện làm.
│
└─ KHÔNG
│
└─ Hai tuần nữa bạn có còn dùng nó không?
│
├─ KHÔNG ─▶ VIBE CODING
│
└─ CÓ ────▶ Quá ~500 dòng, nhiều hơn một service,
hoặc sẽ có người thứ hai sửa?
├─ KHÔNG ─▶ VIBE CODING + test phần lõi
└─ CÓ ────▶ AGENTIC ENGINEERING
Can a spreadsheet or an existing tool solve it?
│
├─ YES ─▶ NO CODE NEEDED. Stop here.
│
└─ NO
│
└─ Does this code touch other people's real data?
│
├─ YES ─▶ Is anyone accountable at 2 a.m.?
│ ├─ YES ─▶ AGENTIC ENGINEERING
│ └─ NO ──▶ Not ready to build yet.
│
└─ NO
│
└─ Will you still use it two weeks from now?
│
├─ NO ──▶ VIBE CODING
│
└─ YES ─▶ Over ~500 lines, more than one service,
or will a second person edit it?
├─ NO ──▶ VIBE CODING + tests on the core
└─ YES ─▶ AGENTIC ENGINEERING
Chỉ đi xuống một bậc khi bậc trên đã chạm trần, và bạn nói được trần đó là gì. Đường chuyển tiếp lành mạnh nhất: vibe code để tìm ra hình dạng đúng của vấn đề, rồi viết spec từ prototype đó và dựng lại. Prototype là công cụ nghiên cứu, không phải nền móng. Move down a rung only when the one above has hit a ceiling you can name. The healthiest path across: vibe code to find the real shape of the problem, then write a spec from that prototype and rebuild. A prototype is a research instrument, not a foundation.
Mô tả bằng lời, nhận code, chạy thử, dừng lại khi màn hình hết đỏ. Mọi quyết định kiến trúc nằm ở phần mô hình tự đoán — phần duy nhất bạn không tham gia. Describe it in plain language, take the code, run it, stop when nothing is red. Every architectural decision lives in what the model guessed — the one part you weren't in.
Chọn vibe coding là đổi khả năng hiểu và sửa hệ thống về sau lấy tốc độ có bản chạy được ngay bây giờ. Choosing vibe coding trades your ability to understand and change the system later for speed to something that runs right now.
Dấu hiệu nhận biết: nếu code này hỏng lúc 2h sáng mà không ai cần biết, vibe coding là đủ. How to recognize it: if this breaks at 2 a.m. and nobody needs to know, vibe coding is enough.
Bạn thiết kế hệ thống sản xuất phần mềm, agent chạy bên trong nó. Agent sinh code; hệ thống — không phải bạn — quyết định code đó có được đi tiếp hay không. You design the system that produces software and let agents run inside it. The agent generates code; the system — not you — decides whether it moves forward.
Chọn agentic engineering là đổi tốc độ và công sức của vài tuần đầu lấy khả năng thay đổi hệ thống an toàn trong nhiều tháng sau. Choosing agentic engineering trades speed and effort in the first few weeks for the ability to change the system safely for months afterward.
Dấu hiệu nhận biết: nếu code này hỏng lúc 2h sáng và có người phải thức dậy, bạn cần agentic engineering. How to recognize it: if this breaks at 2 a.m. and someone has to wake up, you need agentic engineering.
Các trục lấy từ chi phí thật của chủ đề này: thời gian, chi phí sửa, rủi ro dữ liệu, và ai chịu trách nhiệm.Axes taken from this subject's real costs: time, cost of change, data risk, and who owns the failure.
| TrụcAxis | Vibe coding | Agentic engineering |
|---|---|---|
| Thời gian tới bản chạy đượcTime to something running | 10 phút – vài giờ10 minutes – a few hours | Vài ngày – vài tuầnDays – weeks |
| Chi phí tính năng thứ 20Cost of the 20th feature | Tăng theo cấp sốGrows exponentially | Gần như phẳngRoughly flat |
| Kỹ năng tối thiểuMinimum skill | Mô tả được nhu cầuDescribe what you want | Đọc code + thiết kế hệ thốngRead code + system design |
| Ai kiểm chứng kết quảWho verifies | Mắt người, lúc demoHuman eyes, at demo time | Test, CI, giám sát productionTests, CI, production monitoring |
| Rủi ro bảo mật và dữ liệuSecurity and data risk | Cao, không có gì chặnHigh, nothing blocking it | Thấp nếu guardrail đúngLow with correct guardrails |
| Bàn giao cho người khácHandoff | Gần như không thểNearly impossible | Được, qua spec và testWorks, via specs and tests |
| Chi phí vận hànhRunning cost | Gần bằng khôngNear zero | Token, CI, hạ tầng giám sátTokens, CI, monitoring stack |
| Khi hỏng thì ai chịuWho owns the failure | Không rõUnclear | Người viết specWhoever wrote the spec |
| Tác động nghề nghiệpCareer effect | Kỹ năng dễ bị thay thếAn easily replaced skill | Kỹ năng điều khiển hệ thốngA system-control skill |
Bảy sai lầm hay gặp, kèm cách sửa.Seven common mistakes and their fixes.
"Chạy" nghĩa là đường đi đúng không lỗi. Production là nơi toàn đường đi sai."Works" means the happy path didn't fail. Production is all the other paths.
Giữ prototype làm tham chiếu, viết spec từ nó, dựng lại có test.Keep the prototype as reference, write a spec from it, rebuild with tests.
Công cụ không phải phương pháp. Không spec, không test, không guardrail thì vẫn là vibe coding chạy nhanh hơn.Tools aren't methods. No spec, no tests, no guardrails means vibe coding at higher speed.
Kiểm bằng một câu hỏi: cổng tự động nào sẽ chặn agent nếu nó sai?Test it with one question: which automated gate stops the agent when it's wrong?
Agent sẽ viết test khớp với code hiện tại, kể cả phần sai. Bộ test luôn xanh và vô dụng.The agent writes tests matching the current code, including the wrong parts. The suite stays green and useless.
Test bám theo spec, viết trước hoặc song song, và phải thấy nó đỏ ít nhất một lần.Tests follow the spec, written first or in parallel, and must fail at least once.
Context loãng làm mô hình bám vào chi tiết không liên quan, tốn token và giảm độ chính xác.Diluted context makes the model latch onto irrelevant detail, burns tokens, lowers accuracy.
Nạp đúng file liên quan cộng một file quy ước dự án ngắn.Load the relevant files plus one short conventions file.
Một lệnh sai là mất dữ liệu thật, không có bước xác nhận nào ở giữa.One wrong command destroys real data, with no confirmation step in between.
Agent làm trên nhánh riêng, mở PR, không có quyền merge và không giữ khoá production.Agents work on a branch, open PRs, cannot merge, hold no production keys.
Quy trình không tương xứng giá trị sẽ bị lách, và khi đó quy trình thật cũng mất hiệu lực.Process that outweighs the stakes gets routed around, and the process that matters loses force too.
Mức kiểm soát tỉ lệ với chi phí lúc hỏng, không tỉ lệ với mong muốn tỏ ra chuyên nghiệp.Scale control to the cost of failure, not to how professional you want to look.
Code do AI sinh ra trông chỉn chu kể cả khi logic sai. Vẻ ngoài chỉnh tề làm giảm cảnh giác.AI-generated code looks tidy even when the logic is wrong. Neatness lowers your guard.
Review theo danh sách rủi ro cố định: phân quyền, xử lý tiền, truy vấn dữ liệu, trường hợp biên.Review against a fixed risk list: authorization, money, data queries, edge cases.