Domain 2: Claude Models, Prompting & Context Engineering·Task 2.5
Dùng lại prompt bằng caching, module và Skills
Ba cách dùng lại prompt là prompt caching cho phần đầu giống hệt nhau, prompt chia module để phần đầu ổn định, và Agent Skills cho quy trình dùng chung.
- 8 phút đọc
- Đối chiếu docs 02/11/2026
- 5 nguồn
Đọc xong bạn nắm được
- Hiểu prompt caching hoạt động thế nào, tốn và tiết kiệm bao nhiêu, cái gì làm mất cache
- Xếp prompt thành các module từ ổn định nhất tới hay đổi nhất
- Đóng gói một quy trình thành Agent Skill và hiểu cách Skill được nạp dần
- Chọn caching, module, Skill hay truy xuất cho từng tình huống
Nếu mọi yêu cầu đều mang theo cùng một đoạn hướng dẫn dài, bạn đang trả tiền và chờ đợi để model đọc lại đúng đoạn đó hàng nghìn lần. Dùng lại prompt là cách bỏ phần lặp đó đi, về chi phí, về độ trễ, và về công sức bảo trì.
Bài này giúp bạn trả lời: dùng lại prompt bằng những cách nào, mỗi cách tiết kiệm gì, và chọn cách nào cho tình huống nào?
Ví dụ xuyên suốt: chuỗi nhà thuốc và quy trình tư vấn
Một chuỗi nhà thuốc dùng Claude ở ba nơi: chatbot trên website, trợ lý cho dược sĩ tại quầy, và hệ thống trả lời tổng đài. Cả ba đều cần:
- Một bảng tương tác thuốc khoảng 50.000 token, gửi kèm mọi câu hỏi.
- Một quy trình tư vấn do phòng dược chính soạn: hỏi những gì trước khi gợi ý thuốc không kê đơn, khi nào bắt buộc khuyên đi khám. Quy trình này sửa 4 tới 6 lần một năm khi có hướng dẫn mới của cơ quan quản lý.
Hiện mỗi nơi chép quy trình vào system prompt của mình, và sau mỗi lần sửa thì ba bản lệch nhau.
Prompt caching
Prompt caching cho phép dùng lại phần đầu của prompt (prefix) đã xử lý ở lần gọi trước. Docs của Anthropic mô tả:
- Cache theo thứ tự
tools→system→messages, tính tới khối có đánh dấucache_control. Bật bằng một trườngcache_controlở cấp request (cache tự động, điểm cache tự dời theo hội thoại), hoặc đặt điểm cache (breakpoint) trên từng khối; tối đa 4 điểm. - Phần cache phải giống hệt từ đầu tới điểm cache. Khác một ký tự là không trúng.
- Có độ dài tối thiểu: với các model 5.x là 512 token. Ngắn hơn thì yêu cầu vẫn chạy nhưng không được cache, và không báo lỗi.
- Cache sống mặc định 5 phút, được làm mới miễn phí mỗi lần dùng. Có tuỳ chọn 1 giờ cho lưu lượng thưa hơn.
Về tiền và tốc độ:
| Khoản | Giá so với token đầu vào thường |
|---|---|
| Ghi cache, sống 5 phút | 1,25 lần |
| Ghi cache, sống 1 giờ | 2 lần |
| Đọc cache (trúng) | 0,1 lần; riêng Opus 5.5 và Sonnet 5.5 là 0,05 lần, Fable 5.1 là 0,025 lần |
Trúng cache còn giảm thời gian tới chữ đầu tiên, và với đa số model, token đọc từ cache không tính vào hạn mức token đầu vào mỗi phút. Bản thân điểm cache không tốn thêm gì. Một lưu ý khi chạy song song: cache chỉ dùng được sau khi phản hồi đầu tiên bắt đầu trả về, nên gửi 100 yêu cầu cùng lúc thì chúng không dùng chung cache của nhau.
Trong ví dụ: bảng tương tác thuốc 50.000 token đặt ở đầu và bật cache. Từ câu hỏi thứ hai trong vòng 5 phút, phần đó chỉ tính 0,1 lần giá (hoặc thấp hơn tuỳ model) thay vì giá đầy đủ.
Prompt chia module: ổn định trước, thay đổi sau
Cache chỉ trúng khi phần đầu giống hệt, nên cách xếp prompt quyết định cache có hiệu quả không. Nguyên tắc: xếp các module từ ít đổi nhất tới hay đổi nhất.
1. Định nghĩa tool (gần như không đổi)
2. System prompt: vai trò, luật (đổi vài lần một năm)
3. Bảng tương tác thuốc (đổi hằng tháng)
──────────── cache_control ────────────
4. Hồ sơ khách, câu hỏi lần này (đổi mỗi yêu cầu)Docs liệt kê những thay đổi làm mất cache. Thay đổi ở một cấp làm mất cache của cấp đó và mọi cấp sau:
| Thay đổi | Mất cache ở đâu |
|---|---|
| Sửa định nghĩa tool (tên, mô tả, tham số) | Toàn bộ |
| Bật hay tắt web search, citations | System và messages |
Đổi tool_choice, thêm hay bớt ảnh | Chỉ messages |
| Đổi thông số thinking hay effort | Messages (luôn luôn) |
Lỗi hay gặp là đặt thứ hay đổi lên đầu, ví dụ chèn ngày giờ hiện tại vào câu đầu system prompt: mỗi yêu cầu có prefix khác nhau, nên không lần nào trúng cache. Còn nếu prompt rất dài, nhiều khối, cache có thể trượt dù phần đầu không đổi, vì hệ thống chỉ dò ngược tối đa 20 vị trí tính từ mỗi điểm cache; khi đó đặt thêm một điểm cache gần chỗ đã ghi cache lần trước.
Agent Skills: quy trình dùng chung nhiều nơi
Agent Skills đóng gói chỉ dẫn, metadata và tài nguyên tuỳ chọn (script, mẫu văn bản) thành một thư mục có file SKILL.md. Điểm khác với nhét vào system prompt là Skill được nạp dần (progressive disclosure):
| Cấp | Nạp lúc nào | Chiếm bao nhiêu |
|---|---|---|
Metadata (name, description) | Luôn nạp, nằm trong system prompt | Khoảng 100 token mỗi Skill |
Nội dung SKILL.md | Khi Skill được kích hoạt | Dưới 5.000 token |
| File tham chiếu, script | Khi cần tới | Script chạy xong chỉ đưa kết quả vào context |
Nhờ vậy có thể cài nhiều Skill mà không làm phình context. Docs nói Skill giúp "tạo một lần, dùng tự động", không phải lặp lại cùng hướng dẫn qua các cuộc hội thoại.
Chia sẻ Skill tuỳ nơi dùng: trên Claude API, Skill tự tạo dùng chung cho cả workspace; trên claude.ai, Skill là của riêng từng người, admin không quản lý tập trung được; trong Claude Code, Skill nằm ở thư mục cá nhân hoặc thư mục dự án, và chia sẻ qua plugin. Skill không tự đồng bộ giữa các nơi.
Vài luật khi viết Skill theo docs: name tối đa 64 ký tự, chỉ chữ thường, số và gạch nối, không chứa từ anthropic hay claude; description tối đa 1.024 ký tự, viết ở ngôi thứ ba, nói Skill làm gì và khi nào dùng; thân SKILL.md dưới 500 dòng, file tham chiếu chỉ sâu một cấp. Docs khuyên tạo bộ đánh giá trước khi viết nhiều, và chỉ viết những gì Claude chưa biết.
Trong ví dụ: quy trình tư vấn được đóng gói thành một Skill do phòng dược chính sở hữu, và cả ba nơi cùng tham chiếu đúng Skill đó. Sửa một lần ở nguồn, ba nơi cùng dùng bản mới, không còn bản nào lệch.
Chọn cách nào
| Tình huống | Cách |
|---|---|
| Cùng một phần đầu dài lặp lại ở nhiều yêu cầu | Prompt caching, phần tĩnh đặt trước |
| Nhiều prompt dùng chung một số phần, khác nhau ở biến số | Prompt chia module (template), phần chung ở đầu |
| Quy trình dùng ở nhiều nơi, có người sở hữu và cập nhật | Agent Skill |
| Kho tài liệu lớn, mỗi câu chỉ cần vài đoạn | Truy xuất (RAG, domain 3) |
Anthropic Exam Pro