Cửa sổ ngữ cảnh (context window)
Cửa sổ ngữ cảnh (context window) của Claude Code chứa toàn bộ những gì Claude biết về phiên làm việc của bạn: chỉ dẫn bạn đưa ra, các file nó đọc, các câu trả lời trước đó, và cả những nội dung không bao giờ hiện trên terminal của bạn. Mô phỏng dưới đây minh hoạ một phiên làm việc đầy đủ, từ lúc khởi động cho tới khi compact (tóm tắt lại ngữ cảnh), theo đúng thứ tự nó thực sự diễn ra: những gì được đưa vào context window ngay cả trước khi bạn gõ prompt đầu tiên; mỗi lần Claude mở một file ra đọc, áp dụng một quy tắc tự động (rule), hay chạy một đoạn script tự động khi có một sự kiện (hook) xảy ra; và cách một subagent được dùng để tránh làm đầy context window của agent chính khi đọc nhiều dữ liệu.
Bấm “Tiếp ▶” để chạy từng bước, bấm vào từng dòng để xem giải thích chi tiết - xem phần liệt kê bằng chữ bên dưới nếu bạn muốn đọc lại đúng nội dung này dưới dạng danh sách thay vì bấm từng bước.
Mô phỏng: điều gì đang nằm trong ngữ cảnh?
/ 200K
Những gì mô phỏng trên cho thấy
Phần tiêu đề “Những gì mô phỏng trên cho thấy”Phiên trong mô phỏng đi qua một luồng làm việc thực tế với số liệu token mang tính minh hoạ:
- Trước khi bạn gõ gì:
CLAUDE.md, auto memory, tên MCP tool, và mô tả skill đều đã được đưa vào ngữ cảnh. Thiết lập riêng của bạn có thể thêm nữa vào đây, như output style tuỳ biến hay nội dung từ cờ--append-system-prompt- cả hai đều vào system prompt theo cùng một cách. - Trong lúc Claude làm việc: mỗi lần đọc file cộng thêm vào ngữ cảnh; rule theo đường dẫn tự nạp kèm theo khi file khớp mẫu được đọc tới; một hook PostToolUse chạy sau mỗi lần sửa file.
- Yêu cầu tiếp theo: subagent xử lý phần nghiên cứu trong cửa sổ ngữ cảnh riêng của nó, nên các lần đọc file lớn không vào ngữ cảnh chính của bạn - chỉ bản tóm tắt và một đoạn metadata ngắn quay lại.
- Cuối phiên:
/compactthay hội thoại bằng một bản tóm tắt có cấu trúc. Phần lớn nội dung khởi động được nạp lại tự động; bảng bên dưới cho thấy chuyện gì xảy ra với từng cơ chế.
Những gì được giữ lại sau khi thực hiện lệnh /compact
Phần tiêu đề “Những gì được giữ lại sau khi thực hiện lệnh /compact”Khi một phiên dài compact, Claude Code tóm tắt lịch sử hội thoại lại để vừa cửa sổ ngữ cảnh. Từ phiên bản v2.1.198, yêu cầu tóm tắt này kế thừa cấu hình extended thinking của phiên bạn - nó suy luận có thinking khi phiên bạn đang bật thinking, và tắt khi phiên bạn tắt. Thinking chỉ ảnh hưởng đến cách bản tóm tắt được tạo ra; cấu hình phiên của bạn không đổi sau đó. Chuyện gì xảy ra với chỉ dẫn của bạn phụ thuộc vào cách nó được nạp vào:
| Cơ chế | Sau khi compact |
|---|---|
| System prompt và output style | Không đổi - không nằm trong lịch sử tin nhắn |
CLAUDE.md ở gốc dự án và rule không giới hạn đường dẫn |
Nạp lại từ đĩa |
| Auto memory | Nạp lại từ đĩa |
Rule có paths: trong frontmatter |
Mất, cho tới khi một file khớp mẫu được đọc lại |
CLAUDE.md trong thư mục con |
Mất, cho tới khi một file trong thư mục đó được đọc lại |
| Nội dung skill đã gọi | Nạp lại, giới hạn tối đa 5.000 token mỗi skill và 25.000 token tổng cộng - skill cũ nhất bị loại trước nếu vượt ngân sách |
| Hooks | Không áp dụng - hook chạy như code, không phải ngữ cảnh |
Rule theo đường dẫn và CLAUDE.md trong thư mục con chỉ vào lịch sử tin nhắn khi file kích hoạt chúng được đọc, nên compact tóm tắt luôn chúng cùng mọi thứ khác - chúng nạp lại vào lần kế tiếp Claude đọc một file khớp mẫu. Nếu một rule cần sống sót qua compact, bỏ paths: trong frontmatter hoặc chuyển nó vào CLAUDE.md ở gốc dự án.
Nội dung skill được nạp lại sau compact, nhưng skill lớn bị cắt bớt để vừa giới hạn từng skill, và skill đã gọi cũ nhất bị loại trước khi vượt ngân sách tổng. Việc cắt bớt giữ lại phần đầu file, nên đặt chỉ dẫn quan trọng nhất lên đầu SKILL.md.
Khi ngữ cảnh đầy dần
Phần tiêu đề “Khi ngữ cảnh đầy dần”Claude Code tự động compact khi bạn gần chạm giới hạn, nên một cửa sổ ngữ cảnh đầy không kết thúc phiên làm việc của bạn. Lượt compact tự động này hoạt động giống hệt bước /compact trong mô phỏng trên. Xem Khi ngữ cảnh đầy để biết thứ gì được giữ lại.
Bạn cũng có thể chủ động hành động trước khi lượt tự động đó chạy:
- Compact có định hướng: chạy
/compactkèm chỉ dẫn, ví dụ/compact focus on the auth bug fix, trước khi bắt đầu một việc lớn mới. Bản tóm tắt giữ đúng thứ bạn chọn thay vì thứ lượt tự động đoán là quan trọng. - Compact sớm hơn: chạy
/autocompactkèm số token, ví dụ/autocompact 500k, để đặt ngưỡng ngữ cảnh đầy bao nhiêu thì lượt tự động đó chạy. - Xoá giữa các việc không liên quan: chạy
/clearkhi chuyển sang việc khác hẳn. Hội thoại cũ chiếm chỗ cho những file bạn cần tiếp theo, và tốn token ở mỗi tin nhắn. - Giao việc đọc nhiều cho subagent: gửi phần nghiên cứu cho một subagent để nội dung file nằm trong cửa sổ ngữ cảnh của nó, không phải của bạn.
Nếu bạn cần một cửa sổ lớn hơn thay vì một hội thoại gọn hơn, Fable 5, Sonnet 5, Opus 4.6 trở lên, và Sonnet 4.6 hỗ trợ cửa sổ ngữ cảnh 1 triệu token. Xem Extended context để biết mức khả dụng theo từng gói và cách chọn biến thể model [1m]. Sonnet 5 chạy ở 1M sẵn, không cần chọn biến thể [1m] nào - ngưỡng auto-compact và trường hợp ngoại lệ khi dùng qua LLM gateway của nó có thể khác so với các model còn lại. Compaction hoạt động giống hệt ở giới hạn lớn hơn này.
Thời điểm compact tự động chạy phụ thuộc vào model và cấu hình bạn dùng - mỗi model có ngưỡng auto-compact riêng. Nếu Claude Code nhận nhầm kích thước cửa sổ ngữ cảnh cho ID model của bạn - ví dụ khi dùng alias qua LLM gateway - bạn có thể cần chỉnh lại thủ công.
Kiểm tra ngữ cảnh phiên thật của bạn
Phần tiêu đề “Kiểm tra ngữ cảnh phiên thật của bạn”Số liệu trong mô phỏng chỉ mang tính minh hoạ. Để xem chính xác ngữ cảnh phiên hiện tại của bạn, chạy /context trong Claude Code - lệnh này liệt kê chi tiết theo từng nhóm, kèm gợi ý tối ưu, kể cả CLAUDE.md và file auto memory nào đã nạp. Chạy /memory để mở và sửa trực tiếp các file đó.
Đọc thêm
Phần tiêu đề “Đọc thêm”Để tìm hiểu sâu hơn về các tính năng xuất hiện trong mô phỏng, xem các trang sau:
- So sánh các cách mở rộng - khi nào dùng CLAUDE.md, skill, rule, hook, hay MCP
- Bộ nhớ với CLAUDE.md - cấu trúc phân cấp CLAUDE.md và auto memory
- Subagent - giao việc nghiên cứu cho một ngữ cảnh riêng
- Best practices - quản lý ngữ cảnh như ràng buộc chính
- Prompt caching - hành động nào làm mất phần prefix đã cache
- Giảm token usage - chiến lược giữ ngữ cảnh sử dụng ở mức thấp