Context window của Claude Code: cái gì sống sót sau compaction?
Tóm tắt
Không phải mọi thứ sống sót sau compaction: CLAUDE.md gốc và auto memory được nạp lại, rule theo đường dẫn thì không, skill dài bị cắt phần cuối. Đặt quy tắc quan trọng đúng chỗ, compact có định hướng ở điểm nghỉ và kiểm tra bằng /context.
Phiên làm việc dài một lúc, Claude Code tự "compact", và bạn thấy nó quên mất một quy tắc từng dặn, hoặc quên nội dung một skill vừa dùng. Không phải lỗi ngẫu nhiên: mỗi loại nội dung được nạp vào context window theo một cách khác nhau, nên sống sót sau compaction cũng khác nhau. Hiểu cơ chế này giúp bạn đặt chỉ dẫn đúng chỗ và kiểm soát token.
Context chứa gì trước khi bạn gõ chữ nào?
- System prompt và định nghĩa tool.
- CLAUDE.md (hoặc AGENTS.md) và auto memory.
- Tên tool MCP và mô tả các skill.
- Output style, nội dung từ
--append-system-promptnếu có.
Khi làm việc: mỗi lần đọc file cộng thêm vào context; rule có paths: tự nạp khi chạm file khớp; hook PostToolUse có thể thêm nội dung sau mỗi lần sửa. Subagent làm nghiên cứu trong context riêng, chỉ trả về bản tóm tắt.
Cái gì sống sót sau compaction?
| Nội dung | Sau compaction |
|---|---|
| System prompt, output style | Vẫn áp dụng |
| CLAUDE.md gốc dự án, rule không có paths, auto memory | Nạp lại từ đĩa |
Rule có paths:, CLAUDE.md ở thư mục con | Mất, nạp lại khi chạm file khớp |
| Kế hoạch viết ở plan mode | Nạp lại từ đĩa |
| File đã đọc/sửa | Đọc lại tối đa 5 file sửa gần nhất; file trên 5.000 token chỉ còn đường dẫn |
| Nội dung skill đã gọi | Nạp lại, tối đa 5.000 token mỗi skill và 25.000 tổng; skill cũ nhất bị bỏ trước |
| Ngữ cảnh do hook thêm | Bị tóm tắt cùng hội thoại |
Hai hệ quả thực tế: quy tắc phải sống qua compaction thì bỏ paths: hoặc đưa vào CLAUDE.md gốc; skill dài thì để chỉ dẫn quan trọng nhất ở đầu SKILL.md vì phần bị cắt là phần cuối.
Chủ động trước khi context đầy
/compact tập trung vào bug auth: compact có định hướng, bản tóm tắt giữ đúng thứ bạn cần./rewind→ "Summarize from here" hoặc "up to here": chỉ tóm tắt một phần hội thoại./autocompact 500k: đặt ngưỡng tự compact sớm hơn./clearkhi chuyển sang việc không liên quan; hội thoại cũ vừa chiếm chỗ vừa tốn token mỗi lượt.- Giao việc đọc nhiều file cho subagent để nội dung không vào context chính.
/context: xem phân bổ context thực tế theo từng loại kèm gợi ý tối ưu.
Rủi ro và lưu ý
- Cửa sổ 1 triệu token không thay cho kỷ luật: một số model hỗ trợ 1M context, nhưng context càng dài càng đắt và dễ loãng.
- Compact khi cache nguội tốn nhất: compact ở điểm nghỉ giữa các task, lúc cache còn ấm.
- Chỉ dẫn trong hook context không bền: nếu cần nhắc lại sau compaction, dùng SessionStart hook khớp nguồn
compact.
Áp dụng thế nào?
- Dev: Chạy
/contextkhi thấy Claude "quên"; kiểm tra quy tắc đó nằm ở đâu và có sống qua compaction không. - Tech Lead: Rà các skill dài của team, đưa chỉ dẫn cốt lõi lên đầu file; chuyển quy tắc bắt buộc khỏi rule có
paths:. - PM: Với phiên dài nhiều giai đoạn, yêu cầu làm plan mode trước: kế hoạch được nạp lại sau mỗi lần compact.
Nguồn & tham khảo
- Explore the context window — Claude Code Docs