📖 Nội dung bài học
Video
Quản lý ngữ cảnh
Ngữ cảnh (context) là bộ nhớ làm việc của Claude. Mọi tệp tin nó đọc, mọi lệnh nó chạy, mọi tin nhắn bạn gửi — tất cả đều chiếm không gian trong cửa sổ ngữ cảnh (context window).
Cửa sổ ngữ cảnh là gì?
Hãy coi cửa sổ ngữ cảnh như lượng không gian Claude có thể lưu trữ trong bộ nhớ của nó. Bất cứ khi nào bạn nhập một prompt, Claude đọc một tệp, chạy một lệnh gọi công cụ (tool call), hoặc nhận kết quả từ lệnh gọi công cụ, tất cả đều được thêm vào cửa sổ ngữ cảnh. Vì không gian có giới hạn, việc tối ưu hóa cách bạn sử dụng nó trở nên quan trọng.

Điều gì xảy ra khi ngữ cảnh đầy
Khi bạn gần đạt đến giới hạn, cửa sổ ngữ cảnh sẽ tự động được nén lại (compacted). Quá trình nén tóm tắt các chi tiết quan trọng và loại bỏ các kết quả lệnh gọi công cụ không cần thiết để giải phóng không gian. Lưu ý rằng quá trình này có thể làm mất chi tiết.

Lệnh
Bạn có thể chạy lệnh nén thủ công với lệnh /compact. Lệnh này nén mọi thứ cho đến thời điểm đó. Nó rất hữu ích khi bạn muốn giải phóng không gian ngữ cảnh trong khi vẫn giữ lại ký ức về những gì bạn đã làm trước đó.

Nếu bạn muốn bắt đầu lại hoàn toàn mà không có ký ức về phiên trước đó, hãy chạy /clear. Lệnh này loại bỏ mọi thứ.

Để kiểm tra trạng thái ngữ cảnh của bạn, hãy chạy lệnh /context. Bạn sẽ nhận được một cái nhìn tổng quan cấp cao về kích thước ngữ cảnh, các danh mục chiếm nhiều không gian nhất và một biểu đồ trực quan hiển thị sự phân bổ.

Khi nào nên sử dụng lệnh nào
Một quy tắc chung:
-
Sử dụng
/compactkhi bạn đang làm việc trên một tính năng cụ thể và sắp hết giới hạn ngữ cảnh nhưng cần tiếp tục. Việc giữ cho ngữ cảnh liên quan đến tính năng hiện tại của bạn là rất quan trọng. -
Sử dụng
/clearkhi bạn muốn bắt đầu một tính năng mới. Bạn không muốn cuộc trò chuyện trước đó làm sai lệch một cái gì đó mới. Đối với những thứ bạn muốn Claude ghi nhớ giữa các phiên, hãy đặt chúng vào tệp CLAUDE.md của bạn để nó không phải khám phá lại mọi thứ từ đầu.
Mẹo tiết kiệm không gian ngữ cảnh
Hãy cụ thể. Một prompt mơ hồ có vẻ nhỏ hơn, nhưng thực tế lại tốn nhiều ngữ cảnh hơn về lâu dài. Nếu không có hướng dẫn rõ ràng, Claude buộc phải khám phá codebase của bạn nhiều hơn và tự suy luận — điều này chiếm nhiều không gian ngữ cảnh hơn nhiều so với một prompt chi tiết.
Quản lý các MCP server của bạn. Các MCP server tải tất cả các công cụ có sẵn của chúng vào ngữ cảnh theo mặc định, ngay cả khi bạn không sử dụng chúng. Nếu bạn có các server được cấu hình cho những thứ không liên quan đến dự án hiện tại, hãy cân nhắc tắt chúng. Bạn cũng có thể thử "Skills", hoạt động tương tự như MCP server nhưng không tải mọi thứ vào ngữ cảnh ngay lập tức.
Sử dụng subagent. Các subagent chạy song song với agent chính của bạn nhưng có cửa sổ ngữ cảnh hoàn toàn riêng biệt. Đối với các tác vụ mà bạn chỉ cần câu trả lời — như "các điểm cuối xác thực nằm ở đâu?" — một subagent sẽ thực hiện công việc và chỉ trả về một bản tóm tắt cho agent chính của bạn, giữ cho ngữ cảnh chính của bạn được gọn gàng.
Tóm tắt
Quản lý ngữ cảnh trong Claude Code là rất quan trọng. Sử dụng /compact để tóm tắt các phiên dài và /clear để bắt đầu lại. Để sử dụng cửa sổ ngữ cảnh của bạn một cách hiệu quả: hãy cụ thể với các prompt của bạn, kiểm tra những gì đang tiêu thụ ngữ cảnh hiện tại của bạn và sử dụng các subagent để ủy thác các tác vụ mà bạn chỉ cần kết quả.
🎬 Bản ghi video
Source video:
eW3oTyfeWZ0
📜 Mở rộng bản ghi (đã chỉnh sửa + dịch AI)
Hiểu về Context Window của Claude
Context (ngữ cảnh) chính là bộ nhớ tạm thời (working memory) của Claude. Mỗi tệp tin Claude đọc, mỗi lệnh Claude thực thi và mỗi tin nhắn bạn gửi đi đều chiếm dung lượng trong context window. Hãy coi context window là tổng lượng thông tin mà Claude có thể lưu giữ trong bộ nhớ tại một thời điểm nhất định.
Bất cứ khi nào bạn nhập một prompt, Claude đọc một tệp, thực hiện một tool use hoặc nhận kết quả từ tool use đó, dữ liệu sẽ được thêm vào context window. Vì dung lượng này là hữu hạn, việc tối ưu hóa nó trở nên cực kỳ quan trọng.
Nén và Xóa Context
Khi bạn tiến gần đến giới hạn, context window sẽ tự động được nén lại (compaction). Quá trình này tóm tắt các chi tiết quan trọng và loại bỏ các kết quả tool use không cần thiết để giải phóng không gian. Tuy nhiên, lưu ý rằng quá trình này có khả năng làm mất đi một số chi tiết cụ thể từ cuộc hội thoại trước đó của bạn.
Quản lý Context thủ công
/compact: Bạn có thể thực hiện nén thủ công bằng lệnh/compact. Lệnh này sẽ nén toàn bộ những gì bạn đã thực hiện cho đến thời điểm đó. Đây là cách hữu ích nếu bạn muốn giải phóng không gian context trong khi vẫn giữ lại trí nhớ về những gì đã làm./clear: Nếu bạn muốn bắt đầu hoàn toàn mới mà không có bất kỳ ký ức nào về công việc trước đó, bạn có thể chạy lệnh/clear. Lệnh này sẽ xóa bỏ mọi thứ và thiết lập lại phiên làm việc (session)./context: Để kiểm tra trạng thái bộ nhớ, hãy chạy lệnh/context. Lệnh này cung cấp một cái nhìn tổng thể về kích thước context của bạn, hiển thị danh mục nào đang tiêu tốn nhiều dung lượng nhất kèm theo biểu đồ trực quan.
Các phương pháp tối ưu hóa Context tốt nhất
Quy tắc chung để quản lý phiên làm việc của bạn:
- Sử dụng Compact khi bạn đang thực hiện một tính năng cụ thể và sắp chạm giới hạn context nhưng cần tiếp tục. Việc giữ cho context liên quan đến tính năng hiện tại là rất quan trọng cho quá trình phát triển liên tục.
- Sử dụng Clear khi bạn đã hoàn thành một kế hoạch và muốn bắt đầu một tính năng hoàn toàn mới. Bạn sẽ không muốn cuộc hội thoại trước đó gây ra sự thiên kiến (bias) cho các nhiệm vụ mới mà bạn sắp tạo.
Bộ nhớ vĩnh viễn với claude.md
Đối với những thông tin bạn muốn Claude ghi nhớ qua các phiên làm việc khác nhau, hãy đưa chúng vào tệp claude.md. Điều này đảm bảo Claude không phải tìm hiểu lại các chi tiết cốt lõi của dự án từ đầu trong mỗi lần làm việc.
Tính cụ thể của Prompt
Có một sự mâu thuẫn là việc viết một prompt ngắn và mơ hồ có thể tiêu tốn nhiều context hơn về lâu dài. Nếu không được chỉ dẫn rõ ràng, Claude buộc phải tìm kiếm xung quanh codebase của bạn nhiều hơn và tự thực hiện các bước "suy nghĩ", điều này tiêu tốn nhiều không gian context window hơn đáng kể so với việc bạn viết rõ ràng hơn chỉ bằng một hoặc hai câu lệnh.
Tối ưu hóa nâng cao: MCP và Sub-agents
MCP Servers và Skills
Các MCP servers theo mặc định sẽ tải tất cả các công cụ có sẵn vào context. Nếu bạn có nhiều MCP servers đang hoạt động cho những việc không liên quan đến dự án hiện tại, bạn nên tắt chúng đi. Bạn cũng có thể thử nghiệm Skills – tính năng này hoạt động tương tự như MCP servers nhưng không đưa toàn bộ bộ công cụ vào context, giúp bạn tiết kiệm không gian quý giá.
Sub-agents
Các sub-agents chạy song song với agent chính của bạn nhưng có một context window hoàn toàn tách biệt. Đối với các tác vụ chỉ cần câu trả lời mà không cần toàn bộ "quá trình thực hiện" — chẳng hạn như hỏi "Các endpoint xác thực nằm ở đâu?" — bạn có thể để một sub-agent xử lý. Nó sẽ chỉ trả về kết quả tóm tắt cho agent chính, giúp giữ cho context window chính luôn sạch sẽ.
Tổng kết
Quản lý context trong Claude Code là yếu tố then chốt để đạt hiệu quả cao.
- Sử dụng
/compactđể tóm tắt các phiên làm việc dài. - Sử dụng
/clearđể bắt đầu mới và tránh bias. - Viết prompt cụ thể để giảm việc khám phá codebase không cần thiết.
- Theo dõi mức độ sử dụng bằng lệnh
/context. - Sử dụng sub-agents để ủy thác các tác vụ mà bạn chỉ cần kết quả cuối cùng.
🔁 Bài học liên quan
- Bài tiếp: Code review
- Bài trước: The explore → plan → code → commit workflow
- Cùng section: The explore → plan → code → commit workflow · Code review
- Thuộc lộ trình: Path C
- Docs tham khảo: Glossary · Skills atlas · By use-case
📚 Nguồn & ghi nhận
- Bài học gốc Anthropic Academy: https://anthropic.skilljar.com/claude-code-101/469793
- © 2025 Anthropic. Chỉ dùng cho mục đích giáo dục, fair-use.
- Crawl: 2026-04-23 · Chuẩn hoá: 2026-05-01