Nếu bạn từng thức cả đêm dán thông báo lỗi vào ChatGPT, bấm "Apply" mà không đọc kỹ diff (so sánh mã cũ và mới) rồi cầu nguyện cho hệ thống chạy được, thì đó không phải kỹ thuật phần mềm—đó là vibe coding. Trong vận hành thực tế, "vibe" (cảm giác) là kẻ thù của sự ổn định. Muốn đạt hiệu suất thật mà không đánh đổi chất lượng, bạn cần chuyển sang agentic engineering.
Agentic engineering là việc điều phối các AI agent—những thực thể biết lập kế hoạch, dùng công cụ và ra quyết định theo từng bước—dưới sự giám sát và kỷ luật nghiêm ngặt của kỹ sư.
Thay vì chỉ dùng AI như một công cụ "autocomplete" nâng cao, bạn đang thiết kế môi trường và bộ luật để agent vận hành. Đây là một thay đổi về tư duy: bạn không còn là người gõ phím thuê, mà là kiến trúc sư và người điều phối (orchestrator).
Nhiều lập trình viên đang trải qua cảm giác "tang tóc" (mourning) khi việc viết code thủ công lùi dần vào dĩ vãng. Nhưng nghề kỹ sư không biến mất—nó chỉ "khó theo một cách khác". 84% lập trình viên đã dùng AI, nhưng tới 46% không tin vào độ chính xác của nó. Agentic engineering sinh ra để lấp khoảng cách niềm tin đó bằng kỷ luật kỹ thuật, thay vì sự kỳ vọng hão huyền.

Agentic engineering là gì?
Thuật ngữ này, được Andrej Karpathy và các kỹ sư tại OpenAI, Meta thúc đẩy, nhằm tách bạch giữa "lập trình theo cảm hứng" và "kỹ thuật điều phối agent". "Agentic" ám chỉ một hệ thống đa agent biết tự lặp (iterate), biết dùng công cụ (terminal, trình duyệt) và tự sửa lỗi. "Engineering" nhấn mạnh rằng đây là một kỷ luật có thể học, đo lường và tối ưu.
Hãy coi mỗi AI agent như một "lập trình viên junior cực kỳ nhiệt huyết: đọc nhiều nhưng thiếu kinh nghiệm thực chiến". Nó đọc gần hết Stack Overflow, viết code nhanh đến khó tin, sẵn sàng refactor một module mười lần không một lời than. Nhưng nó "tự tin một cách sai lầm" (confidently wrong)—thiếu khả năng phán đoán bối cảnh kinh doanh và những quyết định kiến trúc dài hạn mà bạn đã chốt từ ba tháng trước.
Vì vậy, agentic engineering là làm việc cùng máy như một cộng tác viên, chứ không chỉ tiêu thụ kết quả nó nhả ra. Bạn dựng rào chắn (guardrails), định nghĩa mục tiêu và kiểm soát luồng thực thi. Khi bạn ngừng gõ code và bắt đầu thiết kế hệ thống để AI tự viết code, đó chính là lúc bạn làm agentic engineering.
Khác gì so với vibe coding và prompt engineering?
Để khỏi lạc giữa rừng thuật ngữ marketing, hãy phân biệt rạch ròi ba cấp độ tiếp cận AI:

- Vibe coding: Tâm thế "YOLO" (You Only Live Once). Bạn đưa prompt, AI nhả code, bạn chấp nhận mà không review diff; lỗi thì lại dán ngược vào cho AI sửa. Cách này chỉ hợp với prototype nhanh hay script cá nhân. Nó đẻ ra "AI slop"—đống code rác làm phình nợ kỹ thuật (technical debt) vì chẳng ai thực sự hiểu logic bên dưới.
- Prompt engineering: Tập trung vào kỹ thuật viết câu lệnh (input) để nhận về một kết quả (output) duy nhất. Đây là mô hình hỏi-đáp một bước (one-shot), nơi con người vẫn phải tự tay nối logic giữa các lần hỏi.
- Agentic engineering: Một quy trình đa bước, có hệ thống và lặp lại. Thay vì trông chờ một câu lệnh thần thánh, bạn thiết kế vòng lặp: thực thi → kiểm tra → sửa lỗi.
| Đặc điểm | Vibe Coding | Prompt Engineering | Agentic Engineering |
|---|---|---|---|
| Tâm thế | Hy vọng (Hoping) | Thử nghiệm (Experimenting) | Kỷ luật (Discipline) |
| Quy trình | Chạy và sửa mù quáng | Câu lệnh một bước | Lặp lại: Plan → Act → Check |
| Review code | Bỏ qua | Quét qua loa | Review nghiêm túc như PR |
| Kiểm thử | Không có hoặc ít | Thủ công | Tự động hóa (Agentic Validation) |
Vai trò mới: từ người viết code đến người điều phối
Giá trị của một senior software engineer đang đổi chiều mạnh. Trước đây, bạn được trả lương cao nhất để viết 500 dòng code khó nhất. Giờ chi phí thực thi (implementation) đã tiến gần về 0, nhưng chi phí ra quyết định (decision cost) lại vọt lên.

Giá trị của bạn bây giờ nằm ở 50 dòng code "không bao giờ được phép sai"—phần cốt lõi định đoạt kiến trúc, bảo mật và độ ổn định. Khi 84% lập trình viên dùng AI nhưng phần đông không tin nó, vai trò "người đánh giá" (reviewer) trở nên quan trọng hơn bao giờ hết.
Nhưng điều này kéo theo một rủi ro mà Addy Osmani gọi là "teo tóp kỹ năng" (skill atrophy). Nếu junior developer lạm dụng agent mà không xây nền tảng (hệ điều hành, thuật toán, debug), họ sẽ thành những "Prompt DJ" bó tay khi hệ thống thực sự gặp sự cố. Bạn không thể điều phối một đội quân agent nếu chính bạn không biết "code tốt" trông ra sao.
Một quy trình agentic engineering trong thực tế
Một quy trình chuẩn không khởi đầu bằng việc gõ lệnh code. Nó bám một vòng lặp chặt: Research → Plan → Implement.

1. Research (Nghiên cứu)
Dùng các chế độ như "Ask mode": agent được đọc file nhưng không được ghi file. Mục tiêu là để nó động não tìm các trường hợp biên (edge case) và nắm luồng dữ liệu hiện tại trước khi đụng vào code. Một dòng nghiên cứu sai có thể kéo theo hàng trăm dòng code rác.
2. Plan (Lập kế hoạch)
Trước khi thực thi, agent phải đưa ra một file spec hoặc kế hoạch (chẳng hạn lưu trong thư mục plans/). Bạn review bản kế hoạch đó như review một bản vẽ kiến trúc: nó phải chỉ rõ những file nào sẽ đổi, các lệnh test cần chạy và phạm vi (scope) công việc.
3. Implement (Thực thi)
Duyệt kế hoạch xong mới chuyển sang "Code mode". Chia nhỏ công việc, commit thường xuyên, coi Git là lớp review PR đầu tiên của bạn. Các công cụ như Cursor hay AI DevKit giúp bạn theo dõi thay đổi một cách cô đọng.
Ví dụ một file cấu hình luật chơi (.cursorrules hoặc agents.md):
# Project Rules for Agents
- Phải chạy `npm test` sau mỗi lần chỉnh sửa logic.
- Không được thay đổi cấu trúc database mà không có sự đồng ý của con người.
- Sử dụng Log QL để kiểm tra system logs nếu quá trình validation thất bại.
- Mọi service mới phải tuân thủ pattern Dependency Injection.
Những nguyên tắc kỷ luật quyết định thành bại
Muốn vận hành agentic engineering cho ra trò, bạn cần nắm vững năm trụ cột:

1. Context Engineering (Quản lý ngữ cảnh)
Context là vua, nhưng nhiều context chưa chắc là tốt. Mô hình có xu hướng "ngu đi" (suy giảm theo xác suất thống kê) khi ngữ cảnh vượt quá 50% cửa sổ ngữ cảnh (context window). Hãy nạp thông tin "tươi và cô đọng". Một lỗi kinh điển: bật Postgres MCP (Model Context Protocol, kết nối thẳng vào database) khi đang làm front-end—vừa gây nhiễu, vừa đốt token, khiến agent dễ ảo giác. Quản lý ngữ cảnh vì thế là kỹ năng sống còn.
2. Agentic Validation (Xác thực tự động)
Đừng bao giờ tin lời agent nói "xong rồi". Agent phải tự viết test và tự chạy test. OpenAI đã dùng Log QL để cấp cho agent khả năng quan sát (observability) sâu vào hệ thống. Nếu agent không tự nhìn được log hay kết quả test, nó sẽ chỉ đoán mò theo xác suất.
3. Agentic Tooling (Công cụ hỗ trợ)
Dựng các CLI hoặc dùng MCP để giảm ma sát. Nếu agent vật lộn với một thao tác thủ công, hãy viết cho nó một script. Mục tiêu: con người không còn là nút thắt cổ chai (bottleneck) trong luồng thực thi của máy.
4. Agentic Codebase (Mã nguồn tối ưu cho AI)
Chúng ta không còn viết code chỉ để người đọc. Một codebase hiện đại phải tối ưu cho cả AI: dọn code rác, chuẩn hóa cấu trúc file, và ghi thẳng các "nguyên tắc vàng" (Golden Principles) vào repo dưới dạng Markdown. Kiến thức domain mà không nằm trong codebase thì coi như không tồn tại với agent.
5. Compound Engineering (Đòn bẩy tích lũy)
Khi bạn gom đủ bộ quy tắc, lệnh CLI và quy trình chuẩn, hiệu suất tăng theo hàm mũ. Khác biệt giữa một kỹ sư bình thường và một kỹ sư agentic xuất sắc lộ rõ sau 6–12 tháng—lúc hệ thống của người thứ hai gần như tự vận hành và tự bảo trì.
Lập trình viên nên bắt đầu từ đâu?
Lời khuyên thực dụng: chọn một công cụ (như Cursor, Claude Code hay AI DevKit) và bắt đầu rèn tay (get reps). Bạn cần tự cảm nhận giới hạn của từng mô hình—khi nào nên tin, khi nào phải giành lại quyền kiểm soát.
Hãy dựng "bộ não thứ hai" (second brain) cho dự án: lưu các quyết định kiến trúc và domain logic vào những file Markdown ngay trong repo. Khi agent có dữ liệu thật để truy xuất (RAG), chất lượng code bật lên thấy rõ. Đừng phụ thuộc vào một giao diện duy nhất—hãy xây một portable workflow (quy trình mang đi được) để kỷ luật của bạn luôn theo bạn dù công cụ có đổi.
Các câu hỏi thường gặp
Agentic engineering có khiến lập trình viên mất việc không? Không, nhưng nó đổi bản chất công việc: bạn chuyển từ người gõ code sang kiến trúc sư. Những ai chỉ biết viết code boilerplate mà thiếu tư duy hệ thống mới là nhóm rủi ro cao nhất.
Tại sao agent của tôi thường làm sai dù prompt rất kỹ? Đó là nhiễu ngữ cảnh. Lạm dụng quá nhiều MCP (như Postgres MCP khi làm UI) hoặc vượt quá 50% cửa sổ ngữ cảnh khiến mô hình suy giảm khả năng suy luận. Hãy chia nhỏ task và làm sạch ngữ cảnh.
Khác biệt lớn nhất giữa AI Assistant và AI Agent là gì? Assistant chỉ gợi ý code hoặc giải thích. Agent thì thực thi: nó đọc file, chạy lệnh terminal, kiểm tra log và tự sửa lỗi cho đến khi đạt mục tiêu.
Khi nào nên tự viết code thay vì dùng agent? Hãy tự tay xử lý logic cốt lõi, phần nhạy cảm về bảo mật, hoặc các quyết định kiến trúc chiến lược. Để agent gánh những việc tốn thời gian như viết test suite, refactoring hay dọn code rác.
Tài liệu tham khảo
- Agentic Engineering: Working With AI, Not Just Using It — Brendan O'Leary
- What is Agentic AI Engineering (Meta Staff Engineer Explains)
- My Experience in Agentic Engineering — Codeaholicguy
- Agentic Engineering — Addy Osmani
- What is Agentic Engineering? — Mehul Gupta
- What is Agentic Engineering? — IBM