Lưu bộ nhớ đệm cho prompt
Đọc lại một tiền tố ổn định với chi phí chỉ bằng một phần giá đầu vào — nên lưu đệm nội dung nào, không nên lưu nội dung nào và cách xác minh việc lưu đệm đã hiệu quả.
Cơ chế lưu câu lệnh vào bộ nhớ đệm lưu một tiền tố của yêu cầu để các lệnh gọi sau dùng chung tiền tố đó được tính phí đầu vào ở mức thấp hơn. Với bất kỳ nội dung nào có phần mở đầu lớn và ổn định — câu lệnh hệ thống, lược đồ công cụ, tài liệu được hỏi đến — đây là thay đổi mang lại lợi ích cao nhất.
Nội dung nào phù hợp để lưu vào bộ nhớ đệm
| Phù hợp | Lý do |
|---|---|
| Lời nhắc hệ thống | Giống hệt nhau từng byte trong mọi lệnh gọi của một phiên |
| Định nghĩa công cụ / hàm | Ổn định trong suốt một lần chạy tác tử và thường có dung lượng lớn |
| Một tài liệu được hỏi đến nhiều lần | Tải lên một lần, đặt nhiều câu hỏi |
| Ví dụ few-shot | Cố định và thường dài |
| Không phù hợp | Lý do |
|---|---|
| Tin nhắn mới nhất của người dùng | Mỗi lần đều khác nhau — không bao giờ trúng bộ nhớ đệm |
| Bất kỳ nội dung nào có dấu thời gian hoặc ID yêu cầu gần đầu | Chỉ một byte thay đổi ở gần đầu tiền tố cũng làm mất hiệu lực mọi nội dung phía sau |
| Câu lệnh ngắn | Dưới độ dài tối thiểu có thể lưu vào bộ nhớ đệm, nên không mang lại lợi ích |
Đánh dấu tiền tố
{
"model": "claude-sonnet-4-6",
"max_tokens": 1024,
"system": [{
"type": "text",
"text": "<long stable instructions...>",
"cache_control": {"type": "ephemeral"}
}],
"messages": [{"role": "user", "content": "Question that changes every call"}]
}
Toàn bộ nội dung từ đầu đến hết khối được đánh dấu sẽ trở thành tiền tố được lưu vào bộ nhớ đệm. Thứ tự rất quan trọng: đặt nội dung ổn định trước và nội dung hay thay đổi sau.
Xác minh cơ chế hoạt động
Kiểm tra usage đối tượng. Khi trúng bộ nhớ đệm, token được báo cáo trong mục đọc bộ nhớ đệm thay vì đầu vào thông thường. Nếu số token đọc bộ nhớ đệm vẫn bằng không qua các lệnh gọi lặp lại, tiền tố của bạn thực tế không giống hệt nhau — nguyên nhân thường gặp là dấu thời gian, ID phiên hoặc thứ tự khóa JSON không xác định trong phần mở đầu.
json.dumps(obj) không có sort_keys=True có thể sắp xếp lại các khóa giữa các lần chạy, làm thay đổi các byte và âm thầm khiến bạn mất mọi lượt truy cập trúng bộ nhớ đệm.Nơi mang lại hiệu quả lớn nhất
Các công cụ tác tử gửi lại cùng một lời nhắc hệ thống và cùng các schema công cụ ở mỗi lượt. Trong một phiên có 50 lượt, bạn phải trả phí cho phần mở đầu đó 50 lần nếu không dùng bộ nhớ đệm, và khoảng một lần nếu có dùng.