vibe coding / agentic engineering

Vibe coding hoãn ngày bạn bị thay thế. Agentic engineering đưa bạn sang phía cầm lái. Vibe coding postpones your replacement. Agentic engineering moves you to the steering side.

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.

Vòng hở và vòng kínOpen loop, closed loop

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.

vòng hởopen loop

Điểm dừng là cảm giác "trông có vẻ chạy".It stops at "looks like it works."

Open loop: prompt, model, run, then human eyes prompt model run mắt người — chỉ thấy đường đúnghuman eyes — happy path only

vòng kínclosed loop

Đ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.

Closed loop: spec, agent, tests and CI, telemetry back to spec spec agent test · CI review · deployreview · deploy log · metric · alertlogs · metrics · alerts

Chọn cái nào, trong 30 giâyWhich one, in 30 seconds

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
  • làm tayby hand
  • ›
  • bảng tínhspreadsheet
  • ›
  • no-code
  • ›
  • mua sẵnbuy it
  • ›
  • vibe coding
  • ›
  • 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.

vòng hở · khám pháopen loop · discovery

Vibe coding

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.

dùng chouse it for

  • Prototype cho buổi họp chiều nay
  • Script chạy một lần: gộp file, đổi tên, cào dữ liệu
  • Thử một thư viện lạ trước khi đọc tài liệu
  • Công cụ nội bộ có đúng một người dùng là bạn
  • A prototype for this afternoon's meeting
  • One-shot scripts: merging files, renaming, scraping
  • Trying an unfamiliar library before reading the docs
  • Internal tools with exactly one user: you

đượcyou gain

  • Ý tưởng tới bản bấm được trong 10–60 phút
  • Không cần cú pháp, môi trường hay tài liệu
  • Chi phí bỏ đi bằng không
  • Số ý tưởng thử được mỗi tuần tăng nhiều lần
  • Idea to clickable in 10–60 minutes
  • No syntax, no setup, no docs first
  • Zero cost to throw away
  • Several times more ideas tested per week

mấtyou lose

  • Bug ẩn: code chạy, kết quả sai
  • Khoá API trong frontend, endpoint không kiểm quyền
  • Sửa một chỗ vỡ ba chỗ
  • Không bàn giao được cho ai
  • Tính năng thứ 20 đắt gấp nhiều lần tính năng đầu
  • Silent bugs: it runs, the answer is wrong
  • API keys in the frontend, endpoints with no auth
  • Fix one thing, break three
  • Nobody can take it over
  • The 20th feature costs many times the first

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.

vòng kín · sản xuấtclosed loop · production

Agentic engineering

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.

dùng chouse it for

  • Sản phẩm có người trả tiền
  • Bất cứ thứ gì chạm dữ liệu nhạy cảm
  • Codebase nhiều người cùng sửa
  • Việc lặp ở quy mô lớn: di trú 200 endpoint, viết bù test
  • Products people pay for
  • Anything touching sensitive data
  • Codebases many people edit
  • Repetitive work at scale: migrating 200 endpoints, backfilling tests

đượcyou gain

  • Lỗi bị chặn ở cổng tự động, nơi sửa rẻ hơn nhiều
  • Thông lượng tăng theo số agent, không theo giờ ngồi máy
  • Test trở thành tài liệu sống cho người mới
  • Spec và test dùng lại được với mô hình thế hệ sau
  • Failures caught at gates, where fixes are far cheaper
  • Throughput scales with agents, not hours at the screen
  • Tests double as living documentation
  • Specs and tests carry over to the next model generation

mấtyou lose

  • 1–3 tuần dựng nền trước khi thấy lợi ích
  • Vẫn phải đọc được code để chất vấn
  • Test kém còn tệ hơn không có test
  • Chi phí token và thời gian chờ CI
  • Quá tay thì quy trình biến thành nghi lễ
  • 1–3 weeks of setup before the payoff
  • You still need to read code well enough to question it
  • Bad tests are worse than none
  • Token spend and CI wait time
  • Overbuilt process turns into theater

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.

Bảng đánh đổiTrade-offs

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

Anti-patterns

Bảy sai lầm hay gặp, kèm cách sửa.Seven common mistakes and their fixes.

Đưa prototype lên production vì "nó chạy rồi"Shipping a prototype because "it works"

"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.

Gọi việc dùng một công cụ agent là agentic engineeringCalling agent-tool usage "agentic engineering"

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 viết test sau khi code đã "pass bằng mắt"Writing tests after the code passed by eye

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.

Nhồi cả repo vào context cho chắcDumping the whole repo into context

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.

Cấp credential production cho agent để nó "tự xử lý"Giving an agent production credentials

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.

Dựng CI bảy tầng cho một trang giới thiệuSeven CI stages around a landing page

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.

Đọc lướt PR của agent vì nhìn có vẻ sạch sẽSkimming agent PRs because they look clean

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.

Ba câu cần nhớThree sentences to keep

  1. Khác biệt cốt lõi nằm ở vòng phản hồi: vibe coding để con người làm điểm kiểm chứng duy nhất, agentic engineering giao việc đó cho máy và giữ con người lại để phán xử.The core difference is the feedback loop: vibe coding makes a human the only checkpoint; agentic engineering hands that job to machines and keeps humans for judgment.
  2. Hai cách này không xếp hạng cao thấp — chúng tối ưu cho hai giai đoạn khác nhau, và dùng sai giai đoạn thì cách nào cũng đắt.Neither is superior — they optimize for different phases, and using either in the wrong phase is expensive.
  3. Kỹ năng đáng đầu tư không phải gõ code nhanh hơn, mà là mô tả được thế nào là đúng và dựng được hệ thống tự kiểm chứng điều đó.The skill worth investing in isn't typing code faster; it's defining what "correct" means and building a system that verifies it.