Bỏ qua để vào nội dung chính
Prompt cache Claude Code hết hạn sau 1 giờ, không phải 5 phút

Prompt cache Claude Code hết hạn sau 1 giờ, không phải 5 phút

Bởi Amelia Brooks
20 thg 10, 20264 phút đọc

Thử nghiệm dừng Claude Code từ 0 đến 65 phút cho thấy cache sống gần một giờ; tin nhắn sau mốc đó đắt hơn 507%. Ba thao tác trước khi rời máy.

Bạn code với Claude Code cả buổi sáng, đi ăn trưa, quay lại gõ đúng một câu "tiếp tục nhé". Câu đó trả lời chậm hẳn và quota tụt một nhát. Một thử nghiệm vừa công bố đã đo đúng cái mốc gây ra chuyện đó — và nó không phải 5 phút như nhiều hướng dẫn vẫn nói.

Mốc gãy nằm ở khoảng 60 phút

Tác giả chạy Claude Code 2.1.295 với Opus 5.5, đăng nhập bằng subscription, chế độ headless -p, không bật MCP server nào. Mỗi phiên làm đúng một việc: dựng game brick-breaker trong một file index.html, chờ 0 / 4 / 6 / 15 / 30 / 55 hoặc 65 phút, rồi gửi tiếp "Make the ball red and slightly faster" trong cùng session qua --resume. Mỗi mốc chạy hai lần.

Kết quả gọn một câu, theo bài viết: "Up to 55 minutes nothing changed. At 65 minutes the cache was gone: 27,460 tokens had to be written again and the same message cost 507% more."

Thời gian nghỉToken đọc từ cacheToken ghi vào cacheChi phí tin nhắn kế tiếp
0 phút41.4364960,039 USD
30 phút42.6364940,043 USD
55 phút43.1835020,043 USD
65 phút15.92527.4600,253 USD

Mọi lần ghi cache trong log đều mang nhãn ephemeral_1h. Đây là ước tính theo giá list API mà Claude Code tự hiển thị, không phải hoá đơn thật.

Nhưng một giờ chỉ đúng với một kiểu đăng nhập

Bài viết dẫn tài liệu của Claude Code: TTL mặc định phụ thuộc cách bạn đăng nhập. Subscription trong phần usage đã bao gồm thì hội thoại chính được 1 giờ; còn subagent và compaction vẫn chỉ 5 phút. Khi subscription bắt đầu ăn vào usage credits, hoặc khi bạn dùng API key / cloud provider, tất cả rơi về 5 phút.

Vì sao cache nguội lại đắt đến thế

Theo bài viết, trên Opus 5.5 một lần ghi cache 1 giờ tốn 8 USD mỗi triệu token (+100% so với input thường), trong khi đọc từ cache chỉ 0,20 USD (-95%). Nghĩa là "thuế hết hạn" tăng theo độ dài hội thoại: tác giả ước tính ghi lại một hội thoại 200.000 token tốn khoảng 1,60 USD trước khi câu hỏi của bạn làm được việc gì.

Một bài hướng dẫn khác về usage limit bổ sung phần còn lại của bức tranh: Claude Code gửi toàn bộ hội thoại kèm mỗi request, và mỗi tool call lại là một request mang theo kết quả đó. Giới hạn bạn đụng phải không tính bằng đô — đó là session window reset mỗi 5 tiếng cộng một giới hạn tuần, dùng chung với cả chat trên claude.ai.

Ba thao tác trước khi rời máy

  • Nghỉ dưới một giờ: không làm gì cả. Cache còn ấm, mọi can thiệp đều là tốn công.
  • Nghỉ dài, vẫn task cũ: chạy /compact kèm chỉ dẫn cụ thể (giữ tên test fail, schema cuối, file đã sửa) trước khi đi. Lưu ý /compact tự nó là một request lớn vì phải đọc hết thứ nó tóm tắt — đừng compact theo thói quen.
  • Nghỉ dài, task mới: /clear. Tài liệu nói thao tác này không tốn gì, và quay lại một session 200k token đã nguội thường đắt hơn là khai báo lại task trong vài dòng.

Kiểm tra trước khi đụng trần

Từ bản 2.1.251, /usage hiển thị cache đang ấm hay nguội. Từ 2.1.242 bạn tự chọn TTL bằng promptCacheTtl với giá trị 5m hoặc 1h. Muốn biết mình đang thực sự nhận TTL nào, chạy claude -p "hello" --output-format json rồi đối chiếu ephemeral_1h_input_tokens với ephemeral_5m_input_tokens.

Tác giả bài đo cũng tự đặt giới hạn cho kết quả của mình: "One small project and two runs, so treat the exact numbers as an example." Con số chính xác sẽ khác theo kích thước repo và model bạn dùng — nhưng hình dạng của đường cong thì đáng để lên lịch làm việc quanh nó: compact hoặc clear trước giờ nghỉ trưa, và kiểm tra /usage trước khi gõ câu đầu tiên của buổi chiều.

Không spam, hủy đăng ký bất kỳ lúc nào.

Bài viết liên quan