Trong những ngày đầu của kỷ nguyên lập trình hỗ trợ bởi AI, nhiều người đã thực hiện một phương pháp mà giờ đây chúng ta gọi là "Vibe Coding". Phương pháp này bao gồm việc viết một prompt cho mô hình AI, nhận về một khối mã nguồn, và thực hiện copy-paste vào dự án cho đến khi cảm thấy nó hoạt động được. Dù mang lại kết quả nhanh chóng cho các dự án nhỏ, phương pháp này thường thiếu đi sự chặt chẽ cần thiết cho các hệ thống phần mềm chuyên nghiệp.
Khi các mô hình AI ngày càng trở nên mạnh mẽ hơn, một kỷ luật mới đang dần hình thành: Agentic Engineering. Được phổ biến bởi những người dẫn đầu ngành như Andrej Karpathy và Peter Steinberger, sự chuyển dịch này thay đổi trọng tâm từ việc viết code thủ công sang việc điều phối một hệ thống các AI agents để tự động xây dựng, kiểm thử và bảo trì phần mềm.
Bài viết này sẽ đi sâu vào 5 trụ cột định nghĩa nên kỷ nguyên phát triển mới này. Bằng cách hiểu rõ các nguyên tắc này, bạn có thể chuyển đổi từ việc viết prompt đơn giản sang xây dựng các hệ thống phần mềm mạnh mẽ, có khả năng tự phục hồi bằng cách tận dụng AI ở quy mô chuyên nghiệp.
I. Context Engineering và Second Brain
Quy tắc quan trọng nhất của Agentic Engineering là: Ngữ cảnh là vua (Context is king). Các AI agents chỉ thực sự hiệu quả khi chúng được cung cấp thông tin chính xác. Context Engineering là kỹ thuật cung cấp cho agent đúng lượng dữ liệu cần thiết—mới nhất và cô đọng nhất—mà không làm nó bị choáng ngợp bởi những tệp tin không liên quan.
Một phần cốt lõi của việc này là khái niệm "Second Brain" (Bộ não thứ hai). Điều này bao gồm việc lưu trữ các thông tin không nằm trực tiếp trong mã nguồn, chẳng hạn như tài liệu kỹ thuật (specs), các quyết định về kiến trúc và các quy tắc nghiệp vụ (domain rules). Bạn có thể thực hiện điều này bằng cách duy trì một thư mục .claude hoặc .ai cục bộ chứa các tài liệu mà agent có thể truy xuất dễ dàng.
# Tài liệu dự án: CLAUDE.md
## Tech Stack
- Next.js 15 (App Router)
- Tailwind CSS
- Shadcn/UI
## Architecture
- Sử dụng Server Components làm mặc định.
- Quản lý state thông qua React Context chỉ cho phần UI.
- Kiểm tra tính hợp lệ (Validation) bằng Zod.
## Domain Rules
- Mọi tính toán tiền tệ phải sử dụng thư viện Decimal.js để tránh lỗi số thực dấu phẩy động.II. Agentic Validation
Agentic Validation chuyển trách nhiệm đảm bảo chất lượng (QA) từ con người sang một vòng lặp tự động của AI. Thay vì con người phải kiểm tra thủ công từng thay đổi, agent sẽ được cung cấp các công cụ để tự kiểm tra kết quả đầu ra của chính mình. Điều này tạo ra một vòng lặp tự sửa lỗi (self-correcting loop) giúp cải thiện đáng kể độ tin cậy của phần mềm.
Đối với các tác vụ back-end, agent nên tự động chạy các unit tests hoặc integration tests. Đối với front-end, agent có thể sử dụng các công cụ trình duyệt để chụp ảnh màn hình và so sánh kết quả hiển thị với thiết kế được yêu cầu. Trong lập trình di động, các công cụ như Android Debug Bridge (ADB) cho phép agent mô phỏng tương tác của người dùng và xác minh hành vi.
III. Agentic Tooling
Khi một AI agent gặp khó khăn trong một tác vụ, giải pháp không phải lúc nào cũng là một prompt tốt hơn; thường thì đó là một công cụ tốt hơn. Trụ cột này tập trung vào việc loại bỏ "ma sát" (friction) trong vòng lặp agent. Nếu một agent đang gặp nút thắt cổ chai, kỹ sư nên xây dựng một công cụ cụ thể hoặc CLI (Giao diện dòng lệnh) để giúp agent thực hiện tác vụ đó hiệu quả hơn.
Nhiều nhà phát triển nâng cao sử dụng Model Context Protocol (MCP) để cung cấp cho agent quyền truy cập chuẩn hóa vào cơ sở dữ liệu cục bộ, công cụ tìm kiếm hoặc hệ thống tệp tin. Bằng cách xây dựng các "kỹ năng" (skills) tùy chỉnh, bạn đảm bảo con người không còn là rào cản trong quá trình thực thi.
# Ví dụ về một công cụ CLI tùy chỉnh được xây dựng cho agent
agent-tool --generate-docs --path ./src/components --output ./docs/api.mdIV. Agentic Codebases
Hầu hết các mã nguồn hiện nay được viết để con người có thể đọc được, nhưng Agentic Engineering yêu cầu codebase phải được tối ưu hóa cho các AI agents. Một codebase "bị nhiễm độc"—đầy mã nguồn rác (dead code), các pattern không nhất quán, hoặc các quá trình chuyển đổi (migrations) dang dở—sẽ tạo ra sự nhầm lẫn mang tính xác suất cho AI.
Để tối ưu hóa codebase cho agent, các kỹ sư phải thực thi sự nhất quán nghiêm ngặt. Điều này bao gồm cấu trúc tệp chuẩn hóa và hệ thống ghi nhật ký (logging) dành riêng cho AI. Bằng cách cung cấp một observability stack đầy đủ mà agent có thể truy vấn (sử dụng các công cụ như LogQL), agent có thể tự đọc nhật ký, xác định lỗi và sửa lỗi mà không cần sự can thiệp của con người.
V. Compound Engineering
Trụ cột cuối cùng là Compound Engineering (Kỹ thuật cộng hưởng), một khái niệm mô tả cách các nỗ lực trên bồi đắp lẫn nhau theo thời gian. Khi một đội ngũ tập trung hóa ngữ cảnh, vòng lặp kiểm thử và các công cụ tùy chỉnh, trí tuệ tập thể của hệ thống agent sẽ phát triển theo cấp số nhân.
trong môi trường này, mỗi công cụ mới được thêm vào thư viện hoặc mỗi quy tắc nghiệp vụ được ghi lại trong "Second Brain" sẽ giúp mọi agent trong tương lai trở nên mạnh mẽ hơn. Hiệu ứng cộng hưởng này cuối cùng dẫn đến một trạng thái nơi hệ thống có thể về cơ bản "tự xây dựng chính nó", với các kỹ sư con người đóng vai trò là kiến trúc sư và người phê duyệt cấp cao thay vì là người viết code thủ công.
Kỷ nguyên lập trình thủ công đang dần được thay thế bởi kỷ nguyên điều phối (orchestration). Bằng cách nắm vững 5 trụ cột này, bạn sẽ đứng ở vị trí dẫn đầu trong bước tiến tiếp theo của ngành kỹ thuật phần mềm.