Claude Code - Nền tảng Agentic Coding từ Anthropic: Kiến trúc, Sub-Agents và Hệ sinh thái

Posted on: 4/14/2026 7:31:13 AM

Claude Code AI Coding Agent Anthropic Agentic AI Sub-Agents MCP Developer Tools

Trong bối cảnh AI đang thay đổi mạnh mẽ cách chúng ta phát triển phần mềm, Claude Code nổi lên như một công cụ coding agent hàng đầu từ Anthropic. Khác với các code completion tool truyền thống chỉ gợi ý từng dòng code, Claude Code là một agentic system hoàn chỉnh — có khả năng đọc hiểu toàn bộ codebase, lập kế hoạch hành động, thực thi lệnh, và tự điều chỉnh chiến lược khi gặp lỗi. Bài viết này sẽ đi sâu vào kiến trúc, hệ sinh thái tính năng, và cách áp dụng Claude Code hiệu quả trong dự án thực tế.

1MToken Context Window
Opus 4.6Model cốt lõi
30K+Dòng code / phiên làm việc
50+Built-in Tools

1. Claude Code là gì và tại sao nó khác biệt?

Claude Code là một agentic coding tool của Anthropic, hoạt động trực tiếp trong terminal, IDE (VS Code, JetBrains), desktop app, và cả trình duyệt web. Điểm khác biệt cốt lõi so với các AI coding assistant khác nằm ở kiến trúc agentic loop — thay vì chỉ trả lời câu hỏi hoặc gợi ý code, Claude Code chủ động thực hiện chuỗi hành động phức tạp để hoàn thành nhiệm vụ.

Agentic Coding là gì?

Agentic coding là mô hình mà AI agent chủ động: (1) phân tích yêu cầu → (2) khám phá codebase → (3) lập kế hoạch hành động → (4) thực thi bằng tools → (5) đánh giá kết quả → (6) điều chỉnh và lặp lại. Developer đóng vai trò kiến trúc sư — đặt mục tiêu và kiểm soát kết quả thay vì viết từng dòng code.

Tại Anthropic, phần lớn code hiện tại được viết bởi Claude Code, với kỹ sư tập trung vào vai trò kiến trúc, tư duy sản phẩm, và điều phối nhiều agent song song. Đây không chỉ là xu hướng — đó là thực tế sản xuất đã được chứng minh ở quy mô enterprise.

2. Kiến trúc Agentic Loop

Trái tim của Claude Code là vòng lặp agentic (agentic loop). Khi nhận một yêu cầu từ developer, Claude Code không đơn giản trả lời — nó bước vào một chu trình lặp đi lặp lại cho đến khi hoàn thành nhiệm vụ hoặc cần sự can thiệp của con người.

graph TD
    A["Developer Input"] --> B["Phân tích yêu cầu"]
    B --> C["Lập kế hoạch hành động"]
    C --> D["Chọn và gọi Tool"]
    D --> E["Thực thi Tool"]
    E --> F["Đánh giá kết quả"]
    F -->|"Thành công"| G["Trả kết quả cho Developer"]
    F -->|"Cần điều chỉnh"| C
    F -->|"Cần thông tin thêm"| D
    style A fill:#e94560,stroke:#fff,color:#fff
    style B fill:#0f3460,stroke:#fff,color:#fff
    style C fill:#0f3460,stroke:#fff,color:#fff
    style D fill:#4CAF50,stroke:#fff,color:#fff
    style E fill:#4CAF50,stroke:#fff,color:#fff
    style F fill:#ff9800,stroke:#fff,color:#fff
    style G fill:#e94560,stroke:#fff,color:#fff

Hình 1: Vòng lặp Agentic Loop của Claude Code

2.1. Tool Use — Bộ công cụ thực thi

Claude Code được trang bị hơn 50 built-in tools, mỗi tool được thiết kế để thực hiện một loại thao tác cụ thể trong quy trình phát triển:

ToolChức năngVí dụ
ReadĐọc file từ hệ thốngĐọc source code, config, PDF, ảnh
EditChỉnh sửa file chính xácThay đổi một đoạn code cụ thể
WriteTạo file mớiTạo component, test file
BashThực thi shell commandChạy test, build, git operations
GlobTìm kiếm file theo pattern**/*.tsx, src/**/*.test.js
GrepTìm kiếm nội dung trong fileTìm function definition, import
AgentKhởi tạo sub-agentDelegate task phức tạp
TodoWriteQuản lý task listTheo dõi tiến độ công việc

Nguyên tắc Tool Selection

Claude Code luôn ưu tiên dedicated tools thay vì Bash command. Ví dụ: dùng Read thay vì cat, dùng Grep thay vì grep, dùng Edit thay vì sed. Điều này giúp developer dễ review hành động của agent và giảm thiểu rủi ro bảo mật.

2.2. Permission Model — Kiểm soát quyền hạn

Một trong những thiết kế quan trọng nhất của Claude Code là hệ thống phân quyền. Mỗi tool call đều phải được kiểm tra quyền trước khi thực thi:

  • Auto-allowed tools: Read, Glob, Grep — các thao tác chỉ đọc, an toàn
  • User-approved tools: Edit, Write, Bash — cần xác nhận trước khi thực thi lần đầu
  • Restricted actions: Các thao tác nguy hiểm như git push --force, rm -rf luôn yêu cầu xác nhận rõ ràng

Developer có thể cấu hình permission mode phù hợp với workflow: từ chế độ thận trọng (hỏi mọi thao tác ghi) đến chế độ tự chủ cao (chỉ hỏi khi thực sự nguy hiểm).

3. Sub-Agents — Hệ thống Đa tác nhân

Đây là tính năng mạnh mẽ nhất và khác biệt nhất của Claude Code. Khi gặp một task phức tạp, Claude Code có thể spawn sub-agents — mỗi sub-agent là một phiên làm việc độc lập với context riêng, tools riêng, và nhiệm vụ cụ thể.

graph LR
    A["Parent Agent
Context: 1M tokens"] -->|"Delegate"| B["Sub-Agent: Explore
Tìm kiếm codebase"] A -->|"Delegate"| C["Sub-Agent: Plan
Thiết kế kiến trúc"] A -->|"Delegate"| D["Sub-Agent: Test
Chạy test suite"] B -->|"Kết quả"| A C -->|"Kết quả"| A D -->|"Kết quả"| A style A fill:#e94560,stroke:#fff,color:#fff style B fill:#4CAF50,stroke:#fff,color:#fff style C fill:#0f3460,stroke:#fff,color:#fff style D fill:#ff9800,stroke:#fff,color:#fff

Hình 2: Kiến trúc Sub-Agents — song song hóa công việc

3.1. Tại sao cần Sub-Agents?

Vấn đề cốt lõi mà sub-agents giải quyết là context pollution (ô nhiễm ngữ cảnh). Khi agent đọc hàng chục file, chạy nhiều lệnh, kết quả của tất cả các bước đó chất đống trong context window, làm giảm chất lượng reasoning. Sub-agents giải quyết điều này bằng cách:

  • Cô lập context: Mỗi sub-agent có 200K token context riêng, chỉ trả về kết quả cuối cùng cho parent
  • Song song hóa: Nhiều sub-agents có thể chạy đồng thời, tăng tốc đáng kể
  • Chuyên biệt hóa: Mỗi agent type có bộ tools và khả năng riêng — Explore agent tối ưu cho tìm kiếm, Plan agent cho thiết kế kiến trúc

3.2. Các loại Sub-Agent built-in

Agent TypeMục đíchTools đặc biệt
general-purposeNghiên cứu, tìm kiếm code, thực thi task phức tạpTất cả tools
ExploreKhám phá codebase nhanh — tìm file, keyword, cấu trúcRead-only tools (không Edit/Write)
PlanThiết kế kiến trúc, lập kế hoạch implementationRead-only tools (không Edit/Write)

3.3. Custom Sub-Agents

Ngoài các agent built-in, developer có thể tạo custom sub-agents bằng cách viết file Markdown với frontmatter cấu hình:

---
description: Agent chuyên chạy test và phân tích kết quả
tools:
  - Bash
  - Read
  - Grep
model: sonnet
maxTurns: 15
memory: project
---

Bạn là test runner agent. Khi nhận một task:
1. Tìm tất cả test files liên quan
2. Chạy test suite
3. Phân tích failures và đề xuất fix
4. Cập nhật agent memory với patterns phát hiện được

Custom agents hỗ trợ nhiều tùy chỉnh: model (chọn Opus, Sonnet, hoặc Haiku), tools / disallowedTools, permissionMode, mcpServers, hooks, maxTurns, memory scope, và isolation (worktree).

Agent Memory — Bộ nhớ riêng cho mỗi agent

Mỗi sub-agent có thể được cấu hình memory scope riêng: User scope (~/.claude/agent-memory/), Project scope (.claude/agent-memory/), hoặc Local scope (.claude/agent-memory-local/). Agent sẽ tự động ghi nhớ các pattern, đường dẫn quan trọng, và quyết định kiến trúc qua các phiên làm việc.

4. Hooks System — Tự động hóa Workflow

Hooks là cơ chế cho phép developer can thiệp vào lifecycle của Claude Code bằng shell commands tùy chỉnh. Hooks được cấu hình trong settings.json và chạy tự động khi các sự kiện cụ thể xảy ra.

sequenceDiagram
    participant D as Developer
    participant CC as Claude Code
    participant H as Hook Script
    participant T as Tool

    D->>CC: Yêu cầu sửa code
    CC->>CC: Chọn tool Edit
    CC->>H: PreToolUse Hook
    H-->>CC: allow / block / modify
    CC->>T: Thực thi Edit tool
    T-->>CC: Kết quả
    CC->>H: PostToolUse Hook
    H-->>CC: Feedback
    CC->>D: Kết quả cuối cùng

Hình 3: Luồng hoạt động của Hooks System

4.1. Các loại Hook Events

Hook EventThời điểm kích hoạtUse case
PreToolUseTrước khi tool được thực thiValidate, chặn lệnh nguy hiểm, enforce coding standards
PostToolUseSau khi tool thực thi xongAuto-format code, chạy lint, log actions
NotificationKhi có thông báo quan trọngGửi alert qua Slack/email
StopKhi agent kết thúc phiênCleanup, tổng kết
SubagentStopKhi sub-agent hoàn thànhAggregate kết quả, trigger pipeline

4.2. Ví dụ thực tế: Auto-lint sau mỗi lần Edit

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Edit",
        "command": "npx eslint --fix \"$CLAUDE_FILE_PATH\" 2>/dev/null || true"
      }
    ],
    "PreToolUse": [
      {
        "matcher": "Bash",
        "command": "echo '$CLAUDE_TOOL_INPUT' | python3 check_dangerous_cmd.py"
      }
    ]
  }
}

Lưu ý bảo mật với Hooks

Hook scripts chạy với quyền hạn đầy đủ của user, không bị . Cần cẩn thận khi viết hook để tránh: (1) command injection qua biến môi trường, (2) hook vô hạn loop, (3) block agent vì hook exit code khác 0. Luôn test hook cẩn thận trước khi deploy.

5. Memory System — Bộ nhớ Bền vững

Claude Code sở hữu một hệ thống memory dựa trên file, cho phép agent ghi nhớ thông tin quan trọng qua các phiên làm việc. Đây là yếu tố then chốt giúp Claude Code trở nên ngày càng hiểu bạn hơn theo thời gian.

5.1. Các cấp độ Memory

graph TD
    A["Memory System"] --> B["CLAUDE.md Files"]
    A --> C["Auto Memory"]
    A --> D["Agent Memory"]
    B --> B1["Project-level
.claude/CLAUDE.md"] B --> B2["User-level
~/.claude/CLAUDE.md"] C --> C1["User memories
Vai trò, sở thích"] C --> C2["Feedback memories
Cách làm việc"] C --> C3["Project memories
Bối cảnh dự án"] C --> C4["Reference memories
Liên kết ngoài"] D --> D1["User scope"] D --> D2["Project scope"] D --> D3["Local scope"] style A fill:#e94560,stroke:#fff,color:#fff style B fill:#0f3460,stroke:#fff,color:#fff style C fill:#4CAF50,stroke:#fff,color:#fff style D fill:#ff9800,stroke:#fff,color:#fff

Hình 4: Kiến trúc Memory System đa tầng

  • CLAUDE.md: File cấu hình tĩnh, chứa quy tắc dự án, coding conventions, hướng dẫn cho agent. Được đọc tự động ở đầu mỗi phiên
  • Auto Memory: Hệ thống ghi nhớ tự động — Claude Code chủ động lưu thông tin về user, feedback, ngữ cảnh dự án vào các file memory riêng biệt
  • Agent Memory: Memory dành cho sub-agents, giúp mỗi agent tích lũy kiến thức chuyên biệt qua thời gian

5.2. CLAUDE.md — Bản thiết kế cho Agent

File CLAUDE.md ở gốc dự án là cách hiệu quả nhất để "lập trình" hành vi của Claude Code:

# CLAUDE.md

## Coding Standards
- Sử dụng TypeScript strict mode
- Tất cả functions phải có JSDoc
- Component names: PascalCase
- Utility functions: camelCase

## Architecture
- Frontend: Next.js 14+ App Router
- State: Zustand
- API: tRPC
- DB: PostgreSQL + Prisma

## Testing
- Unit test: Vitest
- E2E: Playwright
- Coverage tối thiểu: 80%

## Git Workflow
- Branch naming: feat/, fix/, chore/
- Commit message: Conventional Commits
- Luôn rebase trước khi merge

Best Practice: Giữ CLAUDE.md ngắn gọn

CLAUDE.md được đọc vào đầu mỗi phiên và tiêu tốn context window. Chỉ đưa vào những quy tắc không thể suy luận từ code. Đừng mô tả kiến trúc mà code đã thể hiện rõ — hãy tập trung vào các quyết định thiết kế không hiển nhiênquy ước đặc biệt của team.

6. Tích hợp MCP — Kết nối Vạn năng

Claude Code tích hợp sâu với Model Context Protocol (MCP) — giao thức chuẩn hóa kết nối giữa AI agent và các dịch vụ bên ngoài (xem thêm bài viết MCP - Giao thức Kết nối Vạn năng). Thông qua MCP, Claude Code có thể:

  • Truy vấn database trực tiếp (PostgreSQL, MySQL, ClickHouse)
  • Tương tác Figma — đọc design, tạo component, code từ thiết kế
  • Quản lý email/calendar — Gmail, Google Calendar
  • Điều khiển browser — tự động test UI, scraping, form filling
  • Kết nối với bất kỳ API nào thông qua custom MCP servers

6.1. Cấu hình MCP Server

{
  "mcpServers": {
    "postgres": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-postgres",
               "postgresql://user:pass@localhost:5432/mydb"]
    },
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": { "GITHUB_TOKEN": "ghp_xxx" }
    },
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/data"]
    }
  }
}

Với MCP, Claude Code không còn bị giới hạn trong terminal — nó trở thành một hub điều phối kết nối mọi công cụ trong hệ sinh thái phát triển phần mềm.

7. Skills và Scheduled Tasks

7.1. Skills — Mở rộng khả năng

Skills là các module mở rộng, cho phép Claude Code học thêm khả năng mới mà không cần cập nhật core. Mỗi skill là một file Markdown chứa prompt chuyên biệt, được kích hoạt qua slash commands:

  • /commit — tạo commit message chuẩn từ diff
  • /review-pr — review pull request chi tiết
  • /pdf — đọc, tạo, merge file PDF
  • /xlsx — làm việc với spreadsheet
  • Custom skills do team tự xây dựng

7.2. Scheduled Tasks — Agent tự vận hành

Tính năng Scheduled Tasks cho phép Claude Code chạy các tác vụ tự động theo lịch trình, biến agent thành một worker luôn hoạt động:

{
  "taskId": "daily-code-review",
  "cronExpression": "0 9 * * 1-5",
  "prompt": "Review tất cả PR mới từ hôm qua. Kiểm tra coding standards, security issues, và performance. Tạo báo cáo tổng hợp.",
  "description": "Daily automated code review"
}

Ứng dụng thực tế của Scheduled Tasks

Một số use case phổ biến: (1) Auto-review PR mỗi sáng, (2) Viết blog post tự động theo chủ đề định sẵn, (3) Monitor dependency vulnerabilities hàng tuần, (4) Tạo báo cáo tiến độ dự án cuối ngày, (5) Sync và cập nhật documentation khi code thay đổi.

8. Workflow Thực chiến

8.1. Quy trình phát triển tính năng mới

Dưới đây là workflow điển hình khi sử dụng Claude Code để implement một tính năng mới trong dự án thực tế:

graph LR
    A["Mô tả
feature"] --> B["EnterPlanMode
Lập kế hoạch"] B --> C["User review
& approve plan"] C --> D["Implement
theo plan"] D --> E["Sub-Agent
chạy tests"] E -->|"Pass"| F["Tạo PR
với /commit"] E -->|"Fail"| G["Fix & retry"] G --> E style A fill:#e94560,stroke:#fff,color:#fff style B fill:#0f3460,stroke:#fff,color:#fff style C fill:#ff9800,stroke:#fff,color:#fff style D fill:#4CAF50,stroke:#fff,color:#fff style E fill:#0f3460,stroke:#fff,color:#fff style F fill:#4CAF50,stroke:#fff,color:#fff style G fill:#ff9800,stroke:#fff,color:#fff

Hình 5: Workflow phát triển tính năng với Claude Code

8.2. Các pattern hiệu quả

  • Plan trước, code sau: Luôn bắt đầu bằng Plan mode cho task phức tạp. Để Claude Code khám phá codebase và đề xuất approach trước khi viết code
  • Delegate bằng Sub-Agents: Khi cần tìm kiếm sâu trong codebase hoặc chạy nhiều task song song, spawn sub-agents thay vì để parent agent làm tất cả
  • CLAUDE.md là source of truth: Đầu tư thời gian viết CLAUDE.md tốt sẽ giúp mọi phiên làm việc hiệu quả hơn
  • Sử dụng Hooks cho automation: Auto-lint, auto-format, auto-test sau mỗi thay đổi
  • Worktree cho isolation: Sử dụng worktree khi cần thử nghiệm mà không ảnh hưởng code đang làm

8.3. Anti-patterns cần tránh

Những sai lầm phổ biến

(1) Đưa quá nhiều context vào một phiên — hãy chia nhỏ task và delegate. (2) Không review code trước khi commit — agent có thể mắc lỗi subtle. (3) Over-engineering CLAUDE.md — chỉ đưa vào những gì thực sự cần. (4) Bỏ qua permission model — đừng chạy ở chế độ auto-approve mọi thứ trong production codebase. (5) Không sử dụng plan mode cho task lớn — dẫn đến implement sai hướng.

9. So sánh với các AI Coding Tools khác

Tiêu chíClaude CodeGitHub CopilotCursor
Kiến trúcAgentic loop đầy đủCode completion + ChatAgentic (IDE-based)
Context Window1M tokens~128K tokens~200K tokens
Sub-AgentsCó, custom đượcKhôngHạn chế
Hooks SystemCó, linh hoạtKhôngKhông
MCP IntegrationNative, đầy đủHỗ trợ cơ bảnHỗ trợ cơ bản
MemoryĐa tầng, persistentInstruction filesRules, .cursorrules
Terminal AccessNative (terminal-first)Trong IDETrong IDE
Scheduled TasksKhôngKhông
PlatformTerminal, IDE, Web, DesktopIDE (VS Code, JetBrains)IDE riêng (fork VS Code)

Mỗi tool có thế mạnh riêng. GitHub Copilot vượt trội ở code completion tức thì trong IDE. Cursor mạnh ở trải nghiệm IDE tích hợp. Claude Code nổi bật ở khả năng agentic toàn diện — phù hợp nhất cho các task phức tạp, đa bước, cần tự chủ cao.

10. Hành trình phát triển của Claude Code

Tháng 10/2024
Ra mắt phiên bản đầu tiên dưới dạng CLI tool chạy trong terminal, hỗ trợ cơ bản đọc/ghi file và chạy lệnh.
Tháng 2/2025
Phát hành công khai với MCP integration, hỗ trợ IDE (VS Code), và extended thinking mode.
Tháng 5/2025
Ra mắt Hooks system, custom sub-agents, và background agents. Claude Code được sử dụng để viết phần lớn code tại Anthropic.
Tháng 8/2025
Bổ sung Skills ecosystem, plugin marketplace, và parallel agent execution cho enterprise workflows.
Đầu 2026
Claude Code hỗ trợ 1M token context với Opus 4.6, auto memory, scheduled tasks, remote control, và desktop/web app. Trở thành nền tảng agentic coding toàn diện nhất.

11. Kết luận

Claude Code không chỉ là một AI coding assistant — đó là một agentic coding platform hoàn chỉnh. Với kiến trúc agentic loop, hệ thống sub-agents mạnh mẽ, hooks tùy biến, memory bền vững, và tích hợp MCP sâu rộng, Claude Code đại diện cho thế hệ tiếp theo của công cụ phát triển phần mềm.

Điều quan trọng nhất không phải là công nghệ — mà là sự thay đổi vai trò của developer. Từ người viết code, chúng ta đang trở thành người kiến trúc, điều phối, và ra quyết định. Claude Code là đòn bẩy giúp thực hiện chuyển đổi này một cách tự nhiên và hiệu quả.

Bắt đầu với Claude Code

Cài đặt: npm install -g @anthropic-ai/claude-code. Khởi chạy: claude trong terminal. Tạo CLAUDE.md ở gốc dự án. Bắt đầu với những task nhỏ, quen dần với agentic workflow, rồi mở rộng dần. Tham khảo tài liệu chính thức tại code.claude.com/docs.