วิศวกรจาก Anthropic แชร์เคล็ดลับการแคชโทเค็นของ Claude Code เพื่อประหยัดโทเค็น 300 ล้านต่อสัปดาห์

iconBlockbeats
แชร์
Share IconShare IconShare IconShare IconShare IconShare IconCopy
AI summary iconสรุป

expand icon
การอัปเดตการรายชื่อโทเค็นใหม่เปิดเผยว่า วิศวกรของ Anthropic ได้แชร์กลยุทธ์การแคชโทเค็นของ Claude Code ซึ่งช่วยประหยัดโทเค็นมากกว่า 300 ล้านโทเค็นในหนึ่งสัปดาห์ การประหยัดรายวันแตะที่ 91 ล้านโทเค็น โดยโทเค็นที่แคชมีต้นทุนเพียง 10% ของอินพุตปกติ คำแนะนำสำคัญรวมถึงหลีกเลี่ยงการหยุดเซสชันเกินหนึ่งชั่วโมง ใช้การถ่ายโอนเซสชัน และจัดเก็บเอกสารขนาดใหญ่ใน Projects การสลับโมเดลและโหมดแผน Opus อาจทำให้การแคชล้มเหลว ข่าวการเปิดตัวโทเค็นแสดงให้เห็นว่านักพัฒนาต่างมุ่งเน้นไปที่ประสิทธิภาพด้านต้นทุนสำหรับเซสชันระยะยาว
วิธีที่วิศวกรของ Anthropic ช่วยประหยัดโทเค็น
ผู้เขียนต้นฉบับ: Nate Herk
แปลโดย: Peggy, BlockBeats


ผู้แก้ไข: ผู้ใช้หลายคนที่ใช้ Claude Code มักรู้สึกว่าการใช้โทเค็นเร็วเกินไป และการสนทนาที่ยาวนานจะใช้เครดิตอย่างรวดเร็ว แต่จากมุมมองของวิศวกรของ Anthropic สิ่งที่ส่งผลต่อต้นทุนจริงๆ มักไม่ใช่จำนวนโค้ดที่คุณเขียน แต่คือระบบมีการใช้ซ้ำบริบทที่ประมวลผลแล้วหรือไม่


หัวใจหลักของบทความนี้คือวิธีการประหยัด Token ผ่านกลไกแคช ผู้เขียนสามารถใช้ซ้ำ Token ที่แคชไว้มากกว่า 300 ล้าน Token ในหนึ่งสัปดาห์ โดยมีปริมาณการแคชรายวันถึง 91 ล้าน Token เนื่องจากต้นทุนของ Token ที่แคชไว้เท่ากับเพียง 10% ของ Token ป้อนทั่วไป หมายความว่า 91 ล้าน Token ที่แคชไว้นั้นเทียบเท่ากับการคิดค่าใช้จ่ายประมาณ 9 ล้าน Token ทั่วไป เหตุที่ Claude Code ในเซสชันยาวดูเหมือน “ใช้งานได้นานกว่า” ไม่ใช่เพราะโมเดลทำงานฟรี แต่เพราะบริบทซ้ำๆ จำนวนมากถูกใช้ซ้ำอย่างประสบความสำเร็จ


หัวใจสำคัญของแคชพรอมต์คือ “อย่าขัดจังหวะแคช” Claude Code จะจัดเก็บแคชเป็นชั้นๆ สำหรับคำแนะนำระบบ นิยามเครื่องมือ CLAUDE.md กฎโครงการ และการสนทนาในอดีต; หากคำขอถัดไปมีส่วนนำที่เหมือนกัน Claude จะสามารถอ่านแคชได้ทันที โดยไม่ต้องประมวลผลบริบททั้งหมดอีกครั้ง Anthropic ยังติดตามอัตราการใช้ซ้ำของ prompt cache เนื่องจากไม่เพียงแต่มีผลต่อโควตาผู้ใช้ แต่ยังเกี่ยวข้องโดยตรงกับต้นทุนบริการโมเดลและประสิทธิภาพการดำเนินงาน


สำหรับผู้ใช้ทั่วไป ไม่จำเป็นต้องเข้าใจรายละเอียดพื้นฐานทั้งหมด แค่รักษานิสัยสำคัญไม่กี่ข้อเท่านั้น: อย่าปล่อยเซสชันไว้โดยไม่ใช้งานเกิน 1 ชั่วโมง; ทำ session handoff เมื่อสลับงาน; หลีกเลี่ยงการสลับโมเดลบ่อยๆ; ใส่เอกสารขนาดใหญ่ไว้ใน Projects แทนการวางซ้ำๆ ในบทสนทนา


บทความนี้ไม่ได้พูดถึงเทคนิคการประหยัดโทเค็น แต่เสนอวิธีการใช้ Claude Code ที่ใกล้เคียงกับแนวคิดของวิศวกรมากกว่า: จัดการบริบทเหมือนการจัดการสินทรัพย์ ใช้แคชซ้ำอย่างต่อเนื่อง และลดการคำนวณซ้ำในเซสชันยาว


以下为原文:


ฉันประหยัด Token ได้ 300 ล้านในสัปดาห์นี้ โดยหนึ่งวันมี 91 ล้าน และทั้งสัปดาห์เกิน 300 ล้าน



ฉันไม่ได้เปลี่ยนการตั้งค่าใดๆ นี่เป็นเพียงการแคช prompt ที่ทำงานตามปกติในพื้นหลัง


แต่เมื่อฉันเข้าใจอย่างแท้จริงว่าแคชคืออะไร และวิธีหลีกเลี่ยงไม่ให้แคช “ถูกขัดจังหวะ” ฉันสามารถยืดระยะเวลาการสนทนาของฉันได้นานขึ้นภายใต้ขอบเขตการใช้งานเดียวกัน ดังนั้น นี่คือคู่มือเริ่มต้น 80/20 สำหรับการแคช prompt ของ Claude Code โดยไม่ลงลึกถึงรายละเอียดระดับ API


สรุปสั้น


ต้นทุนของ Token ที่แคชไว้เท่ากับ 10% ของ Token แบบปกติ 91 ล้าน Token ที่แคชไว้ มีค่าใช้จ่ายจริงเทียบเท่ากับประมาณ 9 ล้าน Token


ค่า TTL ของแคชสำหรับเวอร์ชันสมัครสมาชิก Claude Code คือ 1 ชั่วโมง; API โดยค่าเริ่มต้นคือ 5 นาที; Sub-agent ตลอดเวลาคือ 5 นาที


แคชแบ่งเป็นสามชั้น: ชั้นระบบ ชั้นโปรเจกต์ และชั้นการสนทนา


การเปลี่ยนโมเดลระหว่างการสนทนาจะทำให้แคชเสียหาย รวมถึงการเปิดใช้งานโหมด «opus plan»


การคำนวณค่าใช้จ่ายของแคชทำได้อย่างไร?


ต้นทุนของทุกโทเค็นที่ถูกแคชคือ 10% ของต้นทุนโทเค็นการป้อนข้อมูลทั่วไป



ดังนั้น เมื่อแดชบอร์ดของฉันแสดงว่ามี Token 91 ล้านตัวในวันหนึ่งที่ถูกแคช ค่าใช้จ่ายจริงจะเทียบเท่ากับการประมวลผล Token เพียง 9 ล้านตัวเท่านั้น นี่คือเหตุผลที่ทำให้การใช้งาน Claude Code เป็นระยะเวลานาน เมื่อเทียบกับการไม่มีแคช รู้สึกเหมือนเซสชันถูกขยายออกไปฟรีๆ


บนแดชบอร์ดมีตัวเลขสองตัวที่ควรให้ความสนใจ:


การสร้างแคช: ต้นทุนแบบครั้งเดียวที่เกิดขึ้นเมื่อเขียนเนื้อหาลงในแคช มันจะเริ่มมีผลในบทสนทนาถัดไป
การอ่านแคช: โทเค็นที่ Claude ใช้ซ้ำจากแคช เช่น CLAUDE.md นิยามเครื่องมือ หรือข้อความก่อนหน้าของคุณ ซึ่งมีต้นทุนถูกกว่า 10 เท่าเมื่อเทียบกับการประมวลผลเป็นอินพุตใหม่



หากตัวเลข Cache read ของคุณสูง แสดงว่าคุณกำลังใช้แคชอย่างมีประสิทธิภาพ; ถ้าตัวเลขนี้ต่ำ หมายความว่าคุณกำลังจ่ายเงินซ้ำๆ สำหรับบริบทเดียวกัน


ธาริก จาก Anthropic กล่าวประโยคหนึ่งที่ทำให้ฉันประทับใจ: “เราจริงจังกับการติดตามอัตราการเข้าถึง prompt cache และเมื่ออัตราการเข้าถึงต่ำเกินไป จะมีการแจ้งเตือน หรือแม้แต่ประกาศเหตุการณ์ระดับ SEV”


เขายังเขียนบทความ X ที่ดีมาก เมื่ออัตราการเข้าถึงแคชสูง จะเกิดสิ่งต่อไปนี้พร้อมกันสี่ประการ: Claude Code รู้สึกเร็วขึ้น ต้นทุนบริการของ Anthropic ลดลง วงเงินการสมัครของคุณดูเหมือนใช้งานได้นานขึ้น และเซสชันการเขียนโค้ดระยะยาวก็เป็นไปได้มากขึ้น


แต่ถ้าอัตราการถูกต้องต่ำมาก ทุกคนจะเสียหาย



ดังนั้น แรงจูงใจของทั้งสองฝ่ายจึงสอดคล้องกัน: Anthropic ต้องการให้อัตราการเข้าถึงแคชของคุณสูงขึ้น และคุณเองก็ต้องการให้อัตราการเข้าถึงแคชสูงขึ้นเช่นกัน สิ่งที่แท้จริงแล้วจะทำให้ประสิทธิภาพลดลง คือนิสัยเล็กๆ น้อยๆ ที่ดูเหมือนไม่สำคัญ แต่กลับทำให้แคชถูกรีเซ็ตโดยไม่รู้ตัว


แคชเติบโตขึ้นอย่างไรในแต่ละรอบการสนทนา?


Cache ใช้การจับคู่คำนำหน้า หรือที่เรียกว่า “prefix matching”


ไม่จำเป็นต้องลึกไปถึงรายละเอียดทางเทคนิคมากนัก คุณแค่ต้องเข้าใจจุดเดียว: หากเนื้อหาที่ผ่านมาในตำแหน่งใดตำแหน่งหนึ่งตรงกับข้อมูลที่ถูกแคชไว้ทั้งหมด Claude สามารถใช้ซ้ำ Token ที่แคชไว้ส่วนนั้นได้


การสนทนาครั้งใหม่ ซึ่งมีลักษณะโดยประมาณดังนี้:



ตามเอกสารของ Claude Code เซสชันใหม่จะทำงานดังนี้:


การสนทนาครั้งแรก: ยังไม่มีแคชใดๆ คำสั่งระบบ บริบทโครงการของคุณ (เช่น CLAUDE.md, memory, กฎเกณฑ์) และข้อความแรกของคุณ จะถูกประมวลผลอีกครั้งทั้งหมด และบันทึกลงในแคช


การสนทนารอบที่สอง: เนื้อหาทั้งหมดในรอบที่หนึ่งได้รับการแคชแล้ว Claude จำเป็นต้องจัดการเฉพาะคำตอบใหม่ของคุณและข้อความถัดไปเท่านั้น ค่าใช้จ่ายในรอบนี้จะต่ำกว่ามาก


การสนทนารอบที่สาม: เหตุผลเดียวกัน การสนทนาที่ผ่านมา vẫnคงอยู่ในแคช จำเป็นต้องประมวลผลเฉพาะการโต้ตอบล่าสุดเท่านั้น


แคชสามารถแบ่งออกเป็นสามชั้นได้:



จากบทความบน X ของ Thariq:


ชั้นระบบ (System layer): รวมถึงคำสั่งพื้นฐาน นิยามเครื่องมือ (read, write, bash, grep, glob) และรูปแบบการส่งออก ชั้นนี้ถูกแคชแบบทั่วโลก


ชั้นโครงการ (Project layer): รวมถึง CLAUDE.md, memory, กฎโครงการ ชั้นนี้จัดเก็บแบบแคชตามโครงการ


ระดับการสนทนา (Conversation): รวมถึงคำตอบและข้อความ ซึ่งจะเพิ่มขึ้นเรื่อยๆ ตามแต่ละรอบการสนทนา


หากมีการเปลี่ยนแปลงใดๆ ที่ระดับระบบหรือระดับโปรเจกต์ระหว่างการสนทนา ข้อมูลทั้งหมดต้องถูกรีแคชใหม่ทั้งหมดตั้งแต่ต้น นี่คือการดำเนินการที่ “แพง” ที่สุด ลองจินตนาการว่า: คุณได้พูดคุยมาถึงข้อความที่ 16 แล้ว แต่ทันใดนั้นระบบคำสั่งเริ่มต้นถูกเปลี่ยน หรือหยุดพักไปหนึ่งชั่วโมง ทุกโทเค็นตั้งแต่ข้อความแรกจะต้องถูกประมวลผลใหม่ทั้งหมด


ความสับสนระหว่าง 1 ชั่วโมงและ 5 นาที


นี่คือจุดที่เข้าใจผิดได้ง่ายที่สุด


เวอร์ชันสมัครใช้งาน Claude Code: TTL ค่าเริ่มต้นคือ 1 ชั่วโมง


Claude API: TTL เริ่มต้นคือ 5 นาที คุณสามารถจ่ายค่าใช้จ่ายเพิ่มเติมเพื่อเพิ่มเป็น 1 ชั่วโมง
Sub-agent ภายใต้แผนใดๆ: ตลอดเวลา 5 นาที

การแชทผ่านเว็บไซต์ Claude.ai: ไม่มีการบันทึกอย่างเป็นทางการ อาจเหมือนกับเวอร์ชันแบบสมัครสมาชิก แต่ฉันยังไม่ได้ยืนยัน


เมื่อไม่กี่เดือนก่อน หลายคนบ่นว่าปริมาณการสมัครใช้งาน Claude หมดเร็วเกินไป ในเวลานั้น มีบางคนคิดว่า Anthropic ได้ลด TTL จาก 1 ชั่วโมงเหลือ 5 นาทีโดยไม่แจ้งให้ผู้ใช้งานทราบ แต่ความจริงไม่ใช่เช่นนั้น TTL ของ Claude Code ยังคงเป็น 1 ชั่วโมง


ปัญหาคือเอกสารของ Claude Code และ API ถูกแยกออกจากกัน แต่ทั้งสองอย่างนี้ต่างกันโดยสิ้นเชิง จึงทำให้เกิดความสับสนมากมาย


หากคุณกำลังรันงาน流 Sub-agent จำนวนมาก หรือใช้ API โดยตรง ตัวเลข 5 นาทีนี้จึงมีความสำคัญ แต่สำหรับผู้ใช้ Claude Code 95% นั้น สิ่งที่ควรให้ความสนใจจริงๆ คือช่วงเวลา 1 ชั่วโมงเท่านั้น


สามนิสัยที่ครอบคลุมผู้ใช้ 95%


สิ่งเหล่านี้คือส่วนที่ฉันคิดว่ามีประโยชน์จริงในการใช้งานประจำวัน


อย่าหยุดนานเกินไป


หากคุณว่างไปมากกว่าหนึ่งชั่วโมง ข้อมูลก่อนหน้าส่วนใหญ่จะหมดอายุในแคชแล้ว ข้อความถัดไปของคุณจะสร้างแคชใหม่ ในกรณีนี้ แทนที่จะพยายามกู้คืนเซสชันเก่าที่ได้ “เย็นลง” แล้ว การเปลี่ยนผ่านอย่างชัดเจนและเริ่มเซสชันใหม่มักจะมีต้นทุนต่ำกว่า


เมื่อสลับงาน ให้เริ่มใหม่ทันที


/s2>/compact หรือ /clear 本来就会ทำลายแคช ดังนั้น不如ใช้จังหวะนี้รีเซ็ตให้จริงจังครั้งเดียว


ฉันสร้างทักษะการส่งต่อเซสชันของตัวเองมาแทน /compact มันจะสรุปสิ่งที่เราได้ทำไปแล้ว ข้อตัดสินใจใดที่ยังค้างอยู่ ไฟล์ใดสำคัญที่สุด และควรดำเนินการต่อจากจุดใดต่อไป จากนั้นฉันจึงรัน /clear แล้ววางสรุปนี้ลงไป เพื่อให้สามารถดำเนินการต่อได้เหมือนไม่มีการหยุดชะงัก


คำสั่ง compact บางครั้งก็ทำงานช้าเช่นกัน ในขณะที่ทักษะ handoff มักเสร็จสิ้นในเวลาไม่เกินหนึ่งนาที


ในแชทของ Claude ให้ใส่เอกสารขนาดใหญ่ไว้ใน Projects ให้มากที่สุด


Claude.ai ไม่มีคำอธิบายอย่างละเอียดจากทางอย่างเป็นทางการเกี่ยวกับกลไกแคช แต่ Projects ดูเหมือนจะใช้การปรับแต่งที่ต่างจากเส้นทางการสนทนาทั่วไป ดังนั้น หากคุณต้องการวางเอกสารขนาดใหญ่ ควรใส่ลงใน Projects แทนการวางลงในบทสนทนาโดยตรง


การดำเนินการใดบ้างที่จะทำลายแคชโดยไม่แจ้งให้ทราบ?


มีบางสิ่งที่จะรีเซ็ตแคชทั้งหมดโดยไม่มีการแจ้งเตือนที่ชัดเจน


สลับโมเดล: เนื่องจากแคชขึ้นอยู่กับการจับคู่เบื้องต้น และแต่ละโมเดลมีแคชของตนเอง เมื่อสลับโมเดล คำขอครั้งถัดไปจะอ่านประวัติทั้งหมดใหม่โดยไม่มีการจับคู่แคช


โหมด «Opus plan»: การตั้งค่านี้จะใช้ Opus ในขั้นตอนการวางแผน และใช้ Sonnet ในขั้นตอนการดำเนินการ ฉันเคยแนะนำมันในวิดีโอเกี่ยวกับการปรับแต่งโทเค็นบางตัว และมีเหตุผลที่ทำเช่นนั้น แต่คุณต้องเข้าใจว่า การสลับแผนทุกครั้ง 本质上 เป็นการเปลี่ยนโมเดล ซึ่งหมายความว่าต้องสร้างแคชใหม่ทั้งหมด ในระยะยาว มันยังช่วยยืดอายุวงจรการสนทนาได้ แต่คุณต้องรู้ว่าเกิดอะไรขึ้นเบื้องหลัง


สามารถแก้ไข CLAUDE.md ระหว่างการสนทนาได้: การแก้ไขนี้จะไม่ใช้งานทันที แต่จะใช้เมื่อรีสตาร์ทครั้งถัดไป ดังนั้นแคชที่กำลังทำงานอยู่ในปัจจุบันจึงไม่ได้รับผลกระทบ


แดชบอร์ดโทเค็นฟรีของฉัน


ภาพหน้าจอที่ฉันแสดงไว้ด้านหน้า มาจากแดชบอร์ดของโทเค็น



https://github.com/nateherkai/token-dashboard


นี่คือรีพอสิทอรี GitHub ที่เรียบง่าย คุณส่งลิงก์ให้ Claude Code เพื่อให้มันปรับใช้บน localhost แบบท้องถิ่น มันจะอ่านบันทึกการสนทนาทั้งหมดของคุณในอดีต แทนที่จะเริ่มนับจากศูนย์ คุณจะเห็นข้อมูลเกี่ยวกับ input, output, cache create และ cache read ของแต่ละวันทันที


อย่างไรก็ตาม มีจุดหนึ่งที่ควรสังเกต: แผงควบคุมนี้นับข้อมูลโทเค็นจากอุปกรณ์ของคุณเอง หากคุณสลับจากคอมพิวเตอร์ตั้งโต๊ะไปยังแล็ปท็อป ตัวเลขอาจไม่ตรงกันทั้งหมด เพราะอุปกรณ์แต่ละเครื่องมีมุมมองการนับของตนเอง


Summary


Prompt caching เป็นสิ่งที่สามารถศึกษาได้อย่างลึกซึ้ง บทความของ Thariq อธิบายครบถ้วนกว่าที่นี่ หากคุณต้องการดูภาพรวมทั้งหมด ควรอ่านให้จบ


แต่คุณไม่จำเป็นต้องเข้าใจทุกรายละเอียดเพื่อให้ได้ประโยชน์จากมัน คุณแค่ต้องเข้าใจ 80/20 ที่สำคัญที่สุด: Token ที่แคชราคาถูกกว่า Token ทั่วไป 10 เท่า; TTL ของ Claude Code คือ 1 ชั่วโมง; การสลับโมเดลจะทำให้แคชเสีย; การส่งต่ออย่างชัดเจนระหว่างงานมักคุ้มค่ากว่าการใช้เซสชันเก่าจนถึงเมื่อมัน “หมดอายุ” แล้วจึงบังคับใช้ต่อ


[原文链接]



คลิกเพื่อเรียนรู้เกี่ยวกับตำแหน่งที่律动BlockBeats กำลังรับสมัคร


ยินดีเข้าร่วมชุมชนอย่างเป็นทางการของ律动 BlockBeats:

กลุ่มสมัครรับข้อมูลบน Telegram: https://t.me/theblockbeats

กลุ่ม Telegram: https://t.me/BlockBeats_App

บัญชีทางการบน Twitter: https://twitter.com/BlockBeatsAsia

แหล่งที่มา:แสดงต้นฉบับ
คำปฏิเสธความรับผิดชอบ: ข้อมูลในหน้านี้อาจได้รับจากบุคคลที่สาม และไม่จำเป็นต้องสะท้อนถึงมุมมองหรือความคิดเห็นของ KuCoin เนื้อหานี้จัดทำขึ้นเพื่อวัตถุประสงค์ในการให้ข้อมูลทั่วไปเท่านั้น โดยไม่มีการรับรองหรือการรับประกัน และจะไม่ถูกตีความว่าเป็นคำแนะนำทางการเงินหรือการลงทุน KuCoin จะไม่รับผิดชอบต่อความผิดพลาดหรือการละเว้นในเนื้อหา หรือผลลัพธ์ใดๆ ที่เกิดจากการใช้ข้อมูลนี้ การลงทุนในสินทรัพย์ดิจิทัลอาจมีความเสี่ยง โปรดประเมินความเสี่ยงของผลิตภัณฑ์และความเสี่ยงที่คุณยอมรับได้อย่างรอบคอบตามสถานการณ์ทางการเงินของคุณเอง โปรดดูข้อมูลเพิ่มเติมได้ที่ข้อกำหนดการใช้งานและเอกสารเปิดเผยข้อมูลความเสี่ยงของเรา