Agentic Engineering: Đưa Kỹ thuật Trở Lại Với Lập Trình Hỗ Trợ Bởi AI
Bài viết phân biệt rõ ràng giữa "vibe coding" (lập trình theo cảm hứng) và "agentic engineering" (kỹ thuật hướng tác tử). Trong khi vibe coding là việc chấp nhận mọi thứ AI tạo ra mà không xem xét, thì agentic engineering đòi hỏi kỷ luật, quy trình rõ ràng và sự giám sát của con người. Đây là cách tiếp cận giúp các kỹ sư giàu kinh nghiệm tăng năng suất mà vẫn đảm bảo chất lượng và kiến trúc hệ thống.

Một năm trước, Andrej Karpathy đã đặt ra thuật ngữ "vibe coding" để mô tả một cách lập trình đầy phóng khoáng: bạn đưa ra câu lệnh (prompt), trao bàn phím cho AI, chấp nhận mọi thứ nó tạo ra, không đọc các thay đổi (diffs), và chỉ cần dán thông báo lỗi lại để sửa. Đây là một cái tên hay cho một thực tế tồn tại — xây dựng các nguyên mẫu nhanh hoặc MVP trên chế độ lái tự động hoàn toàn của AI.
Tuy nhiên, vấn đề là "vibe coding" đã trở thành một thuật ngữ chung chung. Người ta hiện nay dùng nó để mô tả mọi thứ từ một dự án cuối tuần đến quy trình kỹ thuật kỷ luật nơi các tác tử AI xử lý việc triển khai dưới sự giám sát của con người. Đây là những hoạt động hoàn toàn khác nhau, và việc đồng nhất chúng đang gây ra sự nhầm lẫn thực sự — và thiệt hại thực sự.
Vibe coding thực chất là gì?
Vibe coding có nghĩa là đi theo cảm hứng và không xem xét mã nguồn. Đó là đặc điểm định nghĩa. Bạn đưa ra lệnh, bạn chấp nhận, bạn chạy nó, và xem nó có hoạt động không. Nếu không, bạn dán lỗi lại và thử lại. Bạn cứ thế đưa ra lệnh liên tục. Con người ở đây giống như một DJ gõ lệnh, không phải là một kỹ sư.
Cách làm này thực sự hữu ích cho:
- Các sản phẩm MVP mới hoàn toàn (greenfield), nguyên mẫu và bản demo hackathon. Bạn cần thứ gì đó hoạt động trước Chủ Nhật. Chất lượng mã nguồn không quan trọng.
- Các tập lệnh cá nhân và công cụ dùng một lần. Bạn là người dùng duy nhất. Nếu nó bị lỗi, bạn tạo lại nó.
- Học tập và khám phá. Người mới có thể xây dựng những thứ họ không thể làm được trước đây, học hỏi từ kết quả đầu ra của AI.
- Suy nghĩ sáng tạo. Cố tình tạo quá nhiều để xem AI đề xuất các cách tiếp cận nào, sau đó loại bỏ nó và xây dựng lại đúng cách.
Nếu vibe coding mang lại khả năng tạo phần mềm tùy chỉnh cho hàng triệu người vốn không thể làm được điều đó trước đây, đó thực sự là một thắng lợi. Kỹ thuật này có một vị trí chính đáng trong hộp công cụ.
Nhưng các chế độ thất bại của nó đã được ghi nhận rõ ràng tại thời điểm này. Mô hình luôn giống nhau: nó demo rất đẹp, sau đó thực tế ập đến. Khi bạn cố gắng sửa đổi, mở rộng quy mô, hoặc bảo mật nó, bạn phát hiện ra rằng không ai hiểu mã nguồn thực sự đang làm gì. Như một kỹ sư đã nói: "Đây không phải là kỹ thuật, đây là sự hy vọng".
Chúng ta cần một thuật ngữ tốt hơn cho phiên bản chuyên nghiệp
Đây là vấn đề: nhiều kỹ sư có kinh nghiệm hiện nay đang đạt được lợi suất năng suất khổng lồ từ AI — gấp 2, gấp 5, thậm chí nhiều hơn — trong khi vẫn duy trì chất lượng mã nguồn. Nhưng cách họ làm việc trông không giống vibe coding chút nào. Họ viết bản đặc tả kỹ thuật (specs) trước khi đưa ra lệnh. Họ xem xét mọi thay đổi. Họ chạy các bộ kiểm thử (test suites). Họ coi AI như một lập trình viên cấp dưới nhanh nhưng không đáng tin cậy cần sự giám sát liên tục. Cá nhân tôi thích thuật ngữ "kỹ thuật có sự hỗ trợ của AI" (AI-assisted engineering) và đã nói về việc nó mô tả đầu kia của phổ hoạt động nơi con người vẫn nằm trong vòng lặp.
Simon Willison (người mà tôi ngưỡng mộ công việc của ông ấy) đã đề xuất "vibe engineering" cho việc này — nó lấy lại từ "vibe" nhưng thêm "engineering" để báo hiệu kỷ luật. Nhưng sau khi theo dõi cộng đồng tranh luận về điều này trong nhiều tháng, tôi nghĩ từ "vibe" mang quá nhiều ý nghĩa phụ. Nó báo hiệu sự tùy tiện. Khi bạn nói với một CTO rằng bạn đang "vibe engineering" hệ thống thanh toán của họ, bạn có thể thấy mối lo lắng trên khuôn mặt họ.
Andrej Karpathy đã đề xuất "agentic engineering" (kỹ thuật hướng tác tử) vào tuần này và tôi nghĩ tôi thích điều này.
Đây có lẽ là lý do tại sao nó hoạt động:
- Nó mô tả những gì thực sự đang xảy ra. Bạn đang điều phối các tác tử AI — các trợ lý lập trình có thể thực thi, kiểm thử và tinh chỉnh mã — trong khi bạn đóng vai trò là kiến trúc sư, người xem xét và người ra quyết định. Bạn có thể chỉ viết một phần nhỏ mã bằng tay. Phần còn lại đến từ các tác tử làm việc dưới chỉ đạo của bạn. Đó là tính chất "hướng tác tử" (agentic). Và bạn áp dụng kỷ luật kỹ thuật trong suốt quá trình. Đó là kỹ thuật.
- Nó chuyên nghiệp. "Agentic engineering" nghe giống như những gì nó thực sự là: một kỷ luật kỹ thuật nghiêm túc liên quan đến các tác tử tự trị. Bạn có thể nói điều này với Phó Giám đốc Kỹ thuật của mình mà không ngại ngùng. Bạn có thể đưa nó vào mô tả công việc. Bạn có thể xây dựng một thực hành nhóm xung quanh nó.
- Nó vẽ một ranh giới rõ ràng. Vibe coding = YOLO (chấp nhận mọi rủi ro). Agentic engineering = AI thực hiện triển khai, con người sở hữu kiến trúc, chất lượng và tính đúng đắn. Bản thân thuật ngữ đã củng cố sự phân biệt này.
Agentic Engineering
Agentic Engineering trông như thế nào trong thực tế
Quy trình làm việc không phức tạp, nhưng nó đòi hỏi sự kỷ luật mà vibe coding rõ ràng bỏ qua:
- Bạn bắt đầu với một kế hoạch. Trước khi đưa ra bất kỳ lệnh nào, bạn viết một tài liệu thiết kế hoặc đặc tả kỹ thuật — đôi khi có sự trợ giúp của AI. Bạn chia nhỏ công việc thành các nhiệm vụ được xác định rõ. Bạn quyết định kiến trúc. Đây là phần mà các vibe coder bỏ qua, và chính là nơi các dự án đi sai hướng.
- Bạn chỉ đạo, sau đó xem xét. Bạn đưa cho tác tử AI một nhiệm vụ có phạm vi rõ ràng từ kế hoạch của bạn. Nó tạo ra mã. Bạn xem xét mã đó với sự chặt chẽ tương tự như bạn áp dụng cho PR (pull request) của đồng đội. Nếu bạn không thể giải thích một mô-đun làm gì, nó không được phép đưa vào.
- Bạn kiểm thử không ngừng nghỉ. Điểm khác biệt lớn nhất giữa agentic engineering và vibe coding là kiểm thử. Với một bộ kiểm thử vững chắc, tác tử AI có thể lặp lại trong vòng lặp cho đến khi các bài kiểm thử vượt qua, mang lại cho bạn sự tự tin cao vào kết quả. Nếu không có kiểm thử, nó sẽ vui vẻ tuyên bố "xong" trên một đoạn mã bị lỗi. Kiểm thử là cách bạn biến một tác tử không đáng tin cậy thành một hệ thống đáng tin cậy.
- Bạn sở hữu mã nguồn. Bạn duy trì tài liệu. Bạn sử dụng kiểm soát phiên bản và CI. Bạn giám sát sản xuất. AI tăng tốc công việc, nhưng bạn chịu trách nhiệm về hệ thống.
Các nhóm làm tốt điều này thường báo cáo phát triển nhanh hơn — và những lợi ích đó đến từ việc tăng cường một quy trình vững chắc, không phải từ bỏ một quy trình. AI xử lý các mã mẫu (boilerplate) và công việc chân tay. Con người tập trung vào kiến trúc, tính đúng đắn, các trường hợp ngoại lệ và khả năng bảo trì lâu dài.
Một điều trớ trêu là phát triển có sự hỗ trợ của AI thực sự thưởng cho các thực hành kỹ thuật tốt nhiều hơn so với lập trình truyền thống. Đặc tả kỹ thuật của bạn càng tốt, đầu ra của AI càng tốt. Các bài kiểm thử của bạn càng toàn diện, bạn càng có thể ủy quyền một cách tự tin. Kiến trúc của bạn càng sạch sẽ, AI càng ít bị ảo giác về các trừu tượng kỳ lạ. Như một phân tích đã lưu ý, "AI không gây ra vấn đề; việc bỏ qua tư duy thiết kế mới là nguyên nhân".
Khoảng cách kỹ năng mà chúng ta đã thảo luận
Đây là một sự thật khó chịu từ thực tế: agentic engineering mang lại lợi ích không cân xứng cho các kỹ sư cấp cao (senior). Nếu bạn có nền tảng kiến thức sâu sắc — bạn hiểu thiết kế hệ thống, mô hình bảo mật, các đánh đổi hiệu suất — bạn có thể tận dụng AI như một lực số nhân khổng lồ. Bạn biết mã tốt trông như thế nào, vì vậy bạn có thể xem xét và sửa đổi đầu ra của AI một cách hiệu quả.
Nhưng nếu bạn là người mới (junior) và bạn dựa vào AI trước khi xây dựng những nền tảng đó, bạn gặp rủi ro của sự teo đi kỹ năng nguy hiểm. Bạn có thể tạo ra mã mà không hiểu nó. Bạn có thể triển khai các tính năng mà không học được lý do tại sao các mô hình nhất định tồn tại. Một số lãnh đạo kỹ thuật đã gắn cờ đây là một cuộc khủng hoảng đang nổi lên: một thế hệ các nhà phát triển có thể đưa ra lệnh nhưng không thể gỡ lỗi (debug), có thể tạo ra nhưng không thể lý luận về những gì họ đã tạo ra.
Đây không phải là một lập luận chống lại phát triển có sự hỗ trợ của AI. Đây là một lập luận để trung thực về những gì nó đòi hỏi. Agentic engineering không dễ hơn kỹ thuật truyền thống — nó là một loại khó khăn khác. Bạn đang đánh đổi thời gian gõ phím lấy thời gian xem xét, nỗ lực triển khai lấy kỹ năng điều phối, viết mã lấy việc đọc và đánh giá mã. Những nền tảng cơ bản quan trọng hơn, không phải ít hơn.
Chúng ta sẽ đi về đâu từ đây
Quỹ đạo rõ ràng: các tác tử AI đang trở nên có khả năng hơn, và quy trình làm việc agentic engineering đang trở thành mặc định cho một số ngày càng lớn các nhà phát triển chuyên nghiệp. Điều này sẽ được thúc đẩy.
Chúng ta cần:
- Thuật ngữ trung thực. Hãy gọi nó là agentic engineering khi bạn có ý nghĩa phát triển có kỷ luật, được hỗ trợ bởi tác tử với sự giám sát của con người. Hãy gọi nó là vibe coding khi bạn có ý nghĩa phiên bản thú vị, phóng khoáng, chỉ dành cho nguyên mẫu. Ngừng sử dụng một thuật ngữ cho cả hai.
- Khung đánh giá tốt hơn. Chúng ta cần các cách có hệ thống để đo lường xem quy trình làm việc có sự hỗ trợ của AI có thực sự tạo ra phần mềm đáng tin cậy hay không, không chỉ là phần mềm nhanh hơn.
- Đầu tư vào nền tảng cơ bản. Khi AI xử lý nhiều việc triển khai hơn, giá trị của tư duy kiến trúc, nhận thức về bảo mật và thiết kế hệ thống tăng lên, không giảm xuống. Các chương trình đào tạo cần thích ứng.
Sự trỗi dậy của lập trình AI không thay thế nghề thủ công của kỹ thuật phần mềm — nó nâng cao tiêu chuẩn cho nó. Những nhà phát triển sẽ phát đạt không phải là người đưa ra lệnh nhanh nhất. Họ là những người suy nghĩ rõ ràng nhất về những gì họ đang xây dựng và tại sao, sau đó sử dụng mọi công cụ có sẵn — bao gồm cả các tác tử AI — để xây dựng nó tốt.
Vibe coding đã cho chúng ta thấy điều gì là có thể khi bạn bỏ qua mọi quy ước.
Đã đến lúc đưa kỹ thuật trở lại. Hãy gọi nó bằng đúng tên của nó.
Bài viết liên quan
Phần mềm
Lo ngại về Bun: Liệu sự suy giảm của Claude Code có phải là điềm báo cho tương lai của runtime này?
04 tháng 5, 2026

Phần mềm
Google phát hành Chrome 148, vá 127 lỗ hổng bảo mật bao gồm các lỗi nghiêm trọng
07 tháng 5, 2026

Phần mềm
Tấn công chuỗi cung ứng WordPress: Kẻ tấn công mua 30 plugin trên Flippa và cài cửa sau
06 tháng 5, 2026
