jvinhit//lab

Search posts

Type to search across journal entries.

↑ ↓ navigate ↵ open esc close

Claude Code từ zero đến thành thạo · Phần 1 — Claude Code là gì và lộ trình 22 phần

Mở đầu series: Claude Code là gì, chạy được ở những đâu, cài đặt và đăng nhập thế nào, phiên làm việc đầu tiên gồm những bước nào — kèm bảng lệnh cốt lõi và lộ trình 22 phần của cả series.

Claude Code là công cụ lập trình dạng agentic: nó đọc codebase của bạn, sửa file, chạy lệnh và nối vào các công cụ bạn đang dùng. Khác với một khung chat gợi ý code, nó tự tìm file liên quan, tự chạy test, tự sửa lại khi test fail — bạn mô tả kết quả muốn có, nó lo phần đi tới đó.

Series này dịch và hệ thống hoá tài liệu chính thức của Claude Code sang tiếng Việt, sắp lại theo thứ tự học chứ không theo thứ tự tra cứu. Phần 1 lo phần “chạy được cái đã”: cài, đăng nhập, phiên đầu tiên, những lệnh bạn sẽ gõ mỗi ngày. Từ phần 2 trở đi ta mới mở nắp xem bên trong.

Thuật ngữ kỹ thuật giữ nguyên tiếng Anh (agent loop, context window, hook, skill) vì đó là từ bạn sẽ gặp trong terminal và trong docs. Phần dịch là phần giải thích.

Lộ trình 22 phần

PhầnChủ đềTrang docs gốc
1Claude Code là gì, cài đặt và phiên đầu tiênoverview, quickstart
2Agent loop và bộ tool có sẵnhow-claude-code-works, tools-reference
3Context window và prompt cachingcontext-window, prompt-caching
4CLAUDE.md, memory và thư mục .claudememory, claude-directory
5Interactive mode và CLI referenceinteractive-mode, cli-reference
6Slash command và bundled skillcommands
7Permission mode và cấu hình quyềnpermission-modes, permissions
8Session, resume và checkpointingsessions, checkpointing
9Các workflow thường gặpcommon-workflows
10Best practices và prompt librarybest-practices, prompt-library
11Các cơ chế mở rộng — chọn cái nào khi nàofeatures-overview
12Skills — dịch đầy đủskills
13Hooks — tự động hoá quanh hành động của Claudehooks-guide, hooks
14MCP — nối Claude vào công cụ ngoàimcp-quickstart, mcp
15Plugin và marketplaceplugins, discover-plugins
16Subagent, chạy agent song song, agent viewsub-agents, agents, agent-view
17Agent team, nhắn tin giữa session, worktreeagent-teams, cross-session-messaging, worktrees
18Dynamic workflow — điều phối subagent ở quy mô lớnworkflows
19Headless, deep link, chạy theo lịch và goalheadless, deep-links, scheduled-tasks, routines, goal
20Code review, security và CIcode-review, security-guidance, ultrareview, github-actions, large-codebases
21Cấu hình: settings, env var, model, output stylesettings, env-vars, model-config, fast-mode, output-styles
22Troubleshooting, glossary và Agent SDKtroubleshooting, glossary, agent-sdk

Bốn phần đầu là nền tảng — đọc tuần tự. Từ phần 5 trở đi bạn có thể nhảy cóc theo nhu cầu, khối Series ở cuối mỗi bài luôn cho bạn đường quay lại mục lục.


Claude Code làm được gì

Docs liệt kê chín nhóm việc. Đọc lướt qua để biết trần năng lực của công cụ, đừng cố nhớ hết:

  • Làm nốt những việc bạn cứ trì hoãn — viết test cho code chưa có test, dọn lỗi lint toàn project, gỡ merge conflict, cập nhật dependency, viết release note.
  • Xây feature và sửa bug — mô tả bằng ngôn ngữ thường; với bug thì dán thẳng error message hoặc tả triệu chứng, Claude lần ngược về nguyên nhân gốc rồi sửa.
  • Tạo commit và pull request — nó làm việc trực tiếp với git: stage thay đổi, viết commit message, tạo branch, mở PR.
  • Nối công cụ của bạn qua MCP — đọc design doc trên Google Drive, cập nhật ticket Jira, kéo dữ liệu từ Slack, hoặc gọi tooling nội bộ.
  • Tuỳ biến bằng instruction, skill và hook — CLAUDE.md cho luật project, skill cho quy trình lặp lại, hook để chạy lệnh shell trước/sau mỗi hành động.
  • Chạy agent team và tự viết agent — nhiều agent làm song song các phần khác nhau của một task; muốn toàn quyền điều phối thì dùng Agent SDK.
  • Pipe, script và tự động hoá bằng CLI — nó tuân theo triết lý Unix, đổ log vào được, chạy trong CI được, xâu chuỗi với công cụ khác được.
  • Chạy theo lịch — routine chạy trên cloud (máy bạn tắt vẫn chạy), scheduled task chạy trên máy bạn, /loop lặp một prompt ngay trong phiên.
  • Làm việc từ bất cứ đâu — session không dính vào một surface: rời bàn thì dùng Remote Control trên điện thoại, hoặc claude --teleport để kéo một task đang chạy trên web về terminal.

Ba nhóm đầu là thứ bạn dùng ngay tuần đầu tiên. Sáu nhóm còn lại là nội dung từ phần 11 trở đi của series.


Năm surface: chọn chỗ để chạy

Claude Code chạy trên nhiều surface khác nhau, tất cả nối vào cùng một engine — nên CLAUDE.md, settings và MCP server của bạn dùng chung được ở mọi nơi.

SurfaceHợp với
Terminal (CLI)Bản đầy đủ tính năng nhất. Mặc định của series này.
VS Code / CursorXem diff inline, @-mention file, review plan ngay trong editor.
Desktop appReview diff trực quan, chạy nhiều session cạnh nhau, đặt lịch task, mở session cloud.
WebKhông cần cài gì. Hợp với task chạy lâu, repo không có sẵn ở máy, hoặc chạy nhiều task song song.
JetBrainsIntelliJ, PyCharm, WebStorm — cần cài CLI riêng.

Ngoài năm surface trên, Claude Code còn nối vào CI/CD và chat:

Bạn muốn…Dùng
Tiếp tục session ở điện thoại hoặc máy khácRemote Control
Đẩy event từ Telegram, Discord, iMessage hoặc webhook riêng vào sessionChannels
Bắt đầu ở máy, tiếp tục trên mobileclaude --cloud rồi mở app Claude
Chạy định kỳ theo lịchRoutines hoặc Desktop scheduled tasks
Tự động review PR và phân loại issueGitHub Actions hoặc GitLab CI/CD
Tự động review mọi PRGitHub Code Review
Biến bug report trong Slack thành PRSlack
Debug web app đang chạyChrome
Tự viết agent cho workflow riêngAgent SDK

Phần lớn surface cần Claude subscription (Pro, Max, Team, Enterprise) hoặc tài khoản Claude Console. Riêng Terminal CLI và VS Code còn hỗ trợ third-party provider (Bedrock, Google Cloud, Microsoft Foundry).


Cài đặt

Cách được khuyến nghị là native install — nó tự cập nhật ngầm, bạn không phải nhớ nâng cấp.

macOS, Linux, WSL:

curl -fsSL https://claude.ai/install.sh | bash

Windows PowerShell:

irm https://claude.ai/install.ps1 | iex

Windows CMD:

curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

Nhầm shell là lỗi hay gặp nhất trên Windows. Dấu hiệu nhận biết:

  • Thấy The token '&&' is not a valid statement separator — bạn đang ở PowerShell chứ không phải CMD.
  • Thấy 'irm' is not recognized as an internal or external command — bạn đang ở CMD chứ không phải PowerShell.
  • Prompt hiện PS C:\ là PowerShell; chỉ có C:\ không có PS là CMD.

Trên Windows native, nên cài thêm Git for Windows để Claude Code dùng được Bash tool; không có nó thì nó rơi về PowerShell làm shell. Bản WSL không cần.

Nếu lệnh cài fail với syntax error near unexpected token '<', lỗi 403 hoặc lỗi curl khác, tra trang troubleshoot-install để khớp error với cách sửa.

Các cách cài khác — cả hai đều không tự cập nhật, phải nâng cấp thủ công:

brew install --cask claude-code

Homebrew có hai cask: claude-code bám nhánh stable (thường chậm khoảng một tuần, bỏ qua các bản có regression nặng), còn claude-code@latest bám nhánh latest, có bản mới ngay khi phát hành. Nâng cấp bằng brew upgrade claude-code hoặc brew upgrade claude-code@latest tuỳ cask bạn đã cài.

winget install Anthropic.ClaudeCode

WinGet nâng cấp bằng winget upgrade Anthropic.ClaudeCode. Trên Debian, Fedora, RHEL và Alpine còn cài được qua apt, dnf, apk.

Xác nhận cài xong:

claude --version

Lệnh này in ra số version kèm chữ (Claude Code).


Đăng nhập

Claude Code bắt buộc có tài khoản. Chạy claude lần đầu, nó sẽ nhắc đăng nhập:

claude

Nếu bạn đã set biến môi trường ANTHROPIC_API_KEY, nó bỏ qua bước đăng nhập và chỉ hỏi bạn duyệt key đó. Muốn đổi tài khoản hoặc đăng nhập lại về sau thì gõ /login ngay trong phiên đang chạy.

Các loại tài khoản dùng được:

  • Claude Pro, Max, Team hoặc Enterprise — được khuyến nghị.
  • Claude Console — truy cập API bằng credit trả trước. Lần đăng nhập đầu, Console tự tạo một workspace tên “Claude Code” để gom chi phí về một chỗ.
  • Amazon Bedrock, Google Cloud’s Agent Platform, Microsoft Foundry — dành cho enterprise.
  • Claude apps gateway tự host — nếu tổ chức bạn có: admin cấu hình sẵn URL gateway, /login mở thẳng màn hình Cloud gateway để bạn đăng nhập bằng SSO công ty.

Đăng nhập một lần là xong, credential được lưu lại trên máy.


Phiên làm việc đầu tiên

Mở terminal ở thư mục project rồi chạy:

cd /path/to/your/project
claude

Phía trên prompt sẽ hiện version, model đang dùng và thư mục làm việc. Gõ /help để xem lệnh, /resume để quay lại cuộc hội thoại trước.

Hỏi trước, sửa sau

Bắt đầu bằng việc bắt Claude đọc hiểu codebase. Gõ thẳng bằng tiếng Anh hoặc tiếng Việt đều được:

what does this project do?
what technologies does this project use?
where is the main entry point?
explain the folder structure

Bạn cũng hỏi được về chính năng lực của nó: what can Claude Code do?, how do I create custom skills in Claude Code?, can Claude Code work with Docker?.

Điểm quan trọng: Claude Code tự đọc file khi cần. Bạn không phải thêm context thủ công như ở một số công cụ khác.

Thay đổi code đầu tiên

add a hello world function to the main file

Claude tìm đúng file rồi trình bày thay đổi. Trong phiên đầu tiên sau khi cài, nó hỏi trước từng thay đổi — chọn Yes để duyệt.

Sau phiên đầu, với gói Pro, Max và Team thì phiên terminal và VS Code khởi động ở auto mode: một classifier duyệt hành động thay bạn, Claude sửa phần lớn file và chạy phần lớn lệnh mà không hỏi. Các gói khác khởi động ở Manual mode. Settings của bạn hoặc của tổ chức có thể đổi mode khởi động này.

Bấm Shift+Tab bất cứ lúc nào để chuyển permission mode của phiên đang chạy. Đây là phím tắt đáng nhớ nhất trong bài — phần 7 sẽ nói kỹ từng mode.

Làm việc với Git

Thao tác git trở thành hội thoại:

what files have I changed?
commit my changes with a descriptive message
create a new branch called feature/quickstart
show me the last 5 commits
help me resolve merge conflicts

Sửa bug và thêm feature

Mô tả bằng ngôn ngữ tự nhiên:

add input validation to the user registration form

Hoặc tả triệu chứng:

there's a bug where users can submit empty forms - fix it

Claude Code sẽ: tìm đoạn code liên quan → hiểu ngữ cảnh → cài đặt giải pháp → chạy test nếu project có test.

Vài workflow phổ biến khác

refactor the authentication module to use async/await instead of callbacks
write unit tests for the calculator functions
update the README with installation instructions
review my changes and suggest improvements

Bảng lệnh cốt lõi

Có hai loại lệnh, đừng lẫn: shell command gõ ở terminal để khởi động Claude Code, session command gõ bên trong Claude Code sau khi nó chạy.

Shell command:

LệnhTác dụng
claudeVào interactive mode
claude "task"Chạy một task rồi vào phiên
claude -p "query"Chạy một truy vấn rồi thoát luôn
claude -cTiếp tục cuộc hội thoại gần nhất trong thư mục hiện tại
claude -rChọn một cuộc hội thoại cũ để tiếp tục

Session command:

LệnhTác dụng
/clearXoá lịch sử hội thoại
/helpHiện danh sách lệnh
/exit hoặc Ctrl+D hai lầnThoát Claude Code

Danh sách đầy đủ nằm ở cli-reference (shell) và commands (session) — phần 5 và phần 6 của series.

Ví dụ dùng CLI theo kiểu Unix:

# Phân tích log gần đây
tail -200 app.log | claude -p "Slack me if you see any anomalies"

# Tự động dịch chuỗi trong CI
claude -p "translate new strings into French and raise a PR for review"

# Thao tác hàng loạt trên nhiều file
git diff main --name-only | claude -p "review these changed files for security issues"

Mẹo cho người mới

Hãy cụ thể. Thay vì “fix the bug”, viết “fix the login bug where users see a blank screen after entering wrong credentials”.

Chia việc thành từng bước khi task phức tạp:

1. create a new database table for user profiles
2. create an API endpoint to get and update user profiles
3. build a webpage that allows users to see and edit their information

Cho Claude khám phá trước khi sửa. Bắt nó analyze the database schema trước, rồi mới giao việc dựng dashboard.

Phím tắt tiết kiệm thời gian:

  • Gõ / để xem toàn bộ command và skill
  • Tab để hoàn thành lệnh
  • Mũi tên lên để xem lại lệnh đã gõ
  • Shift+Tab để đổi permission mode

Và nguyên tắc bao trùm: nói chuyện với Claude như với một đồng nghiệp. Mô tả kết quả bạn muốn đạt được, đừng chỉ ra lệnh từng thao tác.


Cách đọc series này

Phần 2 trả lời câu hỏi mà mọi người dùng đều vấp sau tuần đầu: tại sao đôi khi nó làm đúng ngay, đôi khi lại loay hoay? Câu trả lời nằm ở agent loop và bộ tool — hiểu nó rồi thì prompt của bạn khác hẳn.

Phần 3 và 4 giải quyết vấn đề lớn thứ hai: context. Biết khi nào /clear, khi nào để nó tự nén, và viết CLAUDE.md thế nào cho Claude thật sự tuân theo.

Xong bốn phần đầu là bạn dùng Claude Code ở mức thành thạo hằng ngày. Phần 11 trở đi mới là chỗ biến nó thành công cụ riêng của bạn.


Nguồn

Bài này dịch và tổng hợp từ tài liệu chính thức của Claude Code:

Docs gốc cập nhật thường xuyên; khi có mâu thuẫn, tin bản tiếng Anh.