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

Bài đăng phổ biến từ blog này

Hướng Dẫn: TẠO GIA SƯ AI HỖ TRỢ HỌC TIN HỌC

10 CÁCH ĐẶT CÂU HỎI/HƯỚNG DẪN CHO HỌC SINH ĐỂ HỌC TẬP TỐT HƠN

AI chatbot hỗ trợ cho GV lên kế hoạch dạy học STEAM theo quy trinh 5E (GV mầm non và GV Tiểu học)