Biểu đồ giá input cache hit vs cache miss (USD/1M token) của DeepSeek, Claude Sonnet 5, GPT-5.6 Luna, nguồn pricing chính thức 08/2026

Prompt caching: cách giảm 90% chi phí API LLM

Prompt caching giúp giảm tới 95% chi phí input token: DeepSeek cache hit rẻ hơn 50 lần, Claude và OpenAI rẻ hơn 10 lần. Hướng dẫn thực chiến kèm case study số liệu thật. Đọc ngay.

Hóa đơn API của agent nhỏ của tôi từng là con số khiến tôi phải dừng lại xem lại. 100.000 token context cho mỗi request, 1.000 request mỗi ngày, tính ra hơn 400 USD một tháng chỉ riêng phần input. Rồi tôi bật prompt caching, và con số đó tụt xuống còn dưới 30 USD. Không đổi model, không đổi kiến trúc, chỉ thêm vài dòng cấu hình.

Prompt caching là cơ chế cho phép API LLM tái sử dụng phần đầu prompt đã xử lý từ request trước, giảm mạnh chi phí và độ trễ cho các request lặp lại. Đây là tính năng tiết kiệm chi phí quan trọng nhất năm 2026 cho bất kỳ ai build ứng dụng trên LLM API, từ chatbot RAG đến AI agent chạy nền.

Trả lời nhanh:

  • Cache hit của DeepSeek V4 Flash chỉ còn $0.0028/1M token, rẻ hơn 50 lần so với $0.14 khi cache miss (theo DeepSeek API Docs, 08/2026)
  • Claude Sonnet 5 giảm 10 lần (cache hit $0.20 so với $2 base input, theo Anthropic Prompt Caching docs)
  • GPT-5.6 Luna giảm 10 lần (cached input $0.02 so với $0.20, theo OpenAI Pricing)
  • Với agent 100K token/request, 1.000 request/ngày: $420/tháng xuống $29/tháng khi cache hit 95%

Prompt caching là gì và hoạt động ra sao?

Prompt caching là cơ chế lưu lại phần prefix của prompt đã được model xử lý, để request tiếp theo có cùng prefix không phải tính toán lại từ đầu. Thay vì xử lý toàn bộ 100.000 token mỗi lần, hệ thống chỉ xử lý phần thay đổi, còn phần cố định (system prompt, tài liệu RAG, lịch sử hội thoại) được tái sử dụng ngay từ cache.

Cách hoạt động gồm ba bước. Đầu tiên, API kiểm tra xem prefix của request hiện tại có trùng với cache từ request gần đây không. Nếu có, phần đó được lấy từ cache với giá chiết khấu mạnh. Nếu không, hệ thống xử lý toàn bộ prompt và ghi vào cache. Cache có thời gian sống (thường 5 phút mặc định, có thể kéo dài 1 giờ), và mỗi lần cache được dùng lại thì thời gian sống được làm mới mà không tốn thêm phí (theo Anthropic Prompt Caching docs, 08/2026).

Điều đáng chú ý: bạn không cần tự quản lý cache thủ công. DeepSeek tự động cache mọi prefix ổn định mà không cần tham số đặc biệt. Với Anthropic, chỉ cần thêm một dòng cache_control vào request. Với OpenAI, cache áp dụng tự động cho các prefix trùng nhau.

Giảm được bao nhiêu chi phí thật?

Con số tiết kiệm phụ thuộc vào tỉ lệ cache hit, và tỉ lệ này thường cao bất ngờ trong thực tế. Agent chạy với cùng system prompt và cùng bộ tài liệu ngữ cảnh sẽ đạt 80 đến 95% cache hit một cách tự nhiên.

Lấy case study thực tế của tôi: agent xử lý 100.000 token input mỗi request, 1.000 request mỗi ngày, chạy 30 ngày với DeepSeek V4 Flash. Tổng input là 3 tỷ token mỗi tháng. Không cache, chi phí là 3.000 × $0.14 = $420. Với cache hit 80%, chi phí còn 600 × $0.14 + 2.400 × $0.0028 = $91. Với cache hit 95%, chi phí còn 150 × $0.14 + 2.850 × $0.0028 = $29, tức giảm 93% (theo bảng giá DeepSeek, api-docs.deepseek.com, 08/2026).

Chi phí agent hàng tháng: không cache $420, cache 80% $91, cache 95% $29

Mức tiết kiệm càng lớn khi context càng dài và request càng lặp lại. Một chatbot RAG với 200.000 token tài liệu cố định sẽ có tỉ lệ cache hit gần như 100% cho phần tài liệu, chỉ thay đổi phần câu hỏi nhỏ ở cuối.

So sánh giá cache giữa DeepSeek, OpenAI và Claude

Giá cache hit khác nhau rất lớn giữa các nhà cung cấp, và DeepSeek đang dẫn đầu với khoảng cách không tưởng. Cache hit của DeepSeek V4 Flash là $0.0028/1M token ở mức giá flat, $0.007 ở khung off-peak và $0.014 ở khung peak (từ 16/08/2026). Trong khi đó Claude Sonnet 5 tính $0.20/1M và GPT-5.6 Luna tính $0.02/1M cho cached input (theo Anthropic và OpenAI pricing, 08/2026).

Giá cache hit theo provider: DeepSeek $0.0028, GPT-5.6 Luna $0.02, Claude Sonnet 5 $0.20

Một lưu ý quan trọng: OpenAI và Anthropic tính phí cache write cao hơn giá input thường (ví dụ gpt-5.6-luna $0.25/1M cho cache writes so với $0.20 base). Nghĩa là nếu request của bạn ít lặp lại, chi phí cache write có thể ăn mòn lợi ích. DeepSeek hiện không tách riêng phí cache write.

Làm sao để cache hiệu quả?

Để đạt cache hit cao, nguyên tắc là giữ phần đầu prompt ổn định và đặt mọi thứ hay thay đổi về cuối. Bốn mẹo thực chiến sau giúp tôi tăng cache hit từ 60% lên hơn 90%:

  • Sắp xếp prompt theo thứ tự cố định trước, biến động sau. System prompt, tài liệu, ví dụ mẫu đặt trước; câu hỏi, dữ liệu thay đổi đặt cuối cùng
  • Không chèn timestamp hoặc ID ngẫu nhiên vào prefix. Một dòng thời gian trong system prompt có thể phá cache toàn bộ
  • Gộp nhiều tài liệu nhỏ thành một block ổn định. Với RAG, đừng thay đổi thứ tự tài liệu giữa các request
  • Tận dụng multi-turn. Lịch sử hội thoại dài là ứng viên cache lý tưởng vì chỉ phần cuối thay đổi

Với Anthropic, dùng automatic caching bằng tham số cache_control ở top-level request để hệ thống tự chọn breakpoint. Với DeepSeek và OpenAI, không cần làm gì thêm, hệ thống tự cache prefix trùng nhau.

Prompt caching có nhược điểm gì không?

Prompt caching không phải miễn phí về mọi mặt, và có ba nhược điểm cần cân nhắc. Thứ nhất, cache write có thể đắt hơn input thường ở một số nhà cung cấp (OpenAI, Anthropic), nên workload ít lặp lại có thể không lời. Thứ hai, cache có thời gian sống giới hạn, nếu request cách nhau quá 5 phút (hoặc 1 giờ nếu mua gói dài hơn), cache hết hạn và phải tính lại phí đầy đủ. Thứ ba, thay đổi bất kỳ token nào trong prefix đều làm cache miss toàn phần, nên prompt càng nhạy cảm với biến động thì lợi ích càng thấp.

Về bảo mật, các nhà cung cấp tách biệt cache giữa các khách hàng, dữ liệu của bạn không lẫn vào nhau. Điểm cần lưu ý là thời gian sống: cache tồn tại vài phút, không phải lưu trữ lâu dài, nên rủi ro rò rỉ qua cache là rất thấp.

Bắt đầu thực hành như thế nào?

Bắt đầu bằng việc đo tỉ lệ cache hit hiện tại của ứng dụng, rồi mới tối ưu. Với OpenAI-compatible API (bao gồm DeepSeek), response trả về trường prompt_tokens_details.cached_tokens cho biết số token được cache. Với Anthropic, các trường cache_creation_input_tokens và cache_read_input_tokens trong usage cho biết chính xác hiệu quả (theo Anthropic Prompt Caching docs, 08/2026).

Quy trình gồm bốn bước. Đo baseline chi phí một tuần. Sắp xếp lại prompt theo nguyên tắc cố định trước. Bật caching (tự động hoặc cache_control). So sánh chi phí và tỉ lệ cache hit trước sau. Nếu cache hit dưới 60%, gần như chắc chắn prompt của bạn có thành phần biến động nằm ở vị trí quá sớm.

Một gợi ý cuối: chạy các tác vụ lặp lại như summarize, classification, batch processing vào khung off-peak của DeepSeek (giá input cache miss giảm một nửa so với peak), kết hợp cả giá rẻ và cache sẽ đưa chi phí về mức gần như bằng không.

3 điều cần nhớ trước khi tối ưu cache

Ba điểm quan trọng nhất để lại sau bài này. Thứ nhất, cache hit rẻ hơn cache miss từ 10 đến 50 lần tùy nhà cung cấp, và DeepSeek là lựa chọn rẻ nhất thị trường cho workload cache-heavy. Thứ hai, tỉ lệ cache hit là thước đo cần theo dõi, mục tiêu trên 80% cho agent và RAG. Thứ ba, prompt structure quyết định mọi thứ: cố định trước, biến động sau.

Bạn đã thử đo tỉ lệ cache hit của ứng dụng mình chưa? Chia sẻ con số của bạn ở phần bình luận, mình tò mò muốn biết workload nào đạt tỉ lệ cao nhất.

Câu hỏi thường gặp

Prompt caching có tốn thêm phí không?

Không, cache hit thường rẻ hơn nhiều so với input thường, và việc đọc lại cache không tốn phí ghi thêm. Một số nhà cung cấp tính phí cache write cao hơn input base, nhưng chỉ khi bạn ghi cache mới.

Cache giữ được bao lâu?

Mặc định 5 phút, có thể kéo dài tới 1 giờ ở Anthropic. Mỗi lần cache được dùng lại, thời gian sống được làm mới miễn phí. DeepSeek và OpenAI tự quản lý thời gian cache nội bộ.

Cache hit 90% có thực tế không?

Có, rất thực tế cho agent và RAG. Với system prompt và tài liệu cố định, chỉ phần câu hỏi thay đổi, cache hit 90 đến 95% là bình thường. Trong case study của bài, 95% cache hit đưa chi phí từ $420 xuống $29 mỗi tháng.

DeepSeek có cần bật cache thủ công không?

Không. DeepSeek tự động cache mọi prefix ổn định, bạn chỉ cần giữ prompt ổn định và theo dõi trường cached_tokens trong response để đo hiệu quả.

Cập nhật lần cuối: 08/2026

No comments yet