Prompt Caching คืออะไร ทำไมรู้เรื่องนี้แล้ว limit AI หมดช้าลง
Claude Code ส่งแชตทั้งหมดใหม่ทุกครั้งที่เราพิมพ์ Prompt Caching ทำให้ส่วนเดิมคิดถูกลง แต่จำได้แค่ช่วงเวลาหนึ่ง บทความนี้อธิบายหลักการ นิสัย 5 ข้อ และเครื่องมือดูแคช

ใครใช้ Claude Code แล้วรู้สึกว่า limit หมดไวกว่าที่ควร ทั้งที่ไม่ได้สั่งงานเยอะ สาเหตุมักไม่ใช่จำนวนงาน แต่เป็นจังหวะที่เราสั่ง เรื่องที่อยู่เบื้องหลังเรียกว่า Prompt Caching อ่านจบแล้วคุณจะรู้ว่าข้อความไหนถูก ข้อความไหนแพง และดูได้เองว่าตอนนี้แคชของคุณเป็นยังไง
บทความนี้เขียนจากเอกสารทางการของ Anthropic และ README ของเครื่องมือแต่ละตัว ที่อ่านเมื่อ 13 ต.ค. 2026 ส่วนของ mods ผมยังไม่ได้ติดตั้งเอง จึงเล่าตามเอกสารของเขา
ทำไมแชตยาวถึงกิน limit
AI จำอะไรข้ามข้อความไม่ได้ ทุกครั้งที่เราพิมพ์ Claude Code ต้องส่งทุกอย่างไปใหม่ตั้งแต่ต้น: คำสั่งระบบ ไฟล์ CLAUDE.md ทุกข้อความก่อนหน้า ทุกผลลัพธ์ของเครื่องมือ แล้วค่อยต่อด้วยข้อความใหม่ของเรา
แชตยาว 200,000 token ก็คือส่ง 200,000 token ทุกรอบ แม้เราจะพิมพ์แค่คำว่า "ต่อเลย"
Prompt Caching คืออะไร
นึกถึงพนักงานที่อ่านแฟ้มงานหนาๆ จบไปแล้ว ถ้าเราถามต่อทันที เขาตอบได้เลย ไม่ต้องอ่านใหม่ แต่ถ้าเราหายไปนาน เขาเก็บแฟ้มแล้ว กลับมาต้องอ่านใหม่ทั้งเล่ม
Prompt Caching ทำงานแบบนั้น เซิร์ฟเวอร์จำส่วนต้นของแชตที่เคยประมวลผลไว้ รอบถัดไปถ้าส่วนต้นเหมือนเดิมทุกตัวอักษร ส่วนนั้นคิดราคาถูกลงมาก Claude Code เปิดใช้ให้อัตโนมัติ เราไม่ต้องตั้งค่าอะไร

ถูกลงแค่ไหน
ตัวคูณจากหน้าราคาทางการ เทียบกับราคา input ปกติ:
| รายการ | คิดเป็น |
|---|---|
| อ่านจากแคช (Opus 5.5, Sonnet 5.5) | 0.05 เท่า |
| อ่านจากแคช (รุ่นอื่นส่วนใหญ่) | 0.1 เท่า |
| เขียนแคชอายุ 5 นาที | 1.25 เท่า |
| เขียนแคชอายุ 1 ชั่วโมง | 2 เท่า |
ลองคิดกับแชต 200,000 token บน Opus 5.5:
| สถานการณ์ | คิดเท่ากับ input ปกติกี่ token |
|---|---|
| ไม่มีแคชเลย | 200,000 |
| แคชยังอยู่ | 10,000 |
| แคชหมดอายุแล้ว ต้องเขียนใหม่ทั้งก้อน | 400,000 |
ข้อความเดียวกัน ส่งตอนแคชยังอยู่กับตอนหมดอายุ ต่างกัน 40 เท่า

ตัวเลขนี้เป็นราคา API ครับ สมาชิก Pro หรือ Max ไม่ได้จ่ายตามนี้ตรงๆ และ Anthropic ไม่ได้เปิดเผยว่าแคชนับเข้า limit ของสมาชิกเท่าไร ที่เขาบอกไว้ในบล็อกของทีม Claude Code คืออัตราการอ่านจากแคชที่สูงช่วยให้เขาตั้ง limit ของแพ็กเกจได้ใจกว้างขึ้น
แคชอยู่ได้นานเท่าไร
ทุกครั้งที่มีการใช้แคช เวลาจะเริ่มนับใหม่ คุยต่อเนื่องไปเรื่อยๆ แคชจึงไม่หมด อายุของแคชในแชตหลัก ขึ้นกับวิธีจ่ายเงิน:
| ใช้แบบไหน | อายุแคช |
|---|---|
| สมาชิก Pro หรือ Max ที่ยังอยู่ในโควตา | 1 ชั่วโมง |
| ใช้เกินโควตาจนตัด usage credits | 5 นาที |
| API key หรือผ่าน cloud | 5 นาที |
| subagent | 5 นาที |
คนใช้ API key ตั้งให้เป็น 1 ชั่วโมงเองได้ ใน settings.json:
{ "promptCacheTtl": "1h" }
แคช 1 ชั่วโมงคิดค่าเขียนแพงกว่า จึงคุ้มกับคนที่ชอบพักแล้วกลับมาทำต่อ

อะไรทำให้แคชพัง
แคชจับคู่จากต้นแชตแบบตรงทุกตัวอักษร เปลี่ยนตรงไหน ทุกอย่างหลังจุดนั้นต้องคิดใหม่
ทำแล้วแคชพัง:
- เปลี่ยนโมเดลกลางแชต แต่ละโมเดลมีแคชแยกกัน
- ต่อหรือถอด MCP server กลางแชต (ถ้าเครื่องมือไม่ได้โหลดแบบ deferred)
- เปิด fast mode ครั้งแรกในแชต
- สั่ง
/compact - อัปเดต Claude Code แล้วเปิดแชตใหม่
- หายไปนานเกินอายุแคช
ทำได้ แคชไม่พัง:
- แก้ไฟล์ในโปรเจกต์
- เรียก skill หรือคำสั่ง
- เปลี่ยน permission mode
- สั่ง
/rewind - ส่งงานให้ subagent
แก้ CLAUDE.md กลางแชตก็ไม่ทำให้แคชพัง แต่ของใหม่ยังไม่มีผลจนกว่าจะ /clear, /compact หรือเปิดใหม่
นิสัย 5 ข้อที่ช่วยได้
- วางแผนให้เสร็จก่อน แล้วสั่งรวดเดียว งานที่ต่อเนื่องกันอ่านจากแคชทุกรอบ ผมสั่งทำวิดีโอเป็นชุดทั้งคืนแล้วเห็นว่า limit ขยับน้อยกว่าที่คิดไว้มาก
- เลือกโมเดลและ effort ตั้งแต่ต้น อย่าสลับกลางงาน ถ้าอยากใช้โมเดลเล็กทำงานย่อย ให้ส่งเป็น subagent
- เปลี่ยนเรื่องเมื่อไร ใช้
/clearแชตเก่าที่ไม่เกี่ยวกับงานใหม่ถูกส่งซ้ำทุกรอบ/clearไม่มีค่าใช้จ่าย - จะพักนาน ให้
/compactก่อนลุก ตอนแคชยังอยู่ การย่ออ่านจากแคชได้ กลับมาทีหลังก็เหลือแค่สรุปสั้นๆ - ไปผิดทาง ใช้
/rewindย้อนกลับไปจุดที่แคชยังมีอยู่ ดีกว่าย่อแล้วสร้างใหม่
Claude Code ย่อให้เองก่อนแคชหมด
วันหนึ่งผมกลับมาที่หน้าจอแล้วเจอบรรทัดนี้:
Compacted while idle, before the prompt cache expired
ตอนแรกผมนึกว่าเป็น mod ที่ลงไว้ ความจริงเป็นของ Claude Code เอง เริ่มในเวอร์ชัน 2.1.286 ถ้าเราปล่อยแชตใหญ่ทิ้งไว้ มันจะย่อแชตให้ก่อนแคช 1 ชั่วโมงหมดอายุ เพราะตอนนั้นการย่อยังอ่านจากแคชได้
ที่มาของข้อมูลส่วนนี้คือ GitHub issue #98747 ซึ่งมีพนักงาน Anthropic เข้ามาตอบ ตอนที่เขียน เอกสารทางการยังไม่มีหน้าที่อธิบายเรื่องนี้
- ทำเฉพาะแชตที่มี context ตั้งแต่ 200,000 token ขึ้นไป (พนักงาน Anthropic ยืนยันใน issue)
- คนที่วัดเองรายงานว่ามันทำงานราวนาทีที่ 54 ถึง 56 หลังเงียบ ตัวเลขนี้ไม่ได้มาจาก Anthropic
- ข้อเสีย: รายละเอียดของงานที่ค้างอยู่ถูกแทนด้วยสรุป หลายคนใน issue ไม่ชอบที่มันเปิดเองโดยไม่บอก
ปิดได้ตั้งแต่เวอร์ชัน 2.1.290 ใน settings.json:
{ "idleCompaction": false }
ดูแคชของตัวเองยังไง
ไม่ต้องลงอะไรเพิ่ม พิมพ์ในแชต:
/usage
จะมีบรรทัดหน้าตาแบบนี้ (ต้องเป็นเวอร์ชัน 2.1.251 ขึ้นไป):
Prompt cache (main): 14 requests · 91% of input tokens from cache · 2 misses (last 6m 10s ago, 310.2k tokens re-cached) · warm (1h TTL, last activity 40s ago)
อ่านสั้นๆ
91% of input tokens from cacheยิ่งสูงยิ่งดีmissesจำนวนครั้งที่ต้องคิดใหม่ทั้งที่ควรอ่านจากแคชได้ ถ้ารู้สาเหตุมันจะบอกต่อท้าย เช่นlikely cause: tool definitions changedwarmแคชยังอยู่coldคือหมดแล้ว
ถ้าอยากเห็นตลอดเวลา status line มีข้อมูลชุดเดียวกันในชื่อ prompt_cache ให้ดึงไปแสดงได้ เช่น warm, expires_at, hit_ratio
Mods ที่ทำให้เห็นแคชบนจอ
Mods เป็นฟีเจอร์ทางการของ Claude Code ตั้งแต่เวอร์ชัน 2.1.287 เป็น plugin ที่วาดแถบหรือหน้าต่างเพิ่มในหน้าจอได้ ช่วงนี้มีคนทำ mod เรื่องแคชออกมาหลายตัว
| ตัว | ทำอะไร | ยิงคำขอเองไหม |
|---|---|---|
| Cache Control | แถบเหนือช่องพิมพ์: % ที่อ่านจากแคช เวลาที่เหลือ สาเหตุที่แคชพัง แนะนำ /compact หรือ /clear | ไม่ยิง แค่เตือน |
| cache-clock | บรรทัดเดียว: เวลาที่เหลือกับ context ที่ใช้ไป | ใกล้หมดจะสั่ง Claude เขียนไฟล์ HANDOFF.md หนึ่งรอบ ปิดได้ |
| cache-tax | /keepwarm ต่ออายุแคชทุก 50 นาที และโชว์ราคาประเมินก่อนส่งข้อความแรกหลังแคชหมด | ยิง ทุกครั้งมีค่าใช้จ่าย |
| context-cache | การ์ดรวม context, limit 5 ชั่วโมงกับรายสัปดาห์ และแคช | มีปุ่ม Warm ให้กดเอง |
ตัวที่คนพูดถึงมากที่สุดคือ Cache Control คำสั่งติดตั้งตาม README:
npx claude-code-templates@latest --mod observability/prompt-cache-control

เรื่องตัวที่ยิงคำขอเพื่อให้แคชอยู่ต่อ: แต่ละครั้งที่ยิงก็ใช้โควตา README ของ cache-tax เขียนเองว่าไม่ได้อ้างว่าประหยัดสุทธิ ยังไม่มีตัวเลขยืนยันว่าคุ้มสำหรับสมาชิกรายเดือน
ก่อนลง mod ของใคร
เอกสารทางการเตือนไว้ชัด: mod คือโค้ดที่ทำงานด้วยสิทธิ์ของเรา อ่านและเขียนไฟล์ได้ อ่าน API key ได้ เห็นทุก prompt และใช้โควตาของเราเรียกโมเดลได้ ไม่มี sandbox

ดูได้ก่อนติดตั้งว่า mod ตัวนั้นดักเหตุการณ์อะไรและเรียกอะไรบ้าง โหลดโค้ดมาแล้วรัน:
claude plugin validate ./ชื่อโฟลเดอร์-mod
ถ้าอยากลองของที่ Anthropic ทำเอง มีตัวอย่างอยู่ที่ claude-code-playground
สิ่งที่ได้
- รู้ว่าข้อความถูกหรือแพงขึ้นกับว่าแคชยังอยู่ไหม ไม่ใช่ความยาวของสิ่งที่พิมพ์
- มีนิสัย 5 ข้อไว้ใช้: สั่งรวดเดียว ไม่สลับโมเดล
/clearเมื่อเปลี่ยนเรื่อง/compactก่อนพัก/rewindเมื่อไปผิดทาง - ดูแคชของตัวเองได้ด้วย
/usageโดยไม่ต้องลงอะไร
ขั้นต่อไป ลองพิมพ์ /usage ในแชตที่เปิดอยู่ตอนนี้ แล้วดูว่าได้กี่เปอร์เซ็นต์ครับ อยากใช้ Claude Code ให้คล่องขึ้น ดูคอร์สทั้งหมดได้