Cơ chế: khi xử lý prompt, model tính KV cache (attention key/value) cho từng token theo thứ tự từ trái sang phải. Prompt caching cho phép lưu lại phần tính toán của tiền tố (prefix) đã xử lý; request sau có cùng prefix thì bỏ qua bước tính lại phần đó — giảm cả TTFT (thời gian ra token đầu) lẫn chi phí: token đọc từ cache được tính giá thấp hơn nhiều so với input thường.
Điều kiện cache hit:
- Prefix phải giống hệt từng token, tính từ đầu prompt — khác một ký tự ở đầu là hỏng cache cho toàn bộ phần sau (cache theo tiền tố liên tục, không theo đoạn rời).
- Đạt độ dài tối thiểu (ngưỡng token tùy provider/model).
- Còn trong thời hạn cache (TTL cỡ phút tới giờ tùy provider; có provider cache tự động, có provider yêu cầu đánh dấu breakpoint tường minh kiểu cache_control).
- Cùng model và cùng các thành phần ảnh hưởng prefix (vd tool definitions).
Cấu trúc prompt để tận dụng — nguyên tắc tĩnh trước, động sau:
1. System prompt + chỉ dẫn cố định.
2. Tool definitions / schema.
3. Few-shot examples, ngữ cảnh dùng lại nhiều lần (tài liệu nền ổn định).
4. Cuối cùng mới là phần đổi theo request: lịch sử hội thoại, câu hỏi hiện tại.
Tuyệt đối tránh chèn giá trị động (timestamp, request id, tên user) vào đầu system prompt — phá cache toàn bộ. Chat multi-turn hưởng lợi lớn nhất: lịch sử là append-only nên các lượt trước tự nhiên thành prefix ổn định cho lượt sau. Xác nhận bằng cache hit rate đọc từ trường usage trong response, đừng đoán.