Sat Jun 27 2026 20:00:00 GMT-0400 (Eastern Daylight Time)

Claude Code năm 2026: Thiết lập, Lệnh gạch chéo (Slash Commands), MCP và Subagents

Tôi đã thiết lập Claude Code, CLAUDE.md, các máy chủ MCP và subagents, sau đó chạy nó trên một repo thực tế trong vòng một tháng. Đây là cách tôi sử dụng hàng ngày về thiết lập, lệnh và quy trình làm việc.

Claude Code năm 2026: Thiết lập, Lệnh gạch chéo (Slash Commands), MCP và Subagents

Cập nhật lần cuối: June 28, 2026

Tôi đã sử dụng Claude Code mỗi ngày làm việc trong tháng qua trên một monorepo Next.js thực tế. Bài viết này bao gồm phần thiết lập, các lệnh slash, CLAUDE.md, MCP, subagents, quyền hạn và hooks mà tôi thực sự chạy, cùng với những điểm nó còn thiếu sót.

Câu trả lời nhanh: Claude Code là gì và có đáng giá không?

Claude Code là CLI coding agentic của Anthropic. Nó đọc repo của bạn, chỉnh sửa các file, chạy shell commands, và xâu chuỗi tools cho đến khi nhiệm vụ hoàn thành. Tôi sử dụng nó để triển khai features, fix bugs, và review diffs mà không cần rời khỏi terminal.

Thiết lập hoạt động với tôi: cài đặt CLI, thêm một CLAUDE.md, kết nối hai hoặc ba MCP servers, và giữ quyền hạn thật chặt chẽ. Sự kết hợp này biến nó từ một món đồ chơi chat thành một đồng đội hiểu được codebase của bạn.

Nó không phải là phép thuật. Trên một repo 200k-file, nó vẫn bị ảo giác (hallucinates) các APIs và làm hỏng tests. Lợi ích đến khi bạn giới hạn tasks nhỏ, review mọi plan, và commit thường xuyên. Tôi sẽ nói thêm về những giới hạn thực tế ở cuối bài viết.

Cách thiết lập Claude Code?

Tôi đã cài đặt native installer trên macOS và Node trên Linux. Cả hai đều là các đường dẫn chính thức được tài liệu hóa trong repository tại github.com/anthropics/claude-code.

## macOS / Linux native installer
curl -fsSL https://claude.ai/install.sh | bash

## hoặc qua npm
npm install -g @anthropic-ai/claude-code

## verify
claude --version

Sau đó tôi chạy claude bên trong repo của mình và đăng nhập bằng tài khoản Anthropic. Khi khởi động lần đầu, nó đã quét cây thư mục (tree) và yêu cầu tôi xác nhận quyền truy cập thư mục. Tôi chỉ đồng ý cho root project, chứ không phải toàn bộ thư mục home của tôi.

Một vài quyết định thiết lập mà tôi đưa ra sớm và không hối tiếc:

  • Tôi ghim version trong CI để các thành viên cùng sử dụng phiên bản khớp nhau.
  • Tôi thêm .claude/ vào .gitignore ngoại trừ settings.json, cái mà tôi đã commit.
  • Tôi viết CLAUDE.md trước bất kỳ prompt thực tế nào, bởi vì chất lượng context quyết định chất lượng output.
  • Tôi giữ chế độ mặc định "ask before destructive action" (hỏi trước hành động phá hủy) trong tuần đầu tiên.

Tài liệu tham khảo chính thức về install và config nằm tại docs.claude.com/en/docs/claude-code, cái mà tôi luôn mở khi cấu hình.

Tôi sử dụng những slash commands nào hàng ngày?

Slash commands là cách nhanh nhất để điều hướng một session. Tôi học được chúng bằng cách chạy /help và cắt giảm danh sách xuống chỉ còn những lệnh tôi thực sự cần dùng đến.

Command Mục đích sử dụng
/clear Reset context trước nhiệm vụ mới để tránh bị trôi (drift)
/compact Tóm tắt một session dài mà không làm mất các facts quan trọng
/init Khởi tạo CLAUDE.md từ repo hiện tại
/cost Kiểm tra token spend giữa chừng nhiệm vụ
/resume Tiếp tục một session tôi đã tạm dừng trước đó
/permissions Kiểm toán và chỉnh sửa các tools được phép theo thời gian thực

Tôi chạy /clear nhiều hơn bất kỳ lệnh nào khác. Khi một session bị nhầm lẫn, một trạng thái sạch sẽ cùng với prompt chặt chẽ hơn có thể khắc phục 80 phần trăm vấn đề. /compact là phiên bản nhẹ nhàng hơn tôi dùng khi muốn duy trì động lực nhưng context đang trở nên nặng nề.

Blurred close-up of colorful programming code displayed on a screen

Làm thế nào để viết một CLAUDE.md hiệu quả?

CLAUDE.md là một file markdown mà Claude đọc khi bắt đầu mỗi session. Hãy coi nó như tài liệu onboarding cho một nhân viên mới nhanh nhưng không có bất kỳ ký ức nào về các quyết định của bạn.

Tôi chạy /init để tạo bản nháp đầu tiên, sau đó tôi tự tay viết lại nó. Phiên bản được sinh ra chỉ là điểm khởi đầu, chứ không phải file cuối cùng. CLAUDE.md của tôi bao gồm stack, conventions, layout, commands và ba bugs mà tôi không muốn tái xuất hiện.

## Project

Next.js 14 App Router, TypeScript strict, Prisma + Postgres, pnpm workspaces.

## Layout
- App routes in app/
- Server actions in app/actions
- UI primitives in packages/ui

## Conventions
- Prefer async/await over .then chains
- Never use `any`; type unknown and narrow
- Keep components under 200 lines

## Commands
- Dev: pnpm dev
- Test: pnpm test
- Lint: pnpm lint

## Known traps
- Do not edit prisma/schema.prisma without running migrate
- rate-limit.ts is shared; changes affect all routes

Hai lỗi CLAUDE.md tôi đã mắc và sửa. Thứ nhất, tôi viết thành đoạn văn thay vì list, làm loãng tín hiệu (signal). Thứ hai, tôi đưa lịch sử dự án vào đó, cái này tiêu tốn tokens mà không mang lại lợi ích gì. Hãy giữ nó ngắn gọn, mệnh lệnh, và cập nhật.

Đối với các pattern sâu hơn, bài Claude Code skills writeup của tôi phân tích các prompt fragments có thể tái sử dụng kết hợp tốt với CLAUDE.md.

MCP và subagents hoạt động trong thực tế như thế nào?

MCP (Model Context Protocol) là cách Claude Code vươn ra ngoài repo của bạn: databases, browsers, GitHub, Linear. Tôi chạy ba MCP servers và đó là quá đủ. Nhiều server hơn nghĩa là nhiều tokens và nhiều prompt yêu cầu phê duyệt hơn.

Thiết lập MCP hiện tại của tôi thực hiện công việc thực tế mỗi tuần:

  • Server GitHub mở PRs và đọc review comments.
  • Server Postgres trả lời "bao nhiêu hàng khớp" mà không cần tôi viết SQL.
  • Server Playwright xác minh các thay đổi UI so với một staging URL.

Tôi đã cấu hình chúng trong .claude/settings.json và xác minh từng cái bằng một prompt một dòng trước khi tin tưởng nó trong một task thực tế. Cấu hình và lựa chọn server được đề cập chi tiết trong Claude Code MCP integration guide và bài giới thiệu rộng hơn về MCP model context primer.

Programmer wearing headphones coding at a desk with dual monitors

Subagents là bộ nhân lực (multiplier) khác. Đối với một feature có các phần độc lập, tôi yêu cầu Claude điều phối các subagents song song, mỗi agent được giới hạn phạm vi cho một file hoặc module, và để một lead agent hợp nhất kết quả. Nó giảm đáng kể thời gian thực tế đối với những thay đổi lớn.

Subagents tỏa sáng khi công việc thực sự là song song. Chúng thất bại khi tasks chia sẻ state, bởi vì bước merge sẽ trở nên lộn xộn. Đối với các pattern parallelization mà tôi tin tưởng, xem Claude Code subagents and team automation.

Quyền hạn và hooks hoạt động như thế nào?

Permissions quyết định những gì Claude có thể làm mà không cần hỏi. Tôi giữ mặc định ở mức bảo thủ và mở rộng theo từng dự án. Prompt phê duyệt sẽ xuất hiện trước bất cứ hành động phá hủy nào, đây là lưới an toàn duy nhất tôi không bao giờ tắt.

Mode Hành vi Khi tôi sử dụng nó
Read-only Chỉ đọc file, không ghi Khám phá một repo lạ
Default Ghi file, hỏi trước khi shell Công việc feature hàng ngày
Plan Đề xuất plan, chờ xác nhận của tôi Các refactor rủi ro
Skip approvals Chạy mà không cần prompt Chỉ trên branch throwaway sandbox

Hooks là các scripts do người dùng định nghĩa chạy theo sự kiện của Claude: trước một command, sau khi edit, khi session bắt đầu. Tôi sử dụng hook post-edit để tự động chạy linter và type-checker, nhờ đó Claude nhận được feedback nhanh mà không cần tôi phải chạy bất cứ thứ gì.

Một hook đã cứu tôi tuần trước. Hook pre-command của tôi đã chặn lệnh rm -rf nhắm vào một path ngoài dự án, và Claude đã điều chỉnh thành xóa theo phạm vi (scoped delete). Đó chính xác là loại guardrail đáng giá mười phút để thiết lập.

Software engineer writing and reviewing code in a modern office

Claude Code có đáng giá vào năm 2026 không?

Có, đối với các developer đã sống trong terminal. Chi phí là thực tế, được đo bằng tokens, và nó mang lại lợi ích khi tasks của bạn được giới hạn phạm vi và repo của bạn được mô tả tốt bởi CLAUDE.md.

Nó thay thế ba công cụ cho tôi: một AI chat riêng biệt, một CLI search assistant, và phần lớn việc khám phá thủ công kiểu grep-and-read của tôi. Vòng lặp native terminal nhanh hơn nhiều so với chuyển tab sang trình duyệt.

Nơi nó vẫn thua kém: các refactors mơ hồ quy mô lớn, các framework mới toanh có tài liệu mỏng, và bất cứ thứ gì cần sự tinh tế trên toàn bộ codebase. Đối với những trường hợp đó, tôi lên kế hoạch bằng văn bản thuần túy trước, sau đó đưa một spec sắc nét cho Claude.

Bạn có nên tin tưởng nó với code production không?

Không phải là tự giám sát (unsupervised). Tôi đối xử với output của Claude Code giống như cách tôi đối xử với PR của một junior giỏi: đọc mọi diff, chạy tests, và không bao giờ merge chỉ vì niềm tin. Autonomy là một núm vặn (dial), chứ không phải một công tắc (switch).

Lời cảnh báo trung thực: Claude Code sẽ tự tin tạo ra code trông có vẻ đúng nhưng lại sai tinh vi, đặc biệt xung quanh việc xử lý lỗi (error handling) và async cleanup. Hãy tự mình review các failure paths, giữ khả năng rollback nhanh chóng, và bạn sẽ nhận được sự tăng năng suất nghiêm trọng mà không gặp thảm họa. Anthropic docs đề cập đến các settings tôi chưa nhắc lại ở đây.

Các điểm chính cần ghi nhớ

  • Cài đặt CLI, sau đó đầu tư vào CLAUDE.md trước prompt thực tế đầu tiên.
  • Thành thạo /clear, /compact, và /permissions; phần còn lại là tùy chọn.
  • Bắt đầu với hai hoặc ba MCP servers và chỉ thêm khi workflow yêu cầu.
  • Sử dụng subagents cho công việc song song, độc lập; giữ các task chia sẻ state theo trình tự (serial).
  • Giữ quyền hạn chặt chẽ và thêm hooks cho lint, type-check, và guard của lệnh phá hủy.
  • Review mọi diff như một PR. Autonomy mà không có review là nơi các dự án bị tổn hại.

Credits hình ảnh

Sử dụng các công cụ miễn phí trong khi bạn theo dõi hướng dẫn.

Ảnh bìa cho Real-ESRGAN AI Upscaling: Cách thức hoạt động và khi nào nên sử dụng nó

Wed Mar 11 2026 20:00:00 GMT-0400 (Eastern Daylight Time)

Real-ESRGAN AI Upscaling: Cách thức hoạt động và khi nào nên sử dụng nó

Bài viết này giải thích Real-ESRGAN là gì, cách thức hoạt động của super-resolution dựa trên GAN, những điểm mạnh (như upscaling 4x ảnh và tác phẩm nghệ thuật), cũng như các giới hạn khi nó thất bại, kèm theo lệnh sử dụng chi tiết.