All posts
Hướng dẫn toàn tập về Claude Code: Cấu hình, Câu lệnh và Kỹ năng làm chủ Agentic CLI
claudeai

Hướng dẫn toàn tập về Claude Code: Cấu hình, Câu lệnh và Kỹ năng làm chủ Agentic CLI

Quang Tran D.7 min read
On this page16 sections

Hướng dẫn toàn tập về Claude Code: Cấu hình, Câu lệnh và Kỹ năng làm chủ Agentic CLI

Claude Code đang là một trong những công cụ AI hỗ trợ lập trình dạng agentic mạnh mẽ nhất hiện nay, hoạt động trực tiếp ngay trên terminal của bạn. Để tối ưu hóa hiệu suất làm việc với công cụ này, dưới đây là cẩm nang chi tiết từ cài đặt, cấu hình cho đến các mẹo thực tế khi sử dụng.


Khởi đầu với Claude Code

Bạn có thể sử dụng Claude Code nếu đã có gói đăng ký Claude Pro/Max hoặc trả phí qua API. Gói đăng ký tháng sẽ phù hợp nếu bạn dùng liên tục ở mức độ vừa phải, trong khi trả phí theo API Key sẽ giúp bạn linh hoạt hơn, tránh được các giới hạn về thời gian làm mới token (token refresh windows).

1. Cài đặt toàn cục

Yêu cầu hệ thống cần có Node.js phiên bản 18 trở lên.

Bash

npm install -g @anthropic-ai/claude-code

2. Xác thực tài khoản

Bạn cần thiết lập API Key trước khi chạy Claude Code bằng cách lấy key từ Anthropic Console và chạy lệnh:

Bash

export ANTHROPIC_API_KEY="YOUR_ANTHROPIC_API_KEY"

Để không phải nhập lại mỗi khi mở terminal, hãy thêm dòng lệnh trên vào file cấu hình shell của bạn (ví dụ: ~/.bashrc hoặc ~/.zshrc). Nếu sử dụng gói Pro hoặc Max, bạn cũng có tùy chọn xác thực trực tiếp thông qua trình duyệt.

3. Các chế độ sử dụng cơ bản

  • Chế độ tương tác (REPL): Mở một phiên trò chuyện trực tiếp để code.

    Bash

  • Chế độ tương tác kèm câu lệnh đầu tiên: Khởi động phiên làm việc với một câu hỏi cụ thể.

Bash

    claude "explain this project"
    ```
*   **Chế độ một lần (Print mode):** Hỏi một câu duy nhất rồi thoát ngay, rất tiện khi viết script.
    
```bash
    claude -p "explain this function"
    ```
*   **Đọc dữ liệu từ đường ống (Piping):** Xử lý dữ liệu đầu vào được truyền từ câu lệnh khác.
    
```bash
    cat logs.txt | claude -p "explain these errors"
    ```
*   **Tiếp tục cuộc hội thoại gần nhất:**
    
```bash
    claude -c
    ```
*   **Khôi phục một phiên làm việc cụ thể:**
    
```bash
    claude -r "session-id" "continue working on this feature"
    ```

---

## Quản lý cấu hình hệ thống

Claude Code cho phép bạn can thiệp sâu vào hành vi của nó thông qua các file JSON và file bộ nhớ Markdown.

### File cấu hình JSON định cấp
Claude áp dụng cấu hình theo thứ tự ưu tiên từ ngoài vào trong:
*   **Cấu hình hệ thống:** `~/.claude/settings.json` (áp dụng cho tất cả dự án).
*   **Cấu hình dự án:** `.claude/settings.json` (chia sẻ chung với nhóm, được commit lên Git).
*   **Cấu hình cá nhân trong dự án:** `.claude/settings.local.json` (chỉ ở máy cá nhân, bị Git bỏ qua).

Ví dụ về một file `settings.json`:
```json
{
  "model": "claude-sonnet-4-20250514",
  "maxTokens": 4096,
  "permissions": {
    "allowedTools": ["Read", "Write", "Bash(git *)"],
    "deny": [
      "Read(./.env)",
      "Read(./.env.*)",
      "Write(./production.config.*)"
    ]
  },
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Write(*.py)",
        "hooks": [
          {
            "type": "command",
            "command": "python -m black $file"
          }
        ]
      }
    ]
  }
}

File bộ nhớ CLAUDE.md

Để tiết kiệm token và thời gian gõ lại prompt, bạn nên dùng các file CLAUDE.md để cung cấp ngữ cảnh cố định cho AI. Các file này cũng được quét theo cấp bậc: global, thư mục gốc của dự án, và các thư mục con.

Ví dụ về nội dung file CLAUDE.md:

Markdown

# Project context

## Coding standards
- Use TypeScript for all new code
- Follow existing ESLint configuration
- Write tests for all new functions using Jest

## Architecture
- Frontend: Next.js with TypeScript
- Backend: Node.js with Express
- Database: PostgreSQL with Prisma

Tra cứu nhanh câu lệnh và tham số (CLI Reference)

Các câu lệnh cốt lõi bên ngoài Terminal

  • claude: Khởi động REPL tương tác.

  • claude "query": Khởi động REPL kèm câu hỏi.

  • claude -p "query": Chạy ở chế độ Print rồi thoát.

  • claude -c: Tiếp tục cuộc hội thoại gần nhất.

  • claude -c -p "query": Tiếp tục hội thoại ở chế độ Print.

  • claude -r "id" "query": Khôi phục phiên làm việc qua ID.

  • claude update: Cập nhật công cụ lên bản mới nhất.

  • claude mcp: Cấu hình các server MCP.

Các flag bổ trợ khi chạy lệnh

  • --add-dir: Thêm các thư mục làm việc khác (Ví dụ: claude --add-dir ../apps ../lib).

  • --allowedTools: Cấp quyền chạy các công cụ cụ thể không cần hỏi lại.

  • --disallowedTools: Chặn các công cụ cụ thể.

  • --model: Chỉ định model Claude muốn dùng.

  • --max-turns: Giới hạn số lượt phản hồi trong một phiên.

  • --output-format: Định dạng đầu ra (text, json, hoặc stream-json).

  • --dangerously-skip-permissions: Bỏ qua mọi cảnh báo xin quyền (Cần cực kỳ cẩn trọng).

Các câu lệnh dạng chéo (Slash Commands) bên trong phiên tương tác

Khi đang ở trong giao diện chat của Claude Code, bạn có thể gõ các lệnh sau:

  • /help: Hiển thị toàn bộ các lệnh có sẵn.

  • /config: Cấu hình các cài đặt bằng giao diện trực quan.

  • /allowed-tools: Thay đổi quyền của các công cụ.

  • /hooks: Quản lý các trigger tự động.

  • /mcp: Quản lý các server kết nối bên ngoài.

  • /agents: Quản lý các sub-agent (tạo, sửa, liệt kê).

  • /vim: Bật chế độ chỉnh sửa kiểu Vim.

  • /terminal-setup: Cài đặt phím tắt cho Terminal (như Shift+Enter).


Kỹ thuật nâng cao khi viết Prompt

Sử dụng ký tự @ để chỉ định file và thư mục

Bạn có thể điều hướng chính xác tài nguyên muốn Claude tập trung xử lý:

  • File đơn lẻ: Review thiết kế giao diện này @./src/components/Button.tsx

  • Toàn bộ thư mục: Bổ sung xử lý lỗi cho các route API @./src/api/

  • Nhiều file cùng lúc: So sánh hai file này @./src/old.js @./src/new.js

  • Sử dụng regex/glob: Kiểm tra lại toàn bộ các file test @./src//*.test.ts

Chạy lệnh hệ thống trực tiếp với dấu !

Để tránh việc Claude phải tốn token xử lý hội thoại khi bạn chỉ muốn chạy một lệnh shell, bạn có thể gõ dấu ! ngay đầu dòng:

  • Chạy một lệnh: !npm test

  • Chuyển hẳn sang chế độ shell: Gõ !, bấm Enter. Khi muốn quay lại chat với Claude, gõ tiếp ! một lần nữa.

Tự tạo câu lệnh Slash Command riêng

Bạn có thể tự tạo các phím tắt lệnh bằng cách lưu file Markdown vào thư mục .claude/commands/ (cho dự án) hoặc ~/.claude/commands/ (cho toàn hệ thống).

Ví dụ tạo lệnh /fix-issue có tham số truyền vào:

Bash

echo 'Fix issue #$ARGUMENTS following our coding standards' > .claude/commands/fix-issue.md

Khi dùng trong chat, bạn chỉ cần gõ: > /fix-issue 123


Cơ chế bảo mật và quản lý phiên

Kiểm soát quyền hạn (Permissions)

Claude Code mặc định sẽ hỏi bạn trước khi thực hiện bất kỳ hành động can thiệp nào vào hệ thống. Bạn có thể phân quyền cụ thể thông qua 3 nhóm quyền chính: Read (Đọc file), Write (Ghi/Sửa file), và Bash (Chạy lệnh terminal). Hãy luôn chặn quyền tiếp cận các file chứa mã bí mật như .env để đảm bảo an toàn dữ liệu.

Hiểu về mô hình phân bổ Token theo gói dịch vụ

Dung lượng token của bạn phụ thuộc vào gói tài khoản bạn sở hữu và tải lượng thực tế của máy chủ tại thời điểm đó:

  • Pro ($20/tháng): Thích hợp cho lập trình viên có khối lượng công việc vừa phải, dùng bổ trợ hàng ngày.

  • Max5 ($100/tháng): Lượng token gấp 5 lần gói Pro, có quyền truy cập sâu vào mô hình Opus.

  • Max20 ($200/tháng): Gấp 20 lần gói Pro, hỗ trợ context window lớn hơn rất nhiều, phù hợp cho các task tự động hóa chạy liên tục bằng nhiều agent.

Mẹo tối ưu chi phí: Các phiên làm việc của Claude Code sẽ tự động lưu lại lịch sử và trạng thái công cụ trong vòng 5 tiếng kể từ tin nhắn đầu tiên. Để tiết kiệm token và nhận được câu trả lời chính xác nhất, bạn nên chia nhỏ các tác vụ ra thành các phiên làm việc (session) riêng biệt thay vì dồn tất cả vào một hội thoại kéo dài.