Từ Vibe Coding Đến Agentic Engineering — Lập Trình Đang Thay Đổi
Posted on: 5/12/2026 10:19:15 AM
Table of contents
- 1. Vibe Coding là gì?
- 2. Bức tranh Vibe Coding năm 2026
- 3. Bước tiến: Từ Vibe Coding đến Agentic Engineering
- 4. Workflow thực tế của Agentic Engineering
- 5. Rủi ro bảo mật — Mặt tối không thể bỏ qua
- 6. Best Practices — Vibe Coding an toàn cho Production
- 7. Vai trò Developer thay đổi thế nào?
- 8. Khi nào KHÔNG nên vibe coding?
- 9. Tương lai — Điều gì tiếp theo?
- Tham khảo
1. Vibe Coding là gì?
Tháng 2/2025, Andrej Karpathy — đồng sáng lập OpenAI, cựu giám đốc AI tại Tesla — đưa ra thuật ngữ Vibe Coding để mô tả cách lập trình mới: developer mô tả yêu cầu bằng ngôn ngữ tự nhiên, AI sinh ra toàn bộ mã nguồn. Thay vì viết từng dòng code, bạn chỉ cần "cảm nhận" và để AI thực hiện.
Ý tưởng cốt lõi: quên rằng code tồn tại. Bạn nói chuyện với AI, mô tả những gì bạn muốn, accept kết quả nếu nó chạy được, và tiếp tục. Không cần đọc hiểu từng dòng code được sinh ra.
Định nghĩa Vibe Coding
Sử dụng ngôn ngữ tự nhiên và công cụ AI để sinh và tinh chỉnh code, thay thế phần lớn quá trình viết code thủ công truyền thống. Developer chuyển từ người viết code sang người mô tả ý định.
2. Bức tranh Vibe Coding năm 2026
Chỉ hơn một năm sau khi thuật ngữ ra đời, vibe coding đã thay đổi toàn bộ ngành phát triển phần mềm:
- 92% developer Mỹ đã áp dụng vibe coding ở các mức độ khác nhau
- 60% code mới được viết trong năm 2026 có sự hỗ trợ của AI
- Thị trường AI coding toàn cầu đạt $8.5 tỷ USD
- Chính Karpathy thừa nhận 80% code của ông hiện tại do AI viết
Các công cụ phổ biến nhất: GitHub Copilot, Cursor, Claude Code, Windsurf, và Cline. Mỗi công cụ đều đang chạy đua trong việc hỗ trợ AI coding agent — từ auto-complete đơn giản đến thực thi toàn bộ workflow phức tạp.
graph LR
subgraph "2023-2024"
A["Autocomplete
Gợi ý code"]
end
subgraph "2025"
B["Vibe Coding
Mô tả -> Code"]
end
subgraph "2026"
C["Agentic Engineering
AI Agent tự thực thi"]
end
A -->|"Tiến hóa"| B -->|"Tiến hóa"| C
style A fill:#f8f9fa,stroke:#e94560,color:#2c3e50
style B fill:#2c3e50,stroke:#fff,color:#fff
style C fill:#e94560,stroke:#fff,color:#fff
3. Bước tiến: Từ Vibe Coding đến Agentic Engineering
Chính Karpathy gần đây đã tuyên bố vibe coding đã lỗi thời. Thuật ngữ mới mà ông ưa thích là Agentic Engineering:
- "Agentic" — vì mặc định bạn không trực tiếp viết code trong 99% thời gian. Bạn điều phối các AI agent thực hiện công việc và đóng vai trò giám sát
- "Engineering" — vì đây là nghệ thuật và khoa học thực sự, đòi hỏi chuyên môn, không phải chỉ gõ prompt rồi hy vọng
| Tiêu chí | Vibe Coding | Agentic Engineering |
|---|---|---|
| Tương tác | Prompt đơn lẻ → nhận code | Orchestrate agent workflows |
| Vai trò developer | Mô tả ý định | Kiến trúc sư + giám sát viên |
| Mức độ tin tưởng | Accept mà không review | Review có hệ thống, test tự động |
| Phạm vi | Sinh code từng đoạn | Thực thi toàn bộ feature/workflow |
| Chất lượng | Tùy thuộc vào prompt | Guardrails + CI/CD + human oversight |
| Phù hợp cho | Prototype, side project | Production, enterprise |
Software 3.0
Nếu Software 1.0 là viết code tường minh, Software 2.0 là học từ dữ liệu (ML/DL), thì Software 3.0 là lập trình bằng ngữ cảnh và prompt tinh vi cho LLM. Context trở thành nền tảng vận hành thay vì code truyền thống.
4. Workflow thực tế của Agentic Engineering
Trong mô hình agentic engineering, developer không viết code trực tiếp mà thiết kế và giám sát một pipeline:
graph TD
A["Developer viết Spec
(Requirements + Constraints)"] --> B["AI Agent phân tích
và lập kế hoạch"]
B --> C["Agent viết code
+ unit tests"]
C --> D["CI/CD chạy tự động
Lint + Test + Security scan"]
D -->|"Pass"| E["Human review
Logic + Architecture"]
D -->|"Fail"| C
E -->|"Approve"| F["Deploy"]
E -->|"Request changes"| B
style A fill:#f8f9fa,stroke:#e94560,color:#2c3e50
style B fill:#2c3e50,stroke:#fff,color:#fff
style C fill:#2c3e50,stroke:#fff,color:#fff
style D fill:#ff9800,stroke:#fff,color:#fff
style E fill:#e94560,stroke:#fff,color:#fff
style F fill:#4CAF50,stroke:#fff,color:#fff
Các bước chính:
- Viết specification chi tiết: Thay vì viết code, developer viết requirements rõ ràng, bao gồm constraints, edge cases, và acceptance criteria
- AI Agent phân tích và thực thi: Agent tự phân tích codebase, lập kế hoạch, viết code và tests
- Validation tự động: CI/CD pipeline chạy linting, type checking, unit tests, security scanning
- Human review: Developer review logic kinh doanh, kiến trúc, và các quyết định thiết kế — không review syntax
# Ví dụ Spec cho Agentic Engineering
## Feature: User Authentication Refresh Token
### Requirements:
- Refresh token phải expire sau 30 ngày
- Mỗi refresh token chỉ dùng được 1 lần (rotation)
- Khi phát hiện reuse → revoke toàn bộ token family
- Rate limit: tối đa 10 refresh requests/phút/user
### Constraints:
- Không thay đổi schema bảng Users hiện tại
- Backward compatible với v2 API
- Token lưu trong Redis với TTL
### Edge cases:
- Concurrent refresh requests từ multiple devices
- Token rotation khi user đổi password
- Clock skew giữa các service instances
5. Rủi ro bảo mật — Mặt tối không thể bỏ qua
Theo phân tích tháng 12/2025, code được AI đồng tác giả chứa nhiều hơn 1.7 lần các lỗi nghiêm trọng so với code do người viết hoàn toàn. Cụ thể:
6 loại rủi ro chính
| Rủi ro | Mô tả | Mức độ |
|---|---|---|
| Prompt Injection | Input độc hại thao túng model để rò rỉ dữ liệu hoặc vô hiệu hóa security checks | Cao |
| Insecure Code Patterns | AI tái tạo các vulnerability đã biết hoặc tạo ra lỗi mới | Cao |
| Tool & Permission Misuse | Agent có quyền truy cập rộng có thể leo thang đặc quyền | Nghiêm trọng |
| Untraceable Provenance | Thiếu commit history và metadata tác giả, khó audit | Trung bình |
| Supply Chain Attacks | Model hoặc plugin bị compromise, agentic workflow khuếch đại tác động | Cao |
| Shadow AI | AI assistant không được phê duyệt vượt qua các kiểm soát đã thiết lập | Trung bình |
Cảnh báo thực tế
Code chạy được và pass basic tests không có nghĩa là an toàn. Production code cần được review chuyên sâu, threat-modeling, và validate bảo mật — bất kể nó do AI hay con người viết.
6. Best Practices — Vibe Coding an toàn cho Production
6.1. Nguyên tắc "AI là Junior Developer"
Team thành công nhất coi AI như một junior developer tài năng nhưng cần giám sát liên tục. AI viết code nhanh nhưng thiếu hiểu biết về business context, security implications, và architectural decisions dài hạn.
6.2. Multi-layered Validation
graph TD
A["AI sinh code"] --> B["Static Analysis
ESLint, SonarQube"]
B --> C["Security Scan
Snyk, Semgrep"]
C --> D["Unit + Integration Tests"]
D --> E["Human Code Review
Logic + Architecture"]
E --> F["Staging Deploy + QA"]
F --> G["Production"]
style A fill:#f8f9fa,stroke:#e94560,color:#2c3e50
style B fill:#2c3e50,stroke:#fff,color:#fff
style C fill:#ff9800,stroke:#fff,color:#fff
style D fill:#2c3e50,stroke:#fff,color:#fff
style E fill:#e94560,stroke:#fff,color:#fff
style F fill:#2c3e50,stroke:#fff,color:#fff
style G fill:#4CAF50,stroke:#fff,color:#fff
6.3. Các vùng cấm cho AI code
Một số vùng nên giữ lại cho human coding:
- Authentication & Authorization: Logic xác thực, phân quyền, token management
- Payment Processing: Xử lý thanh toán, giao dịch tài chính
- Cryptography: Mã hóa, quản lý khóa, signing
- Data Privacy: Xử lý PII, GDPR compliance
6.4. Governance với Version-Controlled Instructions
# .cursor/rules hoặc CLAUDE.md
# File instruction cho AI agent
security:
- Never store secrets in code or config files
- Always parameterize SQL queries
- Use bcrypt for password hashing, minimum 12 rounds
- All API endpoints require authentication by default
architecture:
- Follow existing patterns in the codebase
- No new dependencies without explicit approval
- Max function length: 50 lines
- All public methods must have unit tests
7. Vai trò Developer thay đổi thế nào?
Kỹ năng quan trọng nhất của developer 2026 không còn là viết code nhanh, mà là:
- Viết spec rõ ràng: Mô tả chính xác requirements, constraints và edge cases
- Review và phát hiện lỗi: Đọc hiểu code nhanh, phát hiện lỗi logic và bảo mật
- System thinking: Hiểu tổng thể kiến trúc và các tương tác giữa components
- Context engineering: Thiết kế ngữ cảnh tối ưu để AI tạo ra kết quả tốt nhất
8. Khi nào KHÔNG nên vibe coding?
Nguyên tắc verifiability
Vibe coding hoạt động tốt nhất trong các lĩnh vực mà output dễ kiểm chứng. Nếu bạn không thể nhanh chóng xác minh code AI sinh ra là đúng, hãy viết thủ công.
Những tình huống nên code thủ công:
- Thuật toán phức tạp với invariants khó verify bằng test
- Code liên quan đến compliance/regulation (HIPAA, PCI-DSS)
- Performance-critical code cần tối ưu sâu
- Legacy system integration với documentation kém
- Code xử lý tiền bạc hoặc dữ liệu y tế
9. Tương lai — Điều gì tiếp theo?
Xu hướng rõ ràng nhất: ranh giới giữa developer và AI sẽ tiếp tục mờ đi. Nhưng điều này không có nghĩa developer trở nên thừa thãi — ngược lại, vai trò trở nên quan trọng hơn ở tầng cao hơn: thiết kế hệ thống, đảm bảo chất lượng, và ra quyết định kiến trúc.
Agentic Engineering không phải kết thúc của lập trình — mà là sự tiến hóa tự nhiên, giống như cách ngôn ngữ bậc cao thay thế Assembly mà không làm mất giá trị của lập trình viên. Người thắng cuộc sẽ là những developer biết kết hợp sức mạnh AI với hiểu biết sâu về nền tảng kỹ thuật.
Lời khuyên
Đừng chống lại sự thay đổi, nhưng cũng đừng từ bỏ kiến thức nền tảng. Hiểu cách code hoạt động bên dưới giúp bạn giám sát AI tốt hơn — và biết khi nào nên can thiệp. Agentic engineering đòi hỏi nhiều kỹ năng engineering hơn, không phải ít hơn.
Tham khảo
Disclaimer: The opinions expressed in this blog are solely my own and do not reflect the views or opinions of my employer or any affiliated organizations. The content provided is for informational and educational purposes only and should not be taken as professional advice. While I strive to provide accurate and up-to-date information, I make no warranties or guarantees about the completeness, reliability, or accuracy of the content. Readers are encouraged to verify the information and seek independent advice as needed. I disclaim any liability for decisions or actions taken based on the content of this blog.