Bỏ qua đến nội dung chính

Các quy tắc về prompt caching

📖 Nội dung bài học

Tóm tắt

Prompt caching trong Claude hoạt động bằng cách lưu trữ công việc tính toán đã thực hiện trên các message để có thể tái sử dụng trong các yêu cầu tiếp theo. Điều này giúp các yêu cầu sau đó vừa rẻ hơn vừa nhanh hơn khi thực thi, nhưng chỉ khi bạn gửi lặp lại cùng một nội dung.

Quá trình này tuân theo mô hình hai pha: yêu cầu ban đầu ghi vào cache, và các yêu cầu tiếp theo có thể đọc từ đó. Cache chỉ tồn tại trong 5 phút, vì vậy tính năng này hữu ích nhất khi bạn gửi lặp lại cùng một nội dung trong một khoảng thời gian ngắn.

Điểm Cache

Prompt caching không được bật tự động – bạn cần thêm thủ công các phần message điểm cache (cache point) để kiểm soát những gì được cache. Các điểm cache (cache point) yêu cầu Claude cache tất cả công việc đã thực hiện cho mọi thứ trước điểm đó trong message của bạn.

Đây là cách bạn thêm một điểm cache vào user message:

user_message = {
  "role": "user",
  "content": [
    {"text": ""},
    {"cachePoint": {"type": "default"}}
  ]
}

Quy tắc chính là công việc đã thực hiện cho mọi thứ trước điểm cache sẽ được cache, nhưng bất cứ điều gì sau điểm cache sẽ không được lưu trữ trong cache.

Cách hoạt động của điểm Cache

Khi bạn thực hiện một yêu cầu ban đầu với một điểm cache, Claude xử lý tất cả nội dung và lưu trữ công việc đã thực hiện cho đến điểm cache đó. Trong các yêu cầu tiếp theo, nếu nội dung trước điểm cache hoàn toàn giống nhau, Claude sẽ đọc công việc đã xử lý trước đó từ cache thay vì xử lý lại.

Cache sẽ chỉ được sử dụng nếu nội dung trước điểm cache hoàn toàn giống nhau. Ngay cả những thay đổi nhỏ như thêm "Please" vào đầu prompt của bạn cũng sẽ ngăn việc sử dụng cache, buộc Claude phải xử lý mọi thứ từ đầu.

Caching trên nhiều Message

Các điểm cache có thể trải rộng qua nhiều message và thậm chí bao gồm cả assistant message. Điều này có nghĩa là bạn có thể cache toàn bộ lịch sử cuộc trò chuyện cho đến một điểm nhất định.

Ví dụ, bạn có thể có một cuộc trò chuyện với một user message, phản hồi từ assistant, và một user message khác, với một điểm cache ở cuối. Tất cả công việc xử lý cho toàn bộ luồng hội thoại đó sẽ được cache và có thể tái sử dụng.

Độ dài nội dung tối thiểu

Nội dung phải dài ít nhất 1024 token mới đủ điều kiện để được cache. Đây là tổng của tất cả các message và các phần bạn đang cố gắng cache trước điểm cache.

Một message đơn giản như "Chào bạn!" sẽ không đạt mức tối thiểu 1024 token, vì vậy không có gì được cache. Nhưng nếu bạn lặp lại "Chào bạn!" 500 lần, điều đó sẽ vượt quá 1024 token và đủ điều kiện để caching.

Vị trí đặt điểm Cache

Các điểm cache không bị giới hạn trong user message. Bạn có thể thêm chúng vào system prompt và tool definition, đây thực sự là những cơ hội caching phổ biến nhất.

Đối với tool definition:

tools = [
  {"toolSpec": add_duration_to_datetime_schema},
  {"toolSpec": get_current_datetime_schema},
  {"cachePoint": {"type": "default"}}
]

Đối với system prompt:

system = [
  {"text": "You are a senior software..."},
  {"cachePoint": {"type": "default"}}
]

Đây là những cơ hội caching có giá trị nhất vì system prompt và danh sách tool hiếm khi thay đổi giữa các yêu cầu, khiến chúng trở thành ứng cử viên hoàn hảo để caching.

🔁 Bài học liên quan

📚 Nguồn & ghi nhận

Bài học có hữu ích không?

Góp ý / Báo lỗiPhát hiện sai sót hoặc có ý tưởng cải thiện?