Tại Sequoia's AI Ascent 2026, Andrej Karpathy — đồng sáng lập OpenAI, cựu giám đốc AI của Tesla, và nhà sáng lập Eureka Labs — đã mở đầu bằng một lời thú nhận đáng ngạc nhiên: ông chưa bao giờ cảm thấy mình lạc hậu hơn trong vai trò lập trình viên. Không phải vì ông mất kỹ năng, mà vì các công cụ lập trình hỗ trợ AI đang thay đổi ý nghĩa của lập trình nhanh hơn bất kỳ ai có thể theo kịp.
Karpathy đã trình bày một khung ba giai đoạn để hiểu sự chuyển dịch này: vibe coding, agentic engineering, và Software 3.0. Đây là mô hình tư duy rõ ràng nhất mà bất kỳ ai từng đưa ra về hướng đi của phát triển phần mềm — và những kỹ năng nào sẽ quan trọng nhất.
Ý chính
Vibe coding cho phép bất kỳ ai xây dựng bằng prompts. Agentic engineering cho phép chuyên gia xây dựng với AI agents trong khi duy trì chất lượng. Software 3.0 là khi mạng nơ-ron trở thành lớp lập trình chính. Chúng ta hiện đang chuyển tiếp từ giai đoạn 1 sang giai đoạn 2.
Vibe Coding là gì?
Vibe coding là thuật ngữ của Karpathy cho giai đoạn hiện tại, nơi bất kỳ ai — có chuyên môn kỹ thuật hay không — cũng có thể xây dựng phần mềm bằng cách mô tả những gì họ muốn bằng ngôn ngữ tự nhiên. Bạn bảo AI "xây dựng cho tôi một trang đích với phần hero, bảng giá và form đăng ký" và nó tạo ra mã hoạt động.
Vibe coding đã nâng mức sàn. Một product manager giờ có thể prototype một app. Một designer có thể xây dựng website chức năng. Một sinh viên có thể tạo công cụ giải quyết vấn đề thực tế. Rào cản xây dựng giảm từ "nhiều năm kinh nghiệm code" xuống "khả năng mô tả những gì bạn muốn."
Các công cụ hỗ trợ vibe coding: Cursor, Bolt, v0, Replit, và ở mức độ nào đó ChatGPT và Claude với code generation.
Giới hạn: Vibe coding tạo ra code chạy được, nhưng thường có lỗi thiết kế tinh vi. Ví dụ của Karpathy: một app do AI tạo khớp thanh toán Stripe với tài khoản Google qua địa chỉ email thay vì ID người dùng cố định. Code chạy tốt. Kiến trúc sai. Lập trình viên junior sẽ không nhận ra. Lập trình viên có kinh nghiệm sẽ phát hiện ngay.
Đây là những gì Karpathy gọi là "jagged intelligence" — khả năng AI không phân bố đều. Các mô hình vượt trội ở lĩnh vực có dữ liệu huấn luyện, phần thưởng và vòng lặp xác minh, và thất bại bất ngờ ở những lĩnh vực khác.
Agentic Engineering là gì?
Agentic engineering là giai đoạn tiếp theo — sử dụng AI agents cho phát triển chất lượng chuyên nghiệp trong khi duy trì sự giám sát con người đối với kiến trúc, quyết định thiết kế và tiêu chuẩn chất lượng.
Nếu vibe coding là "mô tả những gì bạn muốn và chấp nhận những gì AI đưa ra," thì agentic engineering là "sử dụng AI agents để thực thi trong khi bạn chỉ đạo, xem xét và điều chỉnh hướng đi." Vai trò con người chuyển từ viết code sang xem xét code, từ triển khai sang kiến trúc, từ code sang engineering.
Các công cụ hỗ trợ agentic engineering: Claude Code, OpenAI Codex, Hermes Agent, và chế độ agent của Cursor. Những công cụ này không chỉ tạo code — chúng lập kế hoạch nhiệm vụ đa bước, thực thi, kiểm tra kết quả và lặp lại.
| Khía cạnh | Vibe Coding | Agentic Engineering |
|---|---|---|
| Ai làm | Bất kỳ ai — không cần code | Developers có khả năng engineering |
| Vai trò AI | Tạo code từ mô tả | Thực thi kế hoạch đa bước tự động |
| Vai trò con người | Mô tả những gì bạn muốn | Chỉ đạo, xem xét, điều chỉnh |
| Chất lượng đầu ra | Chạy được, nhưng có thể có lỗi thiết kế | Sẵn sàng production với giám sát |
| Kỹ năng chính | Khả năng prompting | Gu thẩm mỹ, phán đoán, kiến thức kiến trúc |
| Xác minh | "Nó chạy không?" | "Nó đúng, an toàn, dễ bảo trì không?" |
Software 3.0 là gì?
Khái niệm lớn nhất của Karpathy. Khung của ông về sự tiến hóa của phần mềm:
Software 1.0: Con người viết từng dòng code. Hướng dẫn rõ ràng. Hành vi xác định. Đây là lập trình truyền thống.
Software 2.0: Mạng nơ-ron học từ dữ liệu. Thay vì viết quy tắc, bạn cung cấp ví dụ và mô hình học pattern. Computer vision, nhận diện giọng nói, hệ thống khuyến nghị. Karpathy đặt tên này năm 2017.
Software 3.0: Large language models trở thành lớp lập trình được. Thay vì chỉ định từng hướng dẫn, developers mô tả mục tiêu, ràng buộc và ngữ cảnh. Mô hình diễn giải và thực thi. Giao diện là ngôn ngữ tự nhiên. Chương trình chính là prompt.
Trong Software 3.0, LLM vừa là runtime vừa là ngôn ngữ lập trình. Bạn không viết code gọi LLM — LLM CHÍNH LÀ code. Prompt CHÍNH LÀ chương trình. Và công việc của developer là thiết kế prompt, quản lý ngữ cảnh và xác minh đầu ra.
Đây là lý do context engineering đang trở thành kỹ năng quan trọng nhất trong AI. Nếu prompt là chương trình, thì ngữ cảnh xung quanh quyết định hành vi chương trình. Quản lý ngữ cảnh đó là hình thức engineering phần mềm mới.
---📬 Nhận được giá trị từ nội dung này? Chúng tôi xuất bản hàng tuần về các kỹ năng quan trọng trong AI. Nhận vào inbox của bạn →
---Tại sao Gu thẩm mỹ quan trọng hơn cú pháp bây giờ?
Câu nói đáng trích dẫn nhất của Karpathy từ bài nói: "Bạn có thể outsource suy nghĩ. Bạn không thể outsource sự hiểu biết."
AI agents có thể viết code, tạo bản nháp, gọi tools và thực thi nhiệm vụ. Nhưng chúng không thể nói cho bạn biết kết quả có tốt không. Điều đó đòi hỏi phán đoán — khả năng nhận ra khi thứ gì đó đúng kỹ thuật nhưng sai kiến trúc, khi code chạy nhưng không scale, khi tính năng hoạt động nhưng tạo lỗ hổng bảo mật.
Karpathy gọi đây là "taste." Đó là khả năng nhìn vào đầu ra do AI tạo và biết nó có đúng không. Không chỉ "nó compile không" mà "một engineer có kinh nghiệm có xây dựng theo cách này không?"
Ý nghĩa thực tiễn: developers hiểu sâu fundamentals sẽ phát triển mạnh. Developers chỉ biết code bề mặt sẽ gặp khó khăn, vì AI làm code bề mặt tốt hơn họ. Giá trị di chuyển lên stack — từ triển khai sang kiến trúc, từ cú pháp sang phán đoán, từ viết code sang đánh giá code.
"Jagged Intelligence" nghĩa là gì?
Đây là thuật ngữ của Karpathy cho sự phân bố khả năng không đều của AI. Các mô hình có thể hoạt động xuất sắc ở một số nhiệm vụ trong khi thất bại bất ngờ ở những nhiệm vụ khác. Trí tuệ không mượt mà — nó gồ ghề.
Thông tin chính: AI tự động hóa những gì có thể verified. Nhiệm vụ có vòng lặp phản hồi rõ ràng — code pass test không? toán học đúng không? đầu ra khớp format mong đợi không? — là nơi AI xuất sắc. Nhiệm vụ đòi hỏi phán đoán trong tình huống mơ hồ — kiến trúc này đúng không? trải nghiệm người dùng trực quan không? chiến lược này hợp lý không? — là nơi AI vẫn gặp khó.
Đối với developers, điều này nghĩa là: đầu ra càng đo lường được, AI tools càng hữu ích. Coding, testing, phân tích dữ liệu và tạo nội dung có cấu trúc rất dễ tự động hóa. Product design, system architecture và quyết định chiến lược vẫn đòi hỏi phán đoán con người.
Bạn cần kỹ năng gì cho Agentic Engineering?
Dựa trên khung của Karpathy, các kỹ năng quan trọng nhất trong kỷ nguyên agentic engineering:
1. Hiểu sâu fundamentals. Khi AI tốt hơn, cám dỗ là học ít đi. Karpathy lập luận ngược lại. Sự hiểu biết trở thành nút thắt. Bạn cần độ sâu đủ để chỉ đạo hệ thống, biết hỏi gì, kiểm tra gì, từ chối gì.
2. Thiết kế hệ thống và kiến trúc. AI viết functions. Bạn thiết kế hệ thống. Hiểu cách các thành phần tương tác, điểm thất bại ở đâu, và xây dựng cho scale trở thành kỹ năng core của developer.
3. Xác minh và xem xét. Khả năng đọc code do AI tạo một cách phê phán — không chỉ "nó hoạt động không" mà "cách tiếp cận này đúng không?" Điều này đòi hỏi kiến thức sâu tương tự như viết code, nhưng áp dụng khác.
4. Prompt và context engineering. Nếu prompt là chương trình, viết prompt tốt chính là lập trình. ICCSSE framework (Identity, Context, Constraints, Steps, Specifics, Examples) áp dụng trực tiếp cho agentic engineering — bạn đưa cho agent thông số rõ ràng, giống như viết design doc cho developer con người.
5. Tool orchestration. Biết dùng AI tool nào cho nhiệm vụ nào. Claude Code cho viết features, Cursor cho chỉnh sửa, Hermes Agent cho automation, Copilot cho gợi ý. Các engineer giỏi nhất kết hợp nhiều tools, không phụ thuộc một cái.
Để rèn luyện prompting cho AI coding tools, thử free Prompt Optimizer — nó áp dụng các khung có cấu trúc cho bất kỳ prompt nào. Và để có hướng dẫn thực tế về top AI coding tools hiện có, xem Claude Code vs Codex comparison của chúng tôi.
---📬 Muốn thêm nội dung tương tự? Chúng tôi bao quát các ý tưởng định hình cách AI practitioners làm việc, hàng tuần. Đăng ký miễn phí →
---Câu hỏi thường gặp
Vibe coding đã chết chưa?
Không. Vibe coding sẽ còn tồn tại — đó là điểm khởi đầu cho non-developers xây dựng phần mềm. Agentic engineering là sự tiến hóa chuyên nghiệp cho những ai cần đầu ra production-quality. Cả hai cùng tồn tại. Hãy nghĩ vibe coding như phác thảo và agentic engineering như kiến trúc.
Tôi có cần học code nếu AI viết code cho tôi không?
Có, nhưng khác đi. Bạn không cần nhớ cú pháp. Bạn cần hiểu phần mềm hoạt động thế nào — data structures, system design, nguyên tắc bảo mật, tradeoffs hiệu suất. Kiến thức giúp bạn đánh giá code do AI tạo có đúng và phù hợp không.
Software 3.0 sẽ phổ biến khi nào?
Đã xảy ra ở một số lĩnh vực hẹp — coding assistants, content generation, data analysis. Full Software 3.0 (nơi hầu hết ứng dụng là LLM-native) còn 3-5 năm nữa dựa trên xu hướng hiện tại. Sự chuyển tiếp sẽ dần dần, không đột ngột.
Sự khác biệt giữa agentic engineering và dùng ChatGPT cho coding là gì?
ChatGPT tạo code snippets từ prompts. Agentic engineering dùng autonomous agents (Claude Code, Codex, Hermes) lập kế hoạch nhiệm vụ đa bước, thực thi trên codebase thực tế, kiểm tra kết quả và lặp lại — tất cả với can thiệp con người tối thiểu. Đó là sự khác biệt giữa hỏi đường và thuê tài xế.
Lưu ý: Một số link trong bài là affiliate links. Chúng tôi chỉ recommend tools đã test và dùng thường xuyên. Xem full disclosure policy của chúng tôi.