Ý định
Định nghĩa kết quả mong muốn thật cụ thể.
"Cải thiện dashboard" thì mơ hồ. "Giảm thời gian tải bằng cách hoãn biểu đồ không quan trọng, giữ nguyên bộ lọc" mới tạo được vòng phản hồi chặt.
Bước tiến của vibe coding: thay vì prompt tay từng bước, bạn thiết kế cả một vòng lặp để agent tự lập kế hoạch, sửa code, kiểm chứng kết quả rồi tự điều chỉnh tới khi xong. Prompt engineering lo input; loop engineering lo cả quy trình quanh model.
Loop engineering là việc thiết kế, vận hành và cải thiện các vòng phản hồi để agent lập kế hoạch, thay đổi code, quan sát kết quả và điều chỉnh cho tới khi hoàn thành.
Sức mạnh không nằm ở một bước nào mà ở chỗ khép kín vòng lặp. Một test thất bại không chỉ là lỗi — nó là ngữ cảnh mới. Một lỗi type không chỉ là vật cản — nó là tín hiệu cho thấy một giả định đã sai.
Một vòng lặp cơ bản gồm năm bước — chạy đi chạy lại tới khi kết quả được chấp nhận hoặc gặp vật cản cần con người.
Định nghĩa kết quả mong muốn thật cụ thể.
"Cải thiện dashboard" thì mơ hồ. "Giảm thời gian tải bằng cách hoãn biểu đồ không quan trọng, giữ nguyên bộ lọc" mới tạo được vòng phản hồi chặt.
Nạp đủ code, tài liệu, log, ràng buộc.
Thiếu thì agent đoán bừa, thừa thì model bị nhiễu. Ngữ cảnh nên giải thích dự án hoạt động ra sao, chứ không phải để lấp đầy cửa sổ context.
Sửa file, chạy lệnh, gọi tool, viết plan.
Diff nhỏ, dễ đảo ngược thì dễ kiểm chứng và dễ sửa. Viết lại lớn khiến khó biết giả định nào sai khi có lỗi.
Thu về bằng chứng thật.
Kết quả test, lỗi compiler, output runtime, diff, comment review. Nếu agent không "nhìn" được kết quả thì nó chạy mù.
Cập nhật plan rồi lặp lại.
Dựa trên quan sát, agent sửa cách làm và chạy tiếp — cho tới khi validation pass hoặc gặp vật cản cần quyền/dữ liệu/quyết định con người.
Bức tranh giữa 2026. Nhiều đội dùng 2–3 tool cùng lúc — ví dụ Cursor cho dòng chảy hằng ngày, Claude Code cho refactor phức tạp cần hiểu sâu codebase.
Claude Code, Codex, Gemini CLI, Aider.
Agent-first: bạn giao mục tiêu, agent tự lập kế hoạch, sửa nhiều file, chạy test và báo lại. Truy cập trực tiếp filesystem, shell, git. Bạn review sau.
Cursor, Windsurf, Antigravity, Zed.
IDE-first: bạn lái editor và duyệt từng diff inline. Cursor có trải nghiệm parallel agent native hoàn thiện nhất cùng cộng đồng lớn nhất.
Kiro, Spec Kit, BMAD, OpenSpec.
Nhánh đối lập với "vibe" thuần: định nghĩa requirements, design, tasks trong spec có cấu trúc rồi agent làm theo. Spec chính là "Intent" được viết ra tường minh.
Devin, OpenHands, Jules.
Chạy tác vụ nền trong VM từ xa rồi mở PR. Hợp việc chạy song song, không chiếm máy của bạn — bạn xem lại qua pull request.
Từ chọn tác vụ đến đóng gói vòng lặp tái sử dụng — con người vẫn giữ ghế phán xét.
"Sửa test tính thuế ở checkout đang fail" tốt hơn "debug checkout". Tác vụ hẹp giúp agent biết file nào quan trọng.
Nêu hành vi người dùng thấy được, khu vực file liên quan, thứ không được đổi, và lệnh validation phải pass.
Cho agent đọc code lân cận, pattern hiện có, và rule file của dự án (CLAUDE.md, .cursor/rules) để tôn trọng convention.
Bước hay bị bỏ. Đưa lệnh test cụ thể, endpoint, kịch bản chấp nhận — để agent không dừng ngay sau khi sinh code mà chưa kiểm tra.
Sửa nhỏ → chạy test/type check nhắm đúng → đọc output → sửa → lặp. Ưu tiên thay đổi review được.
Tự động hoá phần thu thập bằng chứng và sửa cơ học; giữ quyết định sản phẩm, kiến trúc, review cuối cho người. Khi một quy trình chạy tốt, đóng gói thành pattern chuẩn.
Mỗi cái ứng với một phần vòng lặp bị thiếu. Giải pháp chung: mục tiêu rõ, diff nhỏ, tool giới hạn phạm vi, duyệt tay cho hành động rủi ro.
Sửa liên tục mà không hội tụ — do mục tiêu mơ hồ hoặc diff quá lớn.
Test pass nhưng sai yêu cầu thực — validation không phản ánh đúng ý định.
Agent làm theo giả định cũ, bỏ lỡ chỉnh sửa của người khác.
Chạy lệnh phá hủy, đè file, hoặc push chưa review — cần phân quyền và quy tắc dừng.
Nếu tầng kỹ thuật rẻ đi và nhanh lên như vậy, tầng kinh doanh dịch chuyển thế nào — ai được lợi, ai chịu ép? Chia hai phía: công ty công nghệ và doanh nghiệp phi công nghệ.
Rào cản làm ra sản phẩm gần như biến mất — có khi anh Quảng chém 3tr là có thật chăng?
Hàng trăm dev tay ngang ra đời. Không giữ được moat — dữ liệu riêng, chi phí migrate cao, network effect — thì khách sẵn sàng đổi nhà cung cấp ngay.
Khi ai cũng ra được bản chạy được, khác biệt dồn về độ tinh, độ ổn định và trải nghiệm — thứ khó sao chép.
Code thành hàng hoá phổ thông; phân phối, thương hiệu, tích hợp và chăm sóc mới giữ khách. Đội nhỏ hơn nhưng senior hơn.
Biên lợi nhuận phần mềm không còn ~0. Ai chạy rẻ hơn trên mỗi kết quả sẽ có lợi thế giá bền vững.
Quyền chọn nhiều hơn đi kèm sản phẩm kém chất lượng tràn lan — cần chọn mặt gửi vàng. Uy tín, case study thật và bảo hành thành bộ lọc.
Doanh nghiệp thi nhau automate, nhanh và khủng khiếp hơn. Nhưng có thực giảm chi phí / tăng doanh thu không thì phải đo kỹ, đừng lắp AI cho có.
Lắp AI lên quy trình cũ tạo ít giá trị. Người thắng là người thiết kế lại cách vận hành quanh AI, không phải người mua nhiều tool nhất.
Càng nhiều agent chạm dữ liệu, rủi ro rò rỉ và tuân thủ càng lớn. Quản trị rủi ro trở thành năng lực cạnh tranh, không phải chi phí phụ.
Khi ai cũng làm được, phương án ít token, rẻ và hiệu quả hơn sẽ thắng. Lợi thế nghiêng về người sở hữu dữ liệu độc quyền và quan hệ khách hàng.
Cả hai phía dịch theo cùng một hướng: giá trị rời khỏi việc tạo ra sản phẩm (ngày càng rẻ) và dồn về phán đoán, phân phối, niềm tin và dữ liệu độc quyền — những thứ AI chưa sao chép được.
Chọn tín hiệu phản hồi theo tác vụ: test-driven cho bug fix, compiler-driven cho migration, review-driven khi comment con người là nguồn quan sát, runtime khi cần log và screenshot. Agent chạy vòng lặp nhanh; con người vẫn sở hữu ý định sản phẩm, mức chấp nhận rủi ro và review cuối cùng.
"Đừng prompt từng bước — hãy thiết kế vòng lặp và để agent tự chạy tới khi validation pass."