All posts
Claude Code CLI: Hướng dẫn Best Practices từ Thực Tế
claudeaiclaude cliclicheat

Claude Code CLI: Hướng dẫn Best Practices từ Thực Tế

Quang Tran D.6 min read
On this page10 sections

Claude Code CLI: Hướng dẫn Best Practices từ Thực Tế

Một vài trải nghiệm và đúc kết từ việc sử dụng Claude Code CLI hàng ngày — xoay quanh câu chuyện quản lý bộ nhớ, tối ưu context, làm việc với các chế độ (modes) và một vài mẹo nhỏ hữu ích.

Không có gì quá cao siêu, chỉ là những điều mình ước có ai đó nói cho mình biết sớm hơn.


01. Setup một lần, dùng mãi mãi (Foundation)

Đây là những việc bạn chỉ cần làm một lần khi bắt đầu dự án (hoặc một lần duy nhất trên máy tính của bạn) rồi quên nó đi — nhưng nó sẽ mang lại giá trị trong từng phiên làm việc (session).

Tối ưu hóa file CLAUDE.md

Hãy đặt sẵn các lệnh chạy test, linter ở đây, kèm theo tổng quan kiến trúc, những phần code KHÔNG được chạm vào, và quy ước code style của dự án. Agent sẽ tự động đọc file này trước khi làm việc — bạn không cần phải lặp lại các yêu cầu này trong mỗi câu prompt nữa.

Mẹo: Nếu dự án của bạn có cấu trúc phức tạp (Monorepo hoặc nhiều module), bạn có thể thả một file CLAUDE.md riêng vào từng thư mục con. Agent sẽ tự động nhặt cả file root lẫn file nằm gần với phần code mà nó đang xử lý nhất.

Tận dụng Auto Memory (Bộ nhớ tự động)

Bộ nhớ tự động giống như một cuốn sổ tay tích hợp của Claude Code để lưu ghi chú giữa các phiên làm việc: từ lệnh build, insight debug, cho đến sở thích cá nhân về style code.

  • Bộ nhớ này được lưu tại thư mục: ~/.claude/projects/<project>/memory/

  • Bạn có thể kiểm tra và dọn dẹp nó nhanh bằng lệnh /memory.

💡 Quy tắc tương tác với Bộ nhớ:

  • Sửa bằng lời, không sửa thầm lặng: Trực tiếp nhắc nhở "Đừng dùng var, chúng ta dùng const/let khắp nơi" chính là tín hiệu giúp bộ nhớ ghi nhận tốt nhất. Việc bạn tự âm thầm sửa lỗi trong IDE sẽ không giúp Agent thông minh hơn ở lần sau.

  • Chốt hạ sau task khó: Cuối mỗi task phức tạp, hãy dặn Agent: "Nhớ cách chúng ta vừa fix lỗi này nhé" hoặc "Lưu vào bộ nhớ: repo này dùng Arel, không dùng raw SQL".

  • Bảo trì định kỳ: Vài tuần một lần, hãy gõ /memory để dọn ghi chú cũ hoặc chuyển các phát hiện chung của team trực tiếp vào file CLAUDE.md.


02. Quy trình xử lý Task hiệu quả (Workflow)

Thói quen làm việc thực tế quyết định việc Agent sẽ hỗ trợ bạn mượt mà hay sẽ tạo ra một mớ hỗn độn.

Lựa chọn đúng chế độ làm việc (Modes)

Bạn có thể chuyển đổi nhanh giữa các chế độ bằng tổ hợp phím Shift + Tab:

Chế độ (Mode)Khi nào nên dùngMức độ an toànNormalMặc định — Phù hợp khi bạn muốn tự tay phê duyệt (confirm) từng hành động nhỏ của Agent.🟢 An toàn nhấtPlanDành cho các task phức tạp — Agent sẽ đưa ra kế hoạch trước, bạn duyệt/sửa kế hoạch rồi mới để nó thực thi.🟢 Khuyên dùngAuto-acceptChỉ nên dùng cho các task rất ngắn và hẹp (như đổi tên biến, chạy lint, fix flaky test) trên một git tree sạch.🟡 Cẩn trọng

Quy tắc "Chia để trị" và Lưới an toàn Git

Thay vì quăng một câu lệnh chung chung như "implement the whole feature", hãy bắt Agent đi từng bước nhỏ: Thiết kế schema trước ➡️ làm migration ➡️ viết endpoint ➡️ cuối cùng là viết tests. Cách tiếp cận này giúp bạn tiết kiệm token, dễ review và cực kỳ dễ rollback nếu Agent đi lạc hướng.

⚠️ Nguyên tắc sống còn: Luôn đảm bảo $ git status sạch sẽ trước khi cho Claude Code chạy. Nếu kết quả không ưng ý, bạn có thể $ git diff để xem và $ git reset để làm lại từ đầu một cách nhanh chóng, tiết kiệm.


03. Quản lý Context (Resource Management)

Context (ngữ cảnh) chính là tài nguyên quý giá nhất — bạn trả tiền dựa trên nó và chất lượng câu trả lời cũng phụ thuộc hoàn toàn vào nó.

  • Để ý dung lượng context: Context càng phình to, mỗi bước chạy tiếp theo sẽ càng tốn kém (vì toàn bộ lịch sử sẽ được gửi lại ở mỗi lượt) và Agent sẽ bắt đầu có hiện tượng "mất tập trung".

  • Dọn dẹp bằng /compact: Hãy gõ lệnh /compact để nén lại lịch sử trò chuyện, hoặc chủ động tắt đi và mở một session hoàn toàn mới khi bạn chuyển sang một task khác độc lập.

  • Đừng sửa sai chồng sai: Nếu Agent làm hỏng code của bạn và loay hoay không sửa được trong cùng một session, đừng để nó cố sửa tiếp. Hãy git reset, tổ chức lại câu lệnh, mở một session mới sạch sẽ và bắt đầu lại.

Giải pháp cho Repo lớn: CodeGraphContext (Cgc)

Khi làm việc với các dự án lớn, việc Agent sử dụng lệnh grep để quét từ khóa thông thường rất dễ làm tràn context do phải tải lên hàng chục file không liên quan. Hãy cài đặt và sử dụng CodeGraphContext để Agent có thể sử dụng các công cụ chuyên sâu như tìm hàm gọi (find_callers), cây phân cấp class (class_hierarchy)... giúp tiết kiệm phần lớn lượng token tiêu hao.


04. Tinh chỉnh nâng cao (Tuning & Extras)

Một vài nút gạt nhỏ giúp bạn tối ưu hóa tối đa hiệu suất làm việc của Claude Code CLI.

  • Đính kèm screenshot & log xịn: Đối với các lỗi liên quan đến giao diện (UI), một bức ảnh chụp màn hình đáng giá hơn ngàn lời giải thích. Đối với lỗi code, hãy paste full stack trace thay vì tự tóm tắt lại. Bạn có thể dùng phím Ctrl + V để paste trực tiếp ảnh vào CLI.

  • Chế độ Caveman (/caveman): Đây là một tiện ích mở rộng rất hay giúp Claude trả lời theo phong cách "điện báo" — ngắn gọn, súc tích, cắt bỏ toàn bộ những câu từ xã giao, rườm rà. Tiện ích này giúp cắt giảm tới 75% lượng token output mà vẫn giữ nguyên độ chính xác về mặt kỹ thuật. Bạn có thể bật bằng lệnh /caveman và tắt bằng cách quay về "normal mode".


Lời kết

Suy cho cùng, phần lớn lợi ích và sự mượt mà khi làm việc với Claude Code CLI sẽ đến từ ba việc cốt lõi: Thiết lập file CLAUDE.md chuẩn chỉnh, tận dụng triệt để chế độ plan mode, và giữ cho Context Window luôn gọn gàng, trung thực.

Chúc bạn có những trải nghiệm lập trình năng suất với Claude Code CLI!