AGENTIC CODING – NHẬP MÔN
AGENTIC CODING – NHẬP MÔN
Sự chuyển đổi từ trợ lý AI
sang đồng nghiệp AI
Trong những năm gần đây, sự phát triển của các
mô hình ngôn ngữ lớn (LLM) đã tạo ra một cuộc cách mạng trong cách các nhà phát
triển viết code. Tuy nhiên, phần lớn lập trình viên vẫn dừng lại ở mức độ
"chat với AI" - trao đổi từng câu hỏi đơn lẻ và nhận về từng đoạn
code rời rạc. Agentic Coding đại diện cho bước nhảy vọt tiếp
theo: biến AI từ một trợ lý thụ động thành một đồng nghiệp chủ động, có khả
năng lên kế hoạch, thực thi và quản lý toàn bộ quy trình phát triển phần mềm.
I. Cơ sở khái
niệm nền tảng
Để thực sự làm chủ Agentic Coding, người dùng
cần vượt qua cách tiếp cận "chat thông thường" và nắm vững các khái
niệm cốt lõi sau đây.
I.1. Commands (Lệnh) – Tương tác cấp thấp
Commands đại diện cho mức độ tương tác cơ bản
nhất: một yêu cầu → một hành động tức thì. Đây là cách mà đa số người dùng
tương tác với AI hiện nay.
Ví dụ minh họa:
·
Câu
lệnh đơn: "Tạo
file UserService.js với các phương
thức CRUD cơ bản"
·
Kết
quả: AI tạo ngay file
với code theo mẫu chung
·
Hạn
chế: Không có bối
cảnh dự án, không kiểm soát kiến trúc, dễ tạo code "template" thiếu
tối ưu
I.2. Plans (Kế hoạch) – Tư duy chiến lược
trước khi hành động
Thay vì yêu cầu AI thực hiện ngay lập tức,
Plan mode buộc AI phải trình bày cách tiếp cận, phân tích yêu cầu và đề xuất
giải pháp trước khi viết code.
Ví dụ thực tế:
python
# Yêu cầu: "Thiết kế hệ thống authentication
cho ứng dụng React Native"
# AI sẽ trả về kế hoạch:
"""
KẾ HOẠCH THIẾT KẾ AUTHENTICATION:
1. Kiến trúc: JWT-based với refresh token rotation
2. Thư viện: React Native Keychain (bảo mật) +
AsyncStorage (cache)
3. Flow:
- Đăng
nhập → lấy token → lưu secure storage
-
Auto-refresh token khi hết hạn
-
Protected routes với HOC
4. File structure:
-
/services/auth.js
-
/hooks/useAuth.js
-
/contexts/AuthContext.js
5. Security considerations: ...
"""
Lợi ích: Người dùng có thể phản biện, điều chỉnh kế hoạch trước khi
cam kết thực thi.
I.3. Rules (Quy tắc) – Chuẩn hóa phong cách và
ràng buộc
Rules là các quy tắc cố định áp dụng xuyên
suốt mọi task, giúp duy trì tính nhất quán và chất lượng code mà không cần nhắc
lại.
Ví dụ chi tiết:
yaml
rules:
coding_style:
- "Luôn sử dụng camelCase
cho biến và hàm"
- "Sử dụng async/await
thay vì Promise.then()"
- "Comment phải bằng tiếng Anh, giải thích 'tại
sao' chứ không phải 'cái gì'"
security:
- "Không bao giờ hardcode
API keys trong source code"
- "Luôn validate input từ
người dùng"
- "SQL queries phải sử
dụng parameterized statements"
dependencies:
- "Không thêm thư viện mới
mà chưa được phê duyệt trong package_allowlist.txt"
- "Ưu tiên thư viện có
maintenance score > 80% trên Snyk"
I.4. Skills (Kỹ năng) – Mẫu hình giải quyết
vấn đề đã được chuẩn hóa
Skills đóng gói các cách tiếp cận đã được tối
ưu cho các bài toán lặp lại. Khác với Rules (quy định "làm gì"),
Skills định nghĩa "làm như thế nào".
Ví dụ về Skill RESTful_API_Design:
javascript
// Skill: RESTful_API_Standard
// Khi được kích hoạt, AI sẽ tự động áp dụng
pattern:
const apiDesignPattern = {
endpointNaming: "plural nouns (users, not user)",
statusCodes: {
success: [200, 201, 204],
clientError: [400, 401, 403, 404],
serverError: [500]
},
responseFormat: {
success: { data: {}, message: "", timestamp: "" },
error: { error: "", message: "", code: "" }
},
versioning: "v1 in URL path",
pagination: "limit/offset với metadata",
errorHandling: "Centralized error middleware"
};
// Ứng dụng: Khi developer nói "Tạo API
products với skill RESTful_API_Standard"
// AI sẽ tạo đầy đủ: routes, controllers, models,
validation theo pattern trên
I.5. MCP (Model Context Protocol) – Cầu nối
với thế giới thực
MCP giải quyết vấn đề "bối cảnh hạn
chế" của AI bằng cách cho phép truy cập trực tiếp vào các nguồn dữ liệu
bên ngoài.
Kịch bản ứng dụng:
1. Kết nối Figma: AI đọc thiết kế trực tiếp từ Figma → tự
động tạo component React tương ứng
2. Kết nối Database: AI xem schema thực tế → tạo model và
migration scripts chính xác
3. Kết nối Documentation: AI đọc docs của thư viện → sử dụng API
đúng cách
4. Kết nối Repository khác: AI phân tích codebase của microservice
liên quan → đảm bảo consistency
I.6. Sub-agents (Agent con) – Mô hình phân
công chuyên môn hóa
Với các task phức tạp, một agent duy nhất dễ
bị "quá tải ngữ cảnh". Sub-agents chia task thành các vai trò chuyên
biệt:
Ví dụ workflow với 3 sub-agents:
text
Task: "Xây dựng hệ thống shopping cart"
↓
[Architect Agent]
→ Phân
tích yêu cầu
→ Thiết kế
kiến trúc
→ Tạo task
breakdown
↓
[Backend Agent] [Frontend Agent]
→ Viết
API → Tạo React components
→ Logic
business → State management
→ Database
design → UI/UX implementation
↓
[QA Agent]
→ Viết
unit tests
→
Integration tests
→
Performance testing
I.7. Hooks (các bước tự động) – đảm bảo chất
lượng liên tục
Hooks là các bước tự động chạy sau mỗi lần AI
tạo/chỉnh sửa code:
Pipeline điển hình:
bash
AI tạo code
→ Hook 1: Format với Prettier
→ Hook 2: Kiểm tra lint với ESLint
→ Hook 3: Chạy unit tests hiện có
→ Hook 4: Scan security vulnerabilities
→ Hook 5: Tự động commit với message có cấu trúc
I.8. Workflow (Quy
trình làm việc) – Orchestration toàn bộ Process
Workflow định nghĩa cách các thành phần trên
làm việc cùng nhau:
Ví dụ workflow hoàn chỉnh:

I.9. Kit (Bộ công cụ) – Giải pháp đóng gói
toàn diện
Kit là sự kết hợp đã được tối ưu của Rules +
Skills + Workflow cho một mục đích cụ thể.
Ví dụ các Kit phổ biến:
·
Full-Stack
Kit: Next.js +
Tailwind + Prisma + Authentication
·
Mobile
Kit: React Native +
Expo + Firebase
·
API
Kit: FastAPI +
SQLAlchemy + Pydantic + JWT
·
DevOps
Kit: Docker + GitHub
Actions + AWS CDK
Tổng kết Phần I:
·
Các
khái niệm (Rules, Skills, MCP...): Là "công cụ" trong hộp dụng cụ
·
Workflow: Là "quy trình sử dụng" các
công cụ đó
·
Kit: Là "bộ công cụ đã được đóng
gói" cho mục đích cụ thể
II. Toàn
cảnh các công cụ agentic ai hiện nay
Thị trường Agentic Coding hiện tại có sự xuất
hiện của nhiều công cụ: Cursor, Claude Code, Antigravity, OpenCode, Augment...
Tuy nhiên, điều quan trọng cần hiểu là:
90% tác vụ phổ thông, tool nào cũng làm được
tương tự nhau.
II.1. Phân loại theo Giao diện: CLI vs GUI
GUI Tools (Cursor, Antigravity):
·
Ưu
điểm: Trực quan, dễ
học, hỗ trợ tốt cho frontend/UI work
·
Phù
hợp: Developer mới,
team cần collaboration, làm việc với design
CLI Tools (Claude Code, OpenCode):
·
Ưu
điểm: Tốc độ cao, tùy
biến sâu, tích hợp mượt với terminal workflow
·
Phù
hợp: Developer kinh
nghiệm, làm backend/system, automation
Ví dụ so sánh thao tác:
bash
# GUI (Cursor): Click vào component → Chat sidebar
→ "Thêm dark mode"
# CLI (Claude Code): $ cc "Thêm dark mode cho
Button component" --file=Button.jsx
II.2. Hiện tượng " lo sợ bỏ lỡ công cụ Claude Code" - Thực
hư thế nào?
Claude Code thường được cộng đồng nhắc đến với
sự "FOMO" (Fear Of Missing Out/ lo sợ bỏ lỡ công cụ) vì:
1. Tạo trend mạnh: Thường đi đầu trong các tính năng
agentic mới
2. Terminal-native: Hoạt động hoàn toàn trong terminal, phù
hợp với developer "cứng"
3. Sinh code "trâu": Có khả năng xử lý codebase lớn, task
phức tạp
4. Chi phí/tính năng tốt: Model Claude 3.5 Sonnet cho chất lượng
cao với chi phí hợp lý
Tuy nhiên, với developer trong công ty:
·
Cursor đủ cho 80% công
việc hàng ngày
·
Claude Code chỉ thực
sự vượt trội khi làm dự án lớn, phức tạp
·
Chi phí chênh lệch
không đáng kể so với lương developer
II.3. Mô hình "Sinh nhiều code - Chi phí
thấp"
Claude Code tối ưu cho các kịch bản:
1. Solo Builder: Một người xây dựng toàn bộ sản phẩm
2. Prototype nhanh: MVP trong vài giờ thay vì vài ngày
3. Codebase cỡ vừa: 10K-50K dòng code
4. Refactor lớn: Thay đổi kiến trúc toàn bộ ứng dụng
Ví dụ kinh tế:
·
Chi
phí Claude Code: $20/tháng +
$0.01/1000 tokens
·
Task
điển hình: Refactor 10,000
dòng code ≈ $1.50
·
So
với developer: 8 giờ làm việc ≈
$200-$400
·
Lợi
thế rõ ràng với task lớn, nhưng không đáng kể với bug fix nhỏ
II.4. Tóm tắt nhanh các công cụ chính
|
Công cụ |
Điểm mạnh |
Phù hợp nhất cho |
Learning Curve |
|
Cursor |
UX mượt, tích hợp IDE, chat
context dài |
Developer công ty, frontend work,
team collab |
Thấp |
|
Claude Code |
Agentic mạnh, terminal-native, xử
lý task lớn |
Solo builder, backend/system,
refactor lớn |
Trung bình |
|
Antigravity |
Control context sâu, fine-tuning
workflow |
Developer kỹ thuật cao, workflow
phức tạp |
Cao |
|
OpenCode |
Open-source, tự host, tùy biến
hoàn toàn |
Privacy-conscious, on-premise,
research |
Rất cao |
|
Augment |
Enterprise features, security,
compliance |
Team lớn, doanh nghiệp, regulated
industries |
Trung bình |
Tóm tắt Phần II:
·
Đừng lo sợ bỏ lỡ công
cụ - quan trọng là cách sử dụng
·
Chọn tool phù hợp với
workflow và nhu cầu thực tế
·
90% giá trị đến từ
hiểu biết về Agentic concepts, không phải từ tool cụ thể
III. Vì sao
Kits/Skills lại nhiều đến vậy?
III.1. Nguyên nhân của sự bùng nổ
Sự đa dạng của Kits/Skills phản ánh tính đa
dạng của:
1. Ngôn ngữ lập trình: JavaScript/TypeScript, Python, Go,
Rust...
2. Framework: React, Vue, Angular, Next.js, Svelte...
3. Kiến trúc: Microservices, Serverless, Monolith...
4. Domain-specific: FinTech, HealthTech, E-commerce...
5. Quy trình team: Git flow, Agile, Waterfall...
Ví dụ thực tế về sự đa dạng:
·
Web
Dev: 50+ kits cho
React/Next.js/Vue
·
Mobile: 30+ kits cho React Native/Flutter
·
Backend: 40+ kits cho Node.js/Python/Go
·
DevOps: 20+ kits cho AWS/Terraform/Kubernetes
III.2. Chiến lược lựa chọn thông minh
Thay vì bị choáng ngợp, hãy áp dụng chiến
lược:
yaml
chiến_lược_lựa_chọn:
bước_1:
- "Xác định stack công
nghệ chính của bạn/bạn đang học"
- "Ví dụ: MERN stack
(MongoDB, Express, React, Node.js)"
bước_2:
- "Tìm kit chính thức hoặc
được cộng đồng đánh giá cao"
- "Ví dụ:
'MERN-Starter-Kit' với 500+ stars trên GitHub"
bước_3:
- "Dùng ổn định ít nhất 1
tháng"
- "Tập trung học workflow
hơn là đổi kit"
bước_4:
- "Sau 1 tháng, đánh giá
và custom 10-20% cho phù hợp"
- "Đóng góp improvements
lại cộng đồng"
III.3. Lợi ích của việc sử dụng Kits chuẩn hóa
1. Giảm Cognitive Load: Không cần "reinvent the wheel"
cho mỗi dự án
2. Best Practices: Được tích hợp sẵn các pattern đã được
kiểm chứng
3. Consistency: Code style đồng nhất giữa các dự án
4. Collaboration: Team members có chung ngôn ngữ và
workflow
5. Maintainability: Dễ update security patches và version
bumps
Ví dụ cụ thể:
bash
# Thay vì tự setup từ đầu cho mỗi dự án:
$ npm init
$ install 20+ packages
$ config 10+ files (ESLint, Prettier, Jest, etc.)
$ setup folder structure
$ ...mất 2-3 giờ
# Dùng kit:
$ npx create-mern-app my-project
$ cd my-project
$ npm run dev
# Mất 2 phút, có đầy đủ: auth, database, API, UI
components, tests
IV. Hiệu
suất X5–X10 khi code đến từ đâu?
IV.1. Phân tích nguồn gốc hiệu suất
Khi các nghiên cứu nói về "tăng 5-10 lần
năng suất", họ thường so sánh:
Baseline A: Developer không dùng AI hỗ trợ
Baseline B: Developer chỉ dùng AI ở mức chat cơ bản (ChatGPT free)
Experimental: Developer dùng Agentic Coding đầy đủ
Kết quả điển hình:
·
A → B: Tăng 2-3x (từ
automation đơn giản)
·
B → Experimental: Tăng
thêm 2-3x (từ workflow tối ưu)
·
Tổng: 4-9x improvement
IV.2. Thành phần đóng góp vào hiệu suất
|
Thành phần |
% Đóng góp |
Ví dụ cụ thể |
|
Automation cơ bản |
30% |
Tạo boilerplate, fix syntax, viết
docs |
|
Context awareness |
20% |
AI hiểu codebase, không cần giải
thích lại |
|
Workflow optimization |
25% |
Plan → Code → Review → Test tự
động |
|
Quality enforcement |
15% |
Auto-lint, test, security scan |
|
Learning acceleration |
10% |
AI giải thích concepts, suggest
improvements |
IV.3. Case Study thực tế
Scenario: Xây dựng REST API cho Todo application
Cách truyền thống (không AI):
plaintext
1. Thiết kế database schema: 30 phút
2. Viết models: 60 phút
3. Viết controllers: 90 phút
4. Viết routes: 30 phút
5. Viết validation: 45 phút
6. Viết tests: 120 phút
7. Debug và fix: 60 phút
8. Document: 45 phút
Tổng: ~7 giờ (420 phút)
Với Agentic Coding:
plaintext
1. Command: "Tạo Todo API với skill
RESTful_API_Standard" - 2 phút
2. AI tạo toàn bộ: models, controllers, routes,
validation - 5 phút
3. AI chạy auto-tests và fix lỗi - 3 phút
4. AI generate documentation - 2 phút
5. Developer review và minor tweaks - 10 phút
Tổng: ~22 phút
Improvement: 420/22 ≈ 19x (trong scenario lý tưởng
này)
IV.4. Những yếu tố quyết định thành công
1. Model phù hợp: Claude 3.5 Sonnet cho code, GPT-4o cho
analysis
2. Context đầy đủ: Cung cấp đủ thông tin về codebase và
requirements
3. Workflow rõ ràng: Biết khi nào dùng Plan mode, khi nào
dùng trực tiếp
4. Kỹ năng đánh giá: Developer vẫn cần khả năng review và
đánh giá code quality
5. Iterative improvement: Liên tục tối ưu Rules và Skills dựa trên
kinh nghiệm
IV.5. Kỳ vọng thực tế cho sinh viên
1. Tháng đầu tiên: Tập trung học concepts, đừng kỳ vọng
tăng hiệu suất
2. Tháng thứ 2-3: Bắt đầu thấy hiệu quả với các task lặp
lại
3. Tháng thứ 4-6: Đạt 2-3x improvement so với không dùng
AI
4. Sau 6 tháng: Có thể đạt 5x+ với workflow đã tối ưu
Quan trọng nhất: Hiệu suất tăng là hệ quả của
việc sử dụng đúng phương pháp, không phải mục tiêu trực tiếp
cần theo đuổi.
V. Kết luận
và hướng đi tiếp theo
Agentic Coding không phải là "phép
màu" mà là sự tiến hóa tự nhiên của công cụ lập trình. Giống như sự chuyển
đổi từ viết code bằng text editor sang sử dụng IDE, từ manual deployment sang
CI/CD, Agentic Coding đại diện cho bước tiếp theo trong hành trình tối ưu hóa quy
trình phát triển phần mềm.
Đối với sinh viên:
1. Bắt đầu với concepts thay vì
công cụ
2. Thực hành với một tool cho
thành thạo
3. Xây dựng personalized workflow
4. Tham gia cộng đồng để học hỏi
và chia sẻ
Tương lai phát triển:
·
Personal
AI Dev Teams: Mỗi developer có
team AI chuyên biệt
·
Domain-Specific
Agents: Agent cho
FinTech, HealthTech, EduTech...
·
Autonomous
Project Management: AI không chỉ
code mà còn quản lý timeline, resources
·
Learning
Companions: Agent giúp học
ngôn ngữ/framework mới trong thực tế
Agentic Coding không thay thế developer,
mà mở rộng khả năng của developer. Trong tương lai, "biết
sử dụng AI hiệu quả" sẽ trở thành kỹ năng cốt lõi như "biết sử dụng
Git" hay "biết debug" hiện nay.
Bắt đầu hành trình
của bạn ngay hôm nay - không phải bằng cách tìm kiếm công cụ "tốt
nhất", mà bằng cách xây dựng workflow "phù hợp nhất" với bạn.
Nhận xét
Đăng nhận xét