Claude Code toàn tập — Lập trình với AI agent trong terminal
Điểm nổi bật
Nhấn để đến mục tương ứng
- 1 Công cụ AI sẽ thay đổi cách bạn làm việc: Claude Code là công cụ lập trình agentic chạy trong terminal, được Anthropic phát triển chính thức. Điểm mấu chốt là biết cách đặt prompt đúng để nhận kết quả có thể sử dụng ngay.
- 2 Một điều ít người đề cập: Điều hướng vào project của bạn và khởi động Claude Code: cd /path/to/your/project claude Bạn sẽ thấy prompt tương tác. Hiểu rõ bối cảnh áp dụng sẽ quyết định 80% thành công khi triển khai.
- 3 Nội dung cốt lõi: Claude Code có các built-in slash commands để điều khiển behavior: /plan Yêu cầu Claude lên kế hoạch chi tiết trước khi. Nắm vững phần này sẽ giúp bạn áp dụng hiệu quả hơn 70% so với đọc lướt toàn bài.
- 4 Khai thác tối đa công cụ AI: Claude Code thực sự mạnh khi cần thay đổi nhiều file cùng lúc — điều mà các AI assistant khác rất khó làm: > Rename. Bí quyết nằm ở cách bạn cấu trúc yêu cầu — prompt càng rõ ràng, output càng sát nhu cầu thực tế.
- 5 Góc nhìn thực tế: Expected output là 0, actual là 20%. Điều quan trọng là hiểu rõ khi nào nên và không nên áp dụng phương pháp này.
Claude Code là gì?
Claude Code là công cụ lập trình agentic chạy trong terminal, được Anthropic phát triển chính thức. Khác với các AI assistant thông thường chỉ gợi ý code, Claude Code thực sự thực thi các thao tác: đọc file, chỉnh sửa code, chạy lệnh, quản lý git, và tương tác với toàn bộ codebase của bạn.
Điểm khác biệt cốt lõi: Claude Code không chỉ là chatbot với khả năng coding — đây là một AI agent có khả năng tự lên kế hoạch và thực thi nhiều bước để hoàn thành một nhiệm vụ phức tạp, từ "refactor toàn bộ module authentication" đến "tìm và fix tất cả memory leaks trong codebase".
Tại sao Claude Code khác GitHub Copilot hay Cursor?
- Terminal-first: Chạy trực tiếp trong terminal, không cần IDE hay extension
- Agentic loop: Tự động lên kế hoạch, thực thi, kiểm tra kết quả, và điều chỉnh
- Full codebase context: Đọc toàn bộ project, không chỉ file hiện tại
- Tool use thực sự: Bash, file editing, git operations — không chỉ suggestion
- Customizable via CLAUDE.md: Cấu hình hành vi theo từng project
Cài đặt
Claude Code yêu cầu Node.js 18+ và npm. Cài đặt đơn giản qua npm:
npm install -g @anthropic-ai/claude-code
Sau khi cài, xác thực với Anthropic API:
claude
Lần đầu chạy, Claude Code sẽ hỏi API key hoặc redirect đến trang đăng nhập Anthropic. Nếu bạn đã có tài khoản Claude.ai Pro, có thể dùng OAuth login thay vì API key trực tiếp.
Cấu hình môi trường
Claude Code đọc API key từ biến môi trường:
export ANTHROPIC_API_KEY="sk-ant-..."
Thêm vào ~/.zshrc hoặc ~/.bashrc để tự động load mỗi lần mở terminal.
Cập nhật Claude Code
npm update -g @anthropic-ai/claude-code
Chạy lần đầu
Điều hướng vào project của bạn và khởi động Claude Code:
cd /path/to/your/project
claude
Bạn sẽ thấy prompt tương tác. Thử ngay một lệnh đơn giản:
> Hãy đọc cấu trúc project này và cho tôi biết đây là loại ứng dụng gì
Claude Code sẽ tự động dùng tool Bash để ls, cat các file quan trọng, phân tích và trả lời có ngữ cảnh thực sự của project.
Các khái niệm cốt lõi
Agentic Loop
Claude Code hoạt động theo vòng lặp agent:
- Nhận yêu cầu từ người dùng
- Lên kế hoạch các bước thực thi
- Chọn tool phù hợp (Bash, Read, Edit, Write...)
- Thực thi tool và quan sát kết quả
- Điều chỉnh kế hoạch dựa trên kết quả
- Lặp lại cho đến khi hoàn thành hoặc cần input
Đây là lý do Claude Code có thể xử lý các task phức tạp nhiều bước mà các AI assistant khác không thể — nó không chỉ gợi ý, mà thực sự làm.
Tool Use
Claude Code có bộ công cụ tích hợp sẵn:
| Tool | Mô tả | Ví dụ |
|---|---|---|
Bash |
Chạy lệnh shell | npm test, git status, ls -la |
Read |
Đọc file | Đọc source code, config files |
Edit |
Chỉnh sửa file (diff-based) | Sửa bug, refactor function |
Write |
Tạo hoặc ghi đè file | Tạo file mới, viết tests |
Glob |
Tìm kiếm file theo pattern | Tìm tất cả *.test.js |
Grep |
Tìm kiếm trong nội dung file | Tìm tất cả TODO comments |
Permission Model
Claude Code hỏi permission trước khi thực hiện các thao tác quan trọng:
- Read-only ops: Tự động, không cần xác nhận
- File modifications: Hiển thị diff và hỏi xác nhận
- Bash commands: Hỏi hoặc tự động tùy cấu hình
- Destructive ops: Luôn hỏi xác nhận
Dùng flag --dangerously-skip-permissions để bỏ qua tất cả xác nhận (chỉ dùng trong môi trường CI/CD hoặc khi bạn tin tưởng hoàn toàn).
File CLAUDE.md
CLAUDE.md là file cấu hình quan trọng nhất của Claude Code. Đặt tại root project, file này cho Claude biết:
- Project này làm gì, tech stack gì
- Coding conventions và standards
- Workflows đặc thù của team
- Các lệnh quan trọng (test, build, deploy)
- Những điều KHÔNG được làm
Ví dụ CLAUDE.md cho một Next.js project:
# CLAUDE.md
## Project
E-commerce platform built with Next.js 14, TypeScript, Prisma, PostgreSQL.
## Tech Stack
- Next.js 14 (App Router)
- TypeScript strict mode
- Prisma ORM
- PostgreSQL
- Tailwind CSS
## Commands
- Dev: `npm run dev`
- Test: `npm test`
- Type check: `npm run typecheck`
- DB migrate: `npx prisma migrate dev`
## Conventions
- Use server components by default, client components only when needed
- All API routes in /app/api/, use Route Handlers
- Prisma client singleton in /lib/prisma.ts
- Never commit .env files
## Do NOT
- Modify /prisma/migrations/ directly
- Use `any` type in TypeScript
- Skip error handling in API routes
Claude Code đọc CLAUDE.md ngay khi khởi động và giữ ngữ cảnh này trong suốt session.
Slash Commands
Claude Code có các built-in slash commands để điều khiển behavior:
/plan
Yêu cầu Claude lên kế hoạch chi tiết trước khi thực thi:
> /plan Refactor authentication module sang JWT tokens
Claude sẽ liệt kê từng bước cụ thể, các file cần sửa, potential risks — sau đó hỏi bạn có muốn thực thi không.
/compact
Khi conversation quá dài và context window gần đầy:
> /compact
Claude tóm tắt lịch sử conversation, giải phóng context space trong khi vẫn giữ những thông tin quan trọng nhất.
/review
> /review src/auth/
Yêu cầu code review cho file hoặc directory. Claude sẽ đọc code và đưa ra nhận xét về bugs, security issues, performance, và style.
/clear
Reset conversation history, bắt đầu session mới trong cùng project.
/cost
Xem token usage và estimated cost của session hiện tại.
Tích hợp IDE
VS Code
Cài extension Claude Code từ VS Code Marketplace. Extension cho phép:
- Mở Claude Code panel ngay trong VS Code
- Highlight code và yêu cầu Claude giải thích hoặc sửa
- Xem diffs trực tiếp trong editor
- Keyboard shortcut:
Cmd+Shift+A(macOS) mở Claude panel
JetBrains
Plugin Claude Code có sẵn cho IntelliJ IDEA, WebStorm, PyCharm. Cài từ JetBrains Marketplace, cấu hình API key trong Settings.
Terminal trong IDE
Cách đơn giản nhất: chạy claude trong integrated terminal của VS Code hoặc JetBrains. Vẫn có full functionality mà không cần plugin.
Làm việc với Git
Claude Code tích hợp tốt với git workflow:
Xem changes trước khi commit
> Xem tất cả changes tôi đã làm hôm nay và viết commit message phù hợp
Claude chạy git diff, git status, phân tích changes và đề xuất commit message theo conventional commits format.
Code review trước PR
> Review code trong branch feature/payment-integration so với main
Resolve merge conflicts
> Có conflict trong src/api/users.ts, hãy resolve theo logic của branch feature
Git bisect automation
> Bug này xuất hiện từ commit nào? Test case để detect bug là: [mô tả]
Claude có thể tự động hóa git bisect để tìm commit gây ra bug.
Multi-file Editing
Claude Code thực sự mạnh khi cần thay đổi nhiều file cùng lúc — điều mà các AI assistant khác rất khó làm:
> Rename interface UserProfile thành UserAccount trong toàn bộ codebase,
cập nhật tất cả imports và usages
Claude sẽ:
- Dùng
Greptìm tất cả occurrences - Dùng
Editđể rename trong từng file - Chạy
npm run typecheckđể verify không có errors - Report danh sách files đã thay đổi
Ví dụ multi-file workflow thực tế
> Thêm field "lastLoginAt" vào User model:
- Cập nhật Prisma schema
- Tạo migration
- Cập nhật TypeScript interfaces
- Cập nhật API endpoints liên quan
- Thêm unit tests
Đây là loại task mà Claude Code xử lý xuất sắc — một yêu cầu high-level, nhiều bước, nhiều file.
Hooks
Claude Code hỗ trợ hooks để tự động hóa actions:
# .claude/hooks/pre-commit.sh
#!/bin/bash
npm run typecheck
npm run lint
npm test -- --passWithNoTests
Cấu hình trong .claude/settings.json:
{
"hooks": {
"pre-commit": ".claude/hooks/pre-commit.sh",
"post-edit": ".claude/hooks/format.sh"
}
}
Hooks chạy tự động khi Claude thực hiện các actions nhất định, đảm bảo code luôn qua được quality gates.
MCP Servers
Model Context Protocol (MCP) cho phép Claude Code tích hợp với external tools và services:
Cài đặt MCP server
claude mcp add github-mcp-server
claude mcp add postgres-mcp-server
Ví dụ với GitHub MCP
> Tạo issue trên GitHub cho bug vừa tìm thấy,
label là "bug" và "high-priority"
Ví dụ với Database MCP
> Query database production xem user nào đã login trong 24h qua
MCP mở rộng khả năng của Claude Code ra ngoài filesystem, cho phép tương tác với toàn bộ development ecosystem.
Tips cho việc sử dụng hiệu quả
1. Provide context upfront
Thay vì: "Fix bug này"
Hãy nói: "Function calculateTax() trong src/billing/tax.ts trả về kết quả sai khi customer ở EU và có VAT exemption. Expected output là 0, actual là 20%. Đây là test case: [paste test]"
2. Dùng /plan cho tasks lớn
Với bất kỳ task nào ảnh hưởng nhiều hơn 3 files hoặc cần nhiều hơn 5 bước, hãy dùng /plan trước. Xem và approve kế hoạch trước khi Claude thực thi.
3. Verify sau mỗi bước lớn
> Chạy tests để verify changes vừa làm không break gì
4. Dùng CLAUDE.md để encode team knowledge
Mọi "unwritten rule" của team nên được viết vào CLAUDE.md. Càng nhiều context, Claude càng ra quyết định tốt hơn.
5. Iterative refinement
Không cần phải spec perfect ngay từ đầu. Bắt đầu với yêu cầu high-level, xem Claude làm gì, điều chỉnh tiếp.
6. Tận dụng --print flag cho automation
claude --print "Summarize changes in last 10 commits" > summary.txt
Dùng trong scripts, CI/CD pipeline, hoặc bất kỳ automation nào.
Common Workflows
Bug Fixing
- Paste error message và stack trace
- Cung cấp steps to reproduce
- Claude tìm root cause trong code
- Claude đề xuất và implement fix
- Claude viết regression test
- Chạy full test suite để verify
> TypeError: Cannot read property 'id' of undefined
at UserService.getProfile (src/services/user.service.ts:45)
Xảy ra khi user chưa đăng nhập cố gắng access profile page.
Fix bug này và thêm proper error handling.
Refactoring
- Chỉ rõ code cần refactor
- Mô tả mục tiêu (performance, readability, pattern)
- Claude phân tích và đề xuất approach
- Approve plan, Claude thực thi
- Run tests, review diffs
> src/utils/helpers.ts đang có 800 dòng với nhiều unrelated functions.
Hãy tách thành các modules nhỏ hơn theo domain:
date-utils, string-utils, array-utils, format-utils
New Feature Development
- Mô tả feature requirements
- Thảo luận architecture với Claude
- Approve approach
- Claude implement từng bước
- Review code, request adjustments
- Claude viết tests
- Final review và cleanup
Code Review Preparation
> Tôi sắp submit PR này. Hãy review code, tìm potential issues,
suggest improvements, và kiểm tra xem có missing tests không.
Pricing và Limits
Claude Code dùng API tokens của Anthropic. Chi phí phụ thuộc vào:
- Model đang dùng (Claude Sonnet tiết kiệm hơn Claude Opus)
- Kích thước codebase (context tokens)
- Số lượng tool calls
- Độ phức tạp của tasks
Với Claude Pro subscription, bạn có thể dùng Claude Code qua OAuth login với usage limits. Với API key, bạn pay per token và có flexibility hơn.
Dùng /cost thường xuyên để track spending trong session.
Kết luận
Claude Code đại diện cho một paradigm shift trong developer tooling — từ AI-as-assistant sang AI-as-collaborator. Thay vì chỉ gợi ý code, Claude Code tham gia vào toàn bộ development workflow: từ hiểu codebase, lên kế hoạch, thực thi, đến verify kết quả.
Key để tận dụng tối đa Claude Code:
- Đầu tư thời gian viết CLAUDE.md tốt cho mỗi project
- Tin tưởng vào agentic loop — cho Claude làm nhiều hơn một bước
- Provide context rõ ràng, specific
- Verify kết quả qua tests và code review
- Treat Claude như senior developer, không phải autocomplete
Bài viết liên quan
Bai viet co huu ich khong?
Bản quyền thuộc về tác giả. Vui lòng dẫn nguồn khi chia sẻ.





