ฟีเจอร์หน่วยความจำของ Claude มีค่าใช้จ่ายเพิ่มเติมหรือไม่
ฟีเจอร์หน่วยความจำของ Claude ไม่มีค่าธรรมเนียมแยกต่างหาก แต่ระบบจะนับข้อมูลที่ถูกจดจำเป็นโทเค็นอินพุตตามปกติ ซึ่งค่าใช้จ่ายจะขึ้นอยู่กับปริมาณการเรียกใช้และสถานะการทำ prompt caching
ฟีเจอร์หน่วยความจำของ Claude มีค่าใช้จ่ายเพิ่มเติมหรือไม่
ฟีเจอร์หน่วยความจำของ Claude ไม่มีค่าธรรมเนียมแยกต่างหาก อัตราค่าบริการที่ Anthropic ประกาศไว้จะคิดตามจำนวนล้านโทเค็นของอินพุตและเอาต์พุต โดยมีอัตราเพิ่มเติมสำหรับการทำ prompt caching ซึ่งไม่มีรายการใดที่เรียกว่าโทเค็นหน่วยความจำ การจัดเก็บหน่วยความจำนั้นไม่มีค่าใช้จ่ายบน Claude API (application programming interface) เนื่องจากเครื่องมือหน่วยความจำทำงานที่ฝั่งไคลเอนต์และไฟล์จะถูกเก็บไว้ในพื้นที่จัดเก็บข้อมูลของคุณเอง
หน่วยความจำยังคงส่งผลต่อยอดค่าใช้จ่ายของคุณ เนื่องจากข้อเท็จจริงที่ถูกจดจำจะเปลี่ยนคำตอบก็ต่อเมื่อข้อมูลนั้นอยู่ในคำขอที่ Claude อ่าน การจดจำหมายถึงการส่งข้อมูลซ้ำ ข้อความดังกล่าวจะถูกนับเป็นโทเค็นอินพุตและถูกคิดค่าบริการตามอัตราอินพุตปกติของโมเดล โดยมีตัวเลขสองค่าที่กำหนดจำนวนเงิน ได้แก่ จำนวนโทเค็นของข้อความที่ถูกจดจำซึ่งคุณส่งซ้ำในแต่ละรอบ และข้อความที่ส่งซ้ำนั้นสามารถดึงมาจาก prompt cache ได้หรือไม่
สำหรับการสมัครสมาชิกแบบ Pro หรือ Max คุณจะไม่ถูกเรียกเก็บเงินตามจำนวนโทเค็น ดังนั้นหน่วยความจำจะใช้โควตาการใช้งานของคุณแทนที่จะเป็นเงิน กลไกด้านล่างนี้เหมือนกันทุกประการ ต่างกันเพียงหน่วยที่ใช้เท่านั้น เนื่องจากโควตาดังกล่าวมีจำกัด จึงควรทราบ ราคาของ Claude Pro และจุดที่ขีดจำกัดจะหยุดการใช้งานของคุณ ก่อนที่คุณจะตัดสินใจว่าหน่วยความจำในแต่ละรอบควรมีปริมาณเท่าใด ส่วน Claude Enterprise จะมีรูปแบบที่แตกต่างออกไป เนื่องจาก มีการคิดค่าบริการทุกโทเค็นตามอัตรา API เพิ่มเติมจากค่าธรรมเนียมต่อที่นั่ง ดังนั้นบล็อกหน่วยความจำที่มีขนาดใหญ่เกินไปจะเปลี่ยนกลับเป็นค่าใช้จ่ายแทนการใช้โควตา หากการลดขนาดหน่วยความจำช่วยให้การใช้งานของคุณกลับมาอยู่ภายใต้เพดานของแผนที่เล็กลงได้อย่างสบาย การเปลี่ยนจากแผน Max ลงมาเป็น Pro เป็นขั้นตอนที่คุ้มค่า และการเปลี่ยนแปลงจะมีผลเมื่อสิ้นสุดรอบระยะเวลาที่คุณชำระเงินไปแล้ว หากการเปรียบเทียบที่คุณกำลังพิจารณาเป็นการเปรียบเทียบระหว่างผู้ให้บริการแทนที่จะเป็นระหว่างระดับบริการของ Anthropic เอง แผนบริการของ Claude เมื่อเทียบกับ ChatGPT ในราคาปัจจุบัน คือจุดเริ่มต้นที่ควรดู
ความหมายของ "memory" ในแต่ละส่วนของ Claude
ผลิตภัณฑ์สามรายการใช้คำนี้ร่วมกัน และการสับสนระหว่างกันเป็นสาเหตุหลักที่ทำให้คำถามนี้ดูซับซ้อน
เครื่องมือ memory บน Claude API: คุณเพิ่มรายการหนึ่งรายการลงในอาร์เรย์ tools และเขียนคำสั่งจัดการไฟล์ในโค้ดของคุณเอง
{"type": "memory_20250818", "name": "memory"}ณ เดือนสิงหาคม 2026 เครื่องมือนี้เปิดให้ใช้งานทั่วไปบน Messages API โดยไม่ต้องใช้ beta header สำหรับ Claude 4 และรุ่นที่ใหม่กว่า เครื่องมือนี้ทำงานที่ฝั่งไคลเอนต์ (client-side): Claude จะร้องขอการดำเนินการ เช่น view /memories จากนั้นตัวจัดการของคุณจะดำเนินการกับพื้นที่จัดเก็บข้อมูลที่คุณควบคุม และคุณจะส่งผลลัพธ์กลับไปในบล็อก tool_result Anthropic ไม่ได้เก็บไฟล์ไว้ ดังนั้นจึงไม่มีค่าธรรมเนียมการจัดเก็บข้อมูล แต่คุณจะต้องชำระค่าใช้จ่ายสำหรับการรับส่งข้อมูล (round trip) แทน นิยามของเครื่องมือจะถูกส่งไปในทุกคำขอ และเนื้อหาไฟล์ที่ส่งกลับมาจะคงอยู่ในบทสนทนาตั้งแต่นั้นเป็นต้นไป
Anthropic ได้เผยแพร่ส่วนคงที่ของค่าใช้จ่ายส่วนเกิน (overhead) ดังกล่าว บน Claude Opus 5 ที่มีการเลือกใช้เครื่องมือเป็น auto ระบบ prompt สำหรับการใช้เครื่องมือจะมีขนาด 286 tokens ตามที่ระบุไว้ในเดือนสิงหาคม 2026 ซึ่งเป็นค่าใช้จ่ายที่เรียกเก็บหนึ่งครั้งต่อคำขอเมื่อมีการใช้เครื่องมือใดๆ ไม่ว่าจะเป็น memory หรือเครื่องมืออื่นก็ตาม
Claude Code: มีกลไกสองอย่างที่โหลดขึ้นมาเมื่อเริ่มทุกเซสชัน ไฟล์ CLAUDE.md จะเก็บคำสั่งที่คุณเขียนขึ้น ส่วน auto memory จะเก็บโน้ตที่ Claude เขียนขึ้นเองภายใต้ ~/.claude/projects/<project>/memory/ ระบบจะโหลดเฉพาะ 200 บรรทัดแรกหรือ 25KB แรกของ MEMORY.md เท่านั้น (แล้วแต่ว่าขีดจำกัดใดถึงก่อน) และไฟล์หัวข้อที่อยู่ข้างเคียงจะถูกอ่านตามความต้องการแทนที่จะโหลดตั้งแต่เริ่มต้น ทุกสิ่งที่โหลดเมื่อเริ่มเซสชันจะกลายเป็นส่วนหนึ่งของ prefix ที่ทุกคำขอในภายหลังของเซสชันนั้นต้องแบกรับ วิธีที่ Claude Code เรียกคืน memory ระหว่างเซสชัน อธิบายลำดับการโหลดไฟล์ทีละไฟล์
Claude บนเว็บ: บน claude.ai นั้น memory คือชุดของรายการที่ Claude เขียนและอัปเดตในขณะที่คุณสนทนา โดยมีพื้นที่ memory แยกต่างหากสำหรับแต่ละโปรเจกต์ เมนู Settings > Memory จะแสดงรายการสิ่งที่ถูกจัดเก็บไว้ และปุ่มสลับที่นั่นมีตัวเลือก Pause memory หรือ Reset memory ส่วนนี้จะถูกเรียกเก็บเงินตามการสมัครสมาชิก ดังนั้น memory ในส่วนนี้จึงใช้โควตาการใช้งานของคุณ
เหตุใดข้อความที่ถูกจดจำจึงถูกเรียกเก็บเงินในฐานะ input tokens
Messages API มีสถานะเป็น stateless โดยไม่มีการเก็บข้อมูลใดๆ ไว้ระหว่างการเรียกใช้งาน ดังนั้นไคลเอ็นต์ของคุณจึงต้องส่งบทสนทนาทั้งหมดไปในทุกรอบการโต้ตอบ และโมเดลจะอ่านข้อมูลทั้งหมดนั้นใหม่อีกครั้ง หน่วยความจำ (Memory) ก็ไม่มีข้อยกเว้นสำหรับกฎนี้ มันเป็นเพียงบล็อกข้อความอีกบล็อกหนึ่งที่รวมอยู่ในคำขอเดียวกัน
การแบ่งส่วนข้อมูลสามารถดูได้ในออบเจกต์ usage ของการตอบกลับทุกครั้ง
"usage": {
"input_tokens": 412,
"cache_creation_input_tokens": 0,
"cache_read_input_tokens": 18240,
"output_tokens": 236
}input_tokens จะนับเฉพาะโทเค็นที่ไม่ได้ถูกอ่านจากแคชและไม่ได้ถูกใช้เพื่อสร้างแคช ซึ่งในทางปฏิบัติหมายถึงโทเค็นที่อยู่หลังจุดพักแคช (cache breakpoint) ล่าสุด ปริมาณ input รวมสำหรับคำขอนั้นคือ cache_read_input_tokens บวกกับ cache_creation_input_tokens และบวกกับ input_tokens ไฟล์หน่วยความจำที่ Claude เปิดขึ้นเมื่อ 3 รอบที่แล้วจะถูกรวมอยู่ในยอดรวมนี้ในทุกรอบการโต้ตอบนับตั้งแต่นั้นมา ข้อมูลนี้จะถูกจัดอยู่ใน cache_read_input_tokens ตราบเท่าที่ส่วนนำของแคชยังคงอยู่ และจะถูกจัดอยู่ใน input_tokens เมื่อส่วนนำของแคชไม่คงอยู่ ข้อความเดียวกันแต่มีราคาที่แตกต่างกันอย่างมาก โทเค็น input และ output มีราคาที่แตกต่างกัน และหน่วยความจำจะถูกนับรวมอยู่ในฝั่ง input เสมอ
วิธีตรวจสอบตัวเลขเหล่านี้จากการใช้งานจริงของคุณ
อย่าใช้ตัวเลขจากบทความบล็อก รวมถึงบทความนี้ ให้วัดขนาดหน่วยความจำของคุณเอง การนับโทเค็นไม่มีค่าใช้จ่ายและมีขีดจำกัดอัตราการใช้งานของตนเอง ดังนั้นการวัดผลจึงไม่มีค่าใช้จ่ายใดๆ
curl https://api.anthropic.com/v1/messages/count_tokens \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "content-type: application/json" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-opus-5",
"system": "You are a scientist",
"messages": [{"role": "user", "content": "Hello, Claude"}]
}'คำตอบที่ได้จะเป็นตัวเลขหนึ่งค่า เช่น { "input_tokens": 14 } ให้รันคำสั่งหนึ่งครั้งโดยวางข้อความในหน่วยความจำของคุณลงในช่อง system และอีกครั้งโดยไม่ต้องวาง ผลต่างที่ได้คือต้นทุนหน่วยความจำที่คุณต้องจ่ายในทุกรอบการสนทนา โดยมีข้อควรระวังสองประการคือ จำนวนที่นับได้เป็นเพียงการประมาณการ และโทเค็นส่วนเกินที่ Anthropic เพิ่มเข้ามาเพื่อการปรับแต่งระบบของตนเองนั้นจะไม่ถูกเรียกเก็บเงินจากคุณ นอกจากนี้ ควรนับเทียบกับโมเดลที่คุณจะใช้งานจริง เนื่องจาก Claude 4.7 และรุ่นใหม่กว่าใช้ tokenizer แบบใหม่ที่สร้างโทเค็นมากกว่าเดิมประมาณ 30 เปอร์เซ็นต์สำหรับข้อความเดียวกัน
ภายใน Claude Code คำถามเดียวกันนี้สามารถตอบได้โดยไม่ต้องใช้ curl เลย
/contextแสดงสิ่งที่ถูกโหลดอยู่ในขณะนี้ รวมถึงไฟล์หน่วยความจำ เพื่อให้คุณเห็นสัดส่วนการใช้งานหน้าต่างบริบทก่อนที่คุณจะพิมพ์อะไรลงไป/memoryแสดงรายการไฟล์ CLAUDE.md ของคุณและเปิดโฟลเดอร์หน่วยความจำอัตโนมัติ/usageแสดงผลรวมของเซสชัน ซึ่งรวมถึงการอ่านจากแคชและการเขียนลงแคชด้วย- บรรทัดสถานะสามารถแสดงการใช้งานหน้าต่างบริบทอย่างต่อเนื่อง ทำให้เห็นการเพิ่มขึ้นของข้อมูลในขณะที่เกิดขึ้นจริง
บล็อกเซสชัน /usage จะมีลักษณะดังนี้:
Total cost: $0.55
Total duration (API): 6m 20s
Total duration (wall): 6h 33m 10s
Total code changes: 0 lines added, 0 lines removed
Usage by model:
claude-sonnet-4-6: 1.2k input, 5.3k output, 940.0k cache read, 50.0k cache write ($0.55)โปรดอ่านบรรทัดสุดท้ายอย่างละเอียด ตัวเลข 940.0k cache read คือการสนทนาและหน่วยความจำทั้งหมดที่ถูกส่งซ้ำในทุกรอบการสนทนาด้วยอัตราค่าบริการแคช ส่วนตัวเลข 1.2k input คือเฉพาะส่วนที่เป็นข้อมูลใหม่ Claude Code จะคำนวณมูลค่าเป็นดอลลาร์ในเครื่องจากราคาตามรายการ ดังนั้นจึงไม่รวมส่วนลดที่คุณได้รับและอาจแตกต่างจากใบแจ้งหนี้จริงของคุณ หน้า Usage ใน Claude Console คือตัวเลขที่ถูกต้องตามจริง
จากนั้นให้ทำการเปรียบเทียบโดยตรง โดยถามคำถามเปิดแบบเดียวกันในสองเซสชันใหม่ เซสชันหนึ่งเป็นแบบปกติและอีกเซสชันหนึ่งปิดการใช้งานหน่วยความจำอัตโนมัติ
CLAUDE_CODE_DISABLE_AUTO_MEMORY=1 claudeรัน /context ในแต่ละเซสชันแล้วเปรียบเทียบรายการไฟล์หน่วยความจำ ส่วนต่างที่พบคือต้นทุนหน่วยความจำสะสมที่คุณต้องจ่ายเมื่อเริ่มทุกเซสชัน ก่อนที่จะเริ่มงานใดๆ รายละเอียดทั้งหมดของการใช้งานโทเค็นใน Claude Code เป็นสิ่งที่ควรอ่านควบคู่ไปกับตัวเลขทั้งสองค่านี้
การเรียกใช้หน่วยความจำซ้ำมีค่าใช้จ่ายเท่าใดต่อล้านโทเค็น
Prompt caching คือสาเหตุที่ทำให้บล็อกหน่วยความจำเดียวกันมีค่าใช้จ่ายต่างกันได้ถึงสิบเท่าในแต่ละรอบการทำงาน Anthropic เผยแพร่อัตราค่าบริการแคชเป็นตัวคูณของราคา input พื้นฐานของแต่ละโมเดล ดังนั้นความสัมพันธ์นี้จึงยังคงเดิมแม้ราคาที่เป็นดอลลาร์จะเปลี่ยนแปลงไป
The data behind this chart
[
{
"label": "Base input",
"price_multiple": 1
},
{
"label": "5 minute cache write",
"price_multiple": 1.25
},
{
"label": "1 hour cache write",
"price_multiple": 2
},
{
"label": "Cache read",
"price_multiple": 0.1
}
]การอ่านแคชมีค่าใช้จ่าย 0.1 เท่าของราคา input พื้นฐาน การเขียนรายการแคชที่มีอายุ 5 นาทีมีค่าใช้จ่าย 1.25 เท่าของราคาพื้นฐาน และอายุ 1 ชั่วโมงมีค่าใช้จ่าย 2 เท่าของราคาพื้นฐาน Anthropic ระบุจุดคุ้มทุนไว้อย่างชัดเจนว่า: การใช้แคชจะคุ้มค่าหลังจากอ่านแคชหนึ่งครั้งสำหรับระยะเวลา 5 นาที หรือหลังจากอ่านแคชสองครั้งสำหรับระยะเวลา 1 ชั่วโมง จุดคุ้มทุนสำหรับการทำ prompt caching คือการคำนวณที่คุณควรทำก่อนตัดสินใจว่าจะจัดเก็บหน่วยความจำไว้ที่ใด
ตัวคูณเหล่านั้นเปลี่ยนจำนวนการเรียกใช้ซ้ำให้กลายเป็นการคำนวณทางคณิตศาสตร์ บล็อกถัดไปเป็นการคำนวณจากตัวคูณที่เผยแพร่ข้างต้น ไม่ใช่การวัดจากภาระงานจริง โดยเป็นการเปรียบเทียบราคาบล็อกหน่วยความจำ 3 รูปแบบตลอดเซสชัน 100 รอบ โดยแสดงเป็นจำนวนโทเค็นเทียบเท่าที่คิดราคาตามอัตรา input พื้นฐานปกติ
The data behind this chart
[
{
"label": "4,000 tokens, never cached",
"base_rate_equivalent_tokens": "400,000"
},
{
"label": "4,000 tokens, 1 write and 99 reads",
"base_rate_equivalent_tokens": "44,600"
},
{
"label": "1,000 tokens, 1 write and 99 reads",
"base_rate_equivalent_tokens": "11,150"
}
]บล็อกหน่วยความจำขนาด 4,000 โทเค็นที่พลาดการใช้แคชตลอดทั้ง 100 รอบ จะถูกเรียกเก็บเงินเทียบเท่ากับโทเค็นราคาพื้นฐานจำนวน 400,000 โทเค็น บล็อกเดียวกันหากอยู่ภายใต้การเขียนแคชอายุ 5 นาทีหนึ่งครั้งและการอ่านแคช 99 ครั้ง จะถูกเรียกเก็บเงินเทียบเท่ากับ 44,600 โทเค็น หากตัดขนาดลงเหลือหนึ่งในสี่และยังคงใช้การแคชไว้ จะถูกเรียกเก็บเงินเทียบเท่ากับ 11,150 โทเค็น ฟีเจอร์นี้ไม่ได้เปลี่ยนแปลงไปใน 3 แถวนั้น มีเพียงพฤติกรรมการเรียกใช้ซ้ำเท่านั้นที่เปลี่ยนไป ตัวเลขเหล่านี้ยังคงเป็นจำนวนโทเค็นไม่ใช่จำนวนเงิน และ การเปลี่ยนจำนวนโทเค็นให้เป็นตัวเลขในใบแจ้งหนี้รายเดือนของคุณ คือการคูณด้วยอัตราต่อล้านโทเค็นของโมเดลที่คุณใช้ อัตราดังกล่าวถูกกำหนดโดยโมเดลที่คุณใช้งาน ดังนั้นหากเอเจนต์จะทำงานบน Claude Fable 5 ให้เริ่มต้นจาก อัตราต่อล้านโทเค็นที่เผยแพร่และงานที่เหมาะสมกับโมเดลนั้น
แถวที่สองตั้งสมมติฐานว่าคำขอแต่ละรายการจาก 99 รายการที่ตามมานั้นเข้ามาในขณะที่รายการแคชยังคงมีอายุใช้งานอยู่ สมมติฐานนั้นคือจุดที่ใบแจ้งหนี้จริงส่วนใหญ่เกิดความผิดพลาด
เหตุใดคำถามเดิมจึงมีค่าใช้จ่ายสูงขึ้นหลังจากหยุดพักไปช่วงหนึ่ง
รายการในแคชมีอายุการใช้งาน โดยนาฬิกาจะเริ่มนับตั้งแต่คำขอที่เขียนหรืออ่านรายการนั้น ค่าเริ่มต้นคือ 5 นาที ตัวเลือก 1 ชั่วโมงจะมีค่าใช้จ่ายเป็น 2 เท่าของการเขียนตามที่แสดงไว้ข้างต้น ใน Claude Code อายุการใช้งานจะเป็นหนึ่งชั่วโมงสำหรับบัญชีแบบสมัครสมาชิก และจะลดลงเหลือห้านาทีเมื่อคุณเริ่มใช้เครดิตการใช้งาน ส่วนการใช้ผ่าน API key หรือผู้ให้บริการคลาวด์ ค่าเริ่มต้นจะเป็นห้านาที การตั้งค่า ENABLE_PROMPT_CACHING_1H=1 จะช่วยรักษาอายุการใช้งานไว้ที่หนึ่งชั่วโมงในขณะที่ใช้เครดิตการใช้งาน
ดังนั้น คำถามบรรทัดเดียวที่พิมพ์ในเซสชันที่คุณเปิดทิ้งไว้ช่วงพักเที่ยงจึงมีราคาแพง เนื่องจากรายการในแคชหมดอายุในขณะที่คุณไม่อยู่ ระบบจึงประมวลผล prefix ทั้งหมดรวมถึงหน่วยความจำใหม่อีกครั้งในอัตราอินพุตพื้นฐาน และเขียนลงในแคชใหม่อีกรอบ ระยะเวลาที่หยุดพักไปจึงเป็นตัวกำหนดราคานั้น
คุณสามารถตรวจสอบเรื่องนี้ได้ด้วยตนเอง แทนที่จะเชื่อเพียงอย่างเดียว ในแผน Pro, Max, Team หรือ Enterprise ตัวเลือก /usage จะแสดงรายละเอียดพฤติกรรมใดก็ตามที่ส่งผลต่อการใช้งาน 10 เปอร์เซ็นต์ขึ้นไปในช่วงที่ผ่านมา โดยทั้งบริบทที่ยาวและการพลาดแคช (cache miss) จะปรากฏชื่ออยู่ในนั้น สำหรับการใช้งานผ่าน API ให้สังเกตค่า cache_creation_input_tokens ที่จะพุ่งกลับขึ้นไปเท่ากับขนาดเต็มของ prefix ของคุณในคำขอแรกหลังจากช่วงที่ไม่มีการใช้งาน
สิ่งที่ทำให้แคชไม่ถูกต้องโดยไม่แจ้งเตือน
ลำดับของแคช prefix จะเรียงจาก: เครื่องมือ (tools), ตามด้วยระบบ (system), และข้อความ (messages) การเปลี่ยนแปลงในระดับใดระดับหนึ่งจะทำให้ระดับนั้นและทุกสิ่งที่อยู่ถัดไปไม่ถูกต้อง การแก้ไขคำจำกัดความของเครื่องมือจะทำให้แคชทั้งหมดถูกทิ้ง การแก้ไข system prompt จะทำให้แคชของระบบและข้อความถูกทิ้ง
นี่คือกับดักสำหรับผู้ที่เก็บหน่วยความจำไว้ใน system prompt และเขียนใหม่ในขณะที่เอเจนต์เรียนรู้ การเขียนใหม่แต่ละครั้งจะทิ้งสำเนาแคชของทุกสิ่งที่อยู่เบื้องหลังไป ดังนั้นคำขอถัดไปจะต้องเสียเวลาเขียนใหม่ทั้งหมด ควรเก็บเนื้อหาที่คงที่ไว้ที่ส่วนหน้าและรักษาให้คงที่ และปล่อยให้เนื้อหาที่เปลี่ยนแปลงบ่อยอยู่ในรายการข้อความส่วนท้าย ซึ่งการทำให้แคชไม่ถูกต้องในส่วนนั้นจะมีต้นทุนต่ำ
มีความล้มเหลวประการที่สองที่เงียบกว่านั้น โมเดลแต่ละรุ่นมีค่าขั้นต่ำของ prefix ที่สามารถแคชได้: 512 โทเค็นสำหรับ Claude Opus 5, 1,024 สำหรับ Claude Sonnet 5, 4,096 สำหรับ Claude Haiku 4.5 ตามที่ประกาศไว้ในเดือนสิงหาคม 2026 เอกสารของ Anthropic ระบุไว้อย่างชัดเจนเกี่ยวกับสิ่งที่เกิดขึ้นหากต่ำกว่าค่านี้: "คำขอใดๆ ที่แคชโทเค็นน้อยกว่าจำนวนนี้จะถูกประมวลผลโดยไม่มีการแคช และจะไม่มีการส่งข้อความแสดงข้อผิดพลาดกลับมา" ดังนั้นไฟล์หน่วยความจำขนาดเล็กที่ทำเครื่องหมายด้วย cache_control จึงไม่มีผลใดๆ เลยโดยไม่มีการแจ้งเตือน อาการที่คุณสามารถสังเกตได้คือ cache_creation_input_tokens ยังคงเป็น 0 ในขณะที่ prompt ของคุณมีจุดพัก (breakpoint) ปรากฏอยู่อย่างชัดเจน
ตัดหน่วยความจำที่ไม่จำเป็นออก
ทุกบรรทัดของหน่วยความจำมีค่าใช้จ่ายเป็นโทเค็นในทุกรอบการสนทนาที่ต้องนำข้อมูลนั้นไปด้วย ดังนั้นคำถามสำหรับแต่ละบรรทัดคือ ข้อมูลนั้นได้ช่วยเปลี่ยนแปลงคำตอบเมื่อเร็วๆ นี้หรือไม่ Claude Code ทำให้ข้อจำกัดนี้เป็นรูปธรรม ควรพยายามรักษาไฟล์ CLAUDE.md ให้มีความยาวไม่เกิน 200 บรรทัด เนื่องจากไฟล์ที่ยาวกว่าจะใช้บริบทมากขึ้นและลดความน่าเชื่อถือในการปฏิบัติตามคำสั่งของ Claude โดย MEMORY.md จะถูกจำกัดไว้ที่ 200 บรรทัดแรกหรือ 25KB ในขณะโหลด และข้อมูลใดๆ ที่เกินขีดจำกัดนี้จะถูกตัดออกเมื่อเริ่มเซสชันถัดไป ดังนั้นดัชนีที่ใหญ่เกินไปจึงเป็นการเสียโทเค็นโดยเปล่าประโยชน์และไม่ได้ช่วยในการเรียนรู้
นิสัยสองประการที่จะช่วยให้ไฟล์มีขนาดเล็กอยู่เสมอ คือการย้ายรายละเอียดออกจากดัชนีไปไว้ในไฟล์เฉพาะหัวข้อ ซึ่ง Claude จะอ่านเมื่อต้องการแทนที่จะโหลดตั้งแต่เริ่มต้น และการย้ายคำแนะนำขั้นตอนการทำงานออกจาก CLAUDE.md ไปไว้ใน skills ซึ่งจะโหลดเฉพาะเมื่อมีการเรียกใช้เท่านั้น สำหรับไฟล์หน่วยความจำที่มีส่วน frontmatter อยู่แล้ว Claude Code จะบันทึกเวลาที่เขียนไว้ในฟิลด์ modified เป็น timestamp รูปแบบ ISO 8601 ในเวอร์ชัน 2.1.214 ขึ้นไป ซึ่ง timestamp ดังกล่าวเป็นวิธีที่เร็วที่สุดในการตรวจสอบข้อมูลที่ล้าสมัย การตัดหน่วยความจำตัวแทนที่ล้าสมัย จะอธิบายกระบวนการตรวจสอบในเชิงลึกมากขึ้น
เมื่อการดึงข้อมูลมีประสิทธิภาพมากกว่าการโหลดทุกอย่างลงในบริบท
เครื่องมือหน่วยความจำ (memory tool) มีไว้เพื่อรองรับการดึงข้อมูลแบบทันท่วงที (just-in-time retrieval) แทนที่จะโหลดทุกอย่างไว้ล่วงหน้า เอเจนต์จะบันทึกสิ่งที่เรียนรู้และอ่านไฟล์กลับมาเฉพาะเมื่อมีงานที่จำเป็นต้องใช้เท่านั้น วิธีนี้เปลี่ยนหลักการคำนวณ เพราะการอ่านไฟล์จะเสียค่าโทเค็นเพียงครั้งเดียวแล้วเก็บไว้ใน cached prefix ในขณะที่การโหลดข้อมูลค้างไว้ตลอดเวลาจะทำให้เสียค่าใช้จ่ายในทุกรอบการทำงาน
กฎง่ายๆ ที่ได้จากแผนภูมิทั้งสองด้านบนคือ ข้อความที่ถูกใช้งานเกือบทุกรอบควรอยู่ใน stable cached prefix ส่วนข้อความที่ถูกใช้งานเพียงหนึ่งในยี่สิบรอบควรอยู่หลังการเรียกใช้ view จุดคุ้มทุนจะเปลี่ยนไปตามจำนวนครั้งที่คุณเรียกใช้ (replay count) ไม่ใช่ตามอัตราค่าบริการของ Anthropic
บน API คุณยังสามารถให้แพลตฟอร์มช่วยตัดทอนบทสนทนาได้ การแก้ไขบริบท (context editing) จะล้างผลลัพธ์ของเครื่องมือเก่าออกเมื่อบทสนทนาเกินเกณฑ์ที่คุณกำหนดไว้
{
"edits": [
{
"type": "clear_tool_uses_20250919",
"trigger": {"type": "input_tokens", "value": 30000},
"keep": {"type": "tool_uses", "value": 3},
"clear_at_least": {"type": "input_tokens", "value": 5000}
}
]
}ค่าเริ่มต้นคือการตั้งค่า trigger ไว้ที่ 100,000 input tokens และเก็บผลลัพธ์การใช้เครื่องมือไว้ 3 รายการ โปรดอ่านรายละเอียดเกี่ยวกับการทำ caching ก่อนเปิดใช้งาน เพราะการล้างเนื้อหาจะทำให้ cached prefix ที่จุดนั้นใช้งานไม่ได้ ส่งผลให้คุณต้องเสียค่าใช้จ่ายในการเขียนแคชใหม่ในคำขอถัดไป นี่คือเหตุผลที่มี clear_at_least ซึ่งจะช่วยชะลอการล้างข้อมูลจนกว่าจะประหยัดพื้นที่ได้มากพอที่จะคุ้มค่ากับการเขียนแคชใหม่ ระบบจะรายงานสิ่งที่เกิดขึ้นจริงภายใต้ context_management พร้อมด้วย cleared_tool_uses และ cleared_input_tokens ทำให้คุณสามารถวัดผลการแลกเปลี่ยนนี้ได้จริงแทนที่จะเป็นเพียงทฤษฎี การจัดการ context window ใน Claude Code ใช้แนวคิดเดียวกันนี้กับเซสชันการเขียนโค้ด
รายการใดบ้างที่มีการคิดค่าใช้จ่ายแยกต่างหาก
Memory ไม่มีค่าใช้จ่ายในตัวเอง แต่ฟีเจอร์บางอย่างมีค่าใช้จ่ายจริง และควรทราบว่ามีอะไรบ้าง ต่อไปนี้คืออัตราค่าบริการ Claude API ที่ประกาศใช้ ณ เดือนสิงหาคม 2026 การดำเนินการบางอย่างไม่มีค่าใช้จ่ายเลย แต่ Claude API ไม่มีระดับการใช้งานฟรี มีเพียงเครดิตจำนวนเล็กน้อยเมื่อสมัครใช้งาน ดังนั้นทุกรายการด้านล่างนี้คือค่าใช้จ่ายจริงตั้งแต่คำขอแรกของคุณ
- Web search: 10 ดอลลาร์ต่อ 1,000 การค้นหา บวกกับค่าใช้จ่ายตามจำนวน token ปกติของเนื้อหาทั้งหมดที่การค้นหานั้นนำเข้าสู่บริบท
- Code execution: ฟรี 1,550 ชั่วโมงต่อองค์กรในแต่ละเดือน หลังจากนั้นคิดค่าบริการ 0.05 ดอลลาร์ต่อชั่วโมงต่อคอนเทนเนอร์ โดยไม่มีค่าใช้จ่ายเมื่อใช้งานร่วมกับ Web search หรือ Web fetch
- Claude Managed Agents: ค่ารันไทม์ของเซสชันอยู่ที่ 0.08 ดอลลาร์ต่อชั่วโมงของเซสชัน เพิ่มเติมจากค่าใช้จ่ายตามจำนวน token ปกติ
- Web fetch: ไม่มีค่าใช้จ่ายเพิ่มเติม คิดเฉพาะค่าใช้จ่ายตามจำนวน token ของเนื้อหาที่ดึงมาเท่านั้น
Memory ไม่ปรากฏอยู่ในรายการเหล่านี้ แต่จะปรากฏอยู่ในจำนวน input token ของคุณ ซึ่งเป็นจุดที่คุณสามารถวัดผลได้แม่นยำ และเป็นจุดที่การตัดทอน (pruning) และการทำแคช (caching) สามารถช่วยลดค่าใช้จ่ายได้ หากคุณกำลังวางแผนงบประมาณสำหรับเอเจนต์ที่ทำงานโดยไม่มีผู้ดูแลบน Virtual Private Server (VPS) การควบคุมค่าใช้จ่ายสำหรับ AI agent บน VPS คือสิ่งถัดไปที่ควรดำเนินการ เพราะเอเจนต์ที่มีไฟล์ Memory เพิ่มขนาดขึ้นเรื่อยๆ โดยไม่มีการตัดทอนจะทำให้ค่าใช้จ่ายสูงขึ้นทุกสัปดาห์โดยไม่มีการแจ้งเตือนใดๆ
FAQ
ฟีเจอร์หน่วยความจำของ Claude มีค่าใช้จ่ายแยกต่างหากหรือไม่?
ไม่มี รายการราคาของ Anthropic ระบุอัตราต่อล้านโทเค็นขาเข้า ต่อล้านโทเค็นขาออก และตัวคูณสำหรับการทำ prompt caching โดยไม่มีรายการค่าใช้จ่ายสำหรับหน่วยความจำ ในส่วนของ Claude API นั้น เครื่องมือหน่วยความจำจะทำงานที่ฝั่งไคลเอนต์ ดังนั้นไฟล์ต่างๆ จะถูกจัดเก็บอยู่ในพื้นที่จัดเก็บข้อมูลที่คุณจ่ายค่าบริการอยู่แล้ว สิ่งที่หน่วยความจำเพิ่มเข้ามาคือจำนวนโทเค็นขาเข้า ซึ่งจะถูกเรียกเก็บเงินตามอัตราปกติของโมเดลในทุกรอบการสนทนาที่มีการส่งข้อมูลดังกล่าว
การปิดหน่วยความจำจะทำให้ Claude มีราคาถูกลงหรือไม่?
การปิดหน่วยความจำจะช่วยลดจำนวนโทเค็นในแต่ละคำขอ ซึ่งส่งผลให้ค่าใช้จ่ายต่อคำขอลดลง แต่การประหยัดค่าใช้จ่ายโดยรวมนั้นขึ้นอยู่กับเหตุการณ์ที่จะเกิดขึ้นหลังจากนั้น หาก Claude ต้องอ่านไฟล์เดิมซ้ำสามไฟล์และถามคำถามคุณอีกสองข้อเพื่อสร้างข้อมูลที่หน่วยความจำเคยเก็บไว้ โทเค็นเหล่านั้นจะมีราคาสูงกว่าค่าใช้จ่ายของหน่วยความจำเสียอีก แนะนำให้วัดผลแทนการคาดเดา: ให้รัน /context ในเซสชันที่เปิดหน่วยความจำอัตโนมัติ และรันในเซสชันที่เริ่มด้วย CLAUDE_CODE_DISABLE_AUTO_MEMORY=1 จากนั้นเปรียบเทียบจำนวนโทเค็นทั้งหมดที่ใช้ไปกับงานเดียวกัน
ทำไมการใช้งานของฉันถึงเพิ่มขึ้นทั้งที่ไม่ได้เปลี่ยนแปลงอะไรเลย?
สาเหตุที่พบบ่อยที่สุดคือการพลาดการเรียกใช้แคช (cache miss) หลังจากหยุดพักไปช่วงหนึ่ง รายการในแคชจะมีอายุการใช้งานเริ่มต้น 5 นาที หรือหนึ่งชั่วโมงหากตั้งค่าแบบขยายเวลา ดังนั้นคำขอแรกหลังจากหยุดพักจะประมวลผล prefix ทั้งหมดของคุณใหม่ด้วยอัตราโทเค็นขาเข้าพื้นฐานและเขียนข้อมูลลงแคชใหม่อีกครั้ง สาเหตุที่สองคือการแก้ไข prefix: การเปลี่ยนคำจำกัดความของเครื่องมือ (tool definition) จะทำให้แคชทั้งหมดใช้งานไม่ได้ และการเปลี่ยน system prompt จะทำให้แคชของระบบและข้อความใช้งานไม่ได้ ในแผนการสมัครสมาชิก รายงาน /usage จะระบุพฤติกรรมนี้เมื่อมีการใช้งานคิดเป็น 10 เปอร์เซ็นต์หรือมากกว่าของการใช้งานล่าสุด
ควรเก็บหน่วยความจำไว้ใน system prompt หรือไว้หลังการเรียกใช้เครื่องมือ?
ควรเก็บไว้ใน system prompt หากเกือบทุกรอบการสนทนาจำเป็นต้องใช้ข้อมูลนั้น เพราะข้อมูลจะถูกเก็บไว้ใน prefix ที่ทำแคชไว้และเสียค่าใช้จ่ายในอัตราการอ่านแคช ควรเก็บไว้หลังการเรียกใช้ view หากมีเพียงบางงานที่ต้องใช้ข้อมูลนั้น เพราะไฟล์ที่ถูกอ่านเพียงครั้งเดียวจะเสียค่าโทเค็นเพียงครั้งเดียว แทนที่จะเสียค่าใช้จ่ายในทุกรอบการสนทนา ตัวเลขตัดสินใจคือจำนวนครั้งที่คุณเรียกใช้ข้อมูลซ้ำ (replay count) ซึ่งออบเจกต์ usage จะให้ตัวเลขนี้แก่คุณโดยตรง
ฟีเจอร์หน่วยความจำนับรวมในขีดจำกัดการใช้งานของการสมัครสมาชิกหรือไม่?
นับรวมโดยอ้อม เนื่องจากขีดจำกัดการสมัครสมาชิกถูกใช้ไปตามจำนวนโทเค็นที่แต่ละคำขอส่งไป เอกสารช่วยเหลือของ Anthropic ระบุว่าการสนทนาที่ยาวขึ้นซึ่งกระตุ้นให้เกิดการจัดการบริบทอัตโนมัติจะใช้ขีดจำกัดการใช้งานของคุณมากขึ้น หน่วยความจำทำให้แต่ละคำขอยาวขึ้นเล็กน้อย และเซสชันที่ยาวจะมีการส่งข้อมูลความยาวนั้นซ้ำในทุกรอบการสนทนา วิธีที่ขีดจำกัดการใช้งานของ Claude ทำงานจริง ครอบคลุมรายละเอียดว่าข้อมูลส่วนใดจะถูกรีเซ็ตเมื่อใด