ทำไมโควตา Claude ถึงหมดไว ทั้งๆ ที่ไม่ได้พิมพ์อะไรเยอะ?
หลายคนที่ใช้งาน Claude Code หรือ AI Coding Agent มักจะเคยเจอปัญหาใช้ทำงานไปได้ไม่เท่าไหร่ ก็เจอข้อความแจ้งเตือนให้หยุดรออีกหลายชั่วโมงเพราะใช้งานถึงขีดจำกัด (Session Limit) ทั้งๆ ที่ไม่ได้สั่งให้ทำโปรเจกต์ใหญ่อะไร และไม่ได้เปิดทิ้งไว้ทั้งวัน
ความจริงที่น่าตกใจคือ ข้อความที่คุณพิมพ์ลงไป (User Prompt) คิดเป็นเพียงแค่ 0.01% ของค่าใช้จ่ายทั้งหมดเท่านั้น! ส่วนอีก 99.99% เกิดจากกลไกการทำงานเบื้องหลังของ Large Language Model (LLM) ที่คุณอาจไม่เคยรู้มาก่อน
โมเดล AI ไม่มีหน่วยความจำถาวร (Stateless) ทุกครั้งที่คุณกด Enter ตัวระบบจะต้องรวบรวมประวัติการสนทนาทั้งหมดตั้งแต่ข้อความแรก คำตอบของ AI และไฟล์ทั้งหมดที่เคยอ่าน ส่งกลับเข้าไปใหม่ทั้งหมด ข้อความใน Turn ที่ 20 จึงไม่ใช่แค่สิ่งที่คุณพิมพ์ล่าสุด แต่คือการจ่ายเงินซ้ำให้กับประวัติเก่าทั้งหมดซ้ำแล้วซ้ำเล่า
วิธีตรวจสอบ Audit การใช้ Token ใน Setup ของคุณเอง
เนื่องจาก Setup และ Workflow ของ แต่ละคนไม่เหมือนกัน คุณสามารถใช้ Prompt สำหรับ Audit สภาพแวดล้อมการทำงานของคุณใน Claude Code เพื่อดูว่าจุดไหนที่ดึง Token ไปมากที่สุด:
Audit my current Claude Code configuration and context setup.
Check context breakdown, tool deferral status, memory file sizes, cache hit ratios, and any scheduled background tasks.
Identify the biggest token sinks and suggest priority fixes.Prompt นี้จะทำการตรวจสอบ Context Breakdown, Tool Deferral, ขนาด Memory Files, Cache Hit Ratio และ Scheduled Tasks เพื่อระบุว่าส่วนใดสูญเสีย Token มากที่สุด
เปิด 7 วิธีแก้ไขที่ช่วยลดการใช้ Token อย่างเห็นผลจริง
1. ใช้คำสั่ง /clear เมื่อเริ่มงานใหม่ (ประหยัดได้สูงสุด)
นี่คือวิธีที่ทรงพลังที่สุดและไม่มีค่าใช้จ่าย เมื่อคุณทำภารกิจหนึ่งเสร็จแล้วกำลังจะเริ่มหัวข้อใหม่ ห้ามคุยต่อใน Thread เดิมเด็ดขาด ประวัติการคุยเดิมไม่ได้นั่งอยู่เฉยๆ แต่จะถูกส่งซ้ำไปพร้อมกับทุกข้อความใหม่ที่คุณพิมพ์
การพิมพ์ /clear จะล้างประวัติสนทนาใน Context กลับสู่ 0% ทันที ซึ่งช่วยลดการอ่านประวัติซ้ำ (Read History) ที่เป็นต้นเหตุของค่าใช้จ่ายสูงถึง 96%
/rename เพื่อตั้งชื่อ Session ไว้ก่อน แล้วค่อยสั่ง /clear หากวันไหนจำเป็นต้องกลับมาดูงานเดิม สามารถใช้ /resume เรียก Session นั้นกลับมาได้เสมอ2. ระวังการเปลี่ยน Model หรือการตั้งค่ากลาง Session (กับดักราคามหาศาล)
เมื่อโควตาเริ่มลดลง หลายคนมักจะกด /model เพื่อเปลี่ยนจาก Opus ไปเป็น Sonnet หรือเปิด Fast Mode เพราะคิดว่าจะช่วยประหยัดเงิน แต่นี่คือสิ่งที่ทำให้ค่าใช้จ่ายแพงขึ้นทันที!
ระบบของ Anthropic ใช้ Prompt Caching ซึ่งคิดราคาการอ่าน Cache เพียง 1/10 ของราคาปกติ แต่ตัวแปรสำคัญคือ ชื่อโมเดลคือส่วนหนึ่งของ Cache Key หากคุณเปลี่ยนโมเดล หรือเปลี่ยน Effort Level ระบบจะไม่สามารถใช้ Cache เดิมได้ และต้องประมวลผล Context ทั้งหมด (เช่น 200,000 tokens) ในราคาเต็มทันที ส่งผลให้ Turn เดียวราคาพุ่งจาก $0.10 เป็น $1.00 (แพงขึ้น 10 เท่า)
| การกระทำที่ทำลาย Cache (ห้ามทำกลาง Session) | การกระทำที่ปลอดภัยต่อ Cache (ทำได้) |
|---|---|
| เปลี่ยนโมเดล (/model) | แก้ไขไฟล์ใน Repository |
| เปลี่ยนระดับ Effort Level / Fast Mode | แก้ไข Memory File (CLAUDE.md) |
| เชื่อมต่อ / ตัดการเชื่อมต่อ MCP Server | เปลี่ยน Output Style / Permission Mode |
| การสั่ง Compact Context | ใช้ Skills, Commands, Recaps, Rewind |
| อัปเกรด Claude Code แล้ว Resume งานเดิม | การเรียกใช้ Sub-agent |
3. กรอง Output จาก Command Line ก่อนส่งให้ AI
เวลาสั่งให้ Claude Code ทำคำสั่งอย่าง npm install remotion ระบบอาจคืนค่าข้อความกลับมามากกว่า 800 บรรทัด (ชื่อแพ็กเกจ, เวอร์ชัน, Warning, ข้อมูลบริจาค) ซึ่งคุณไม่ได้อ่าน แต่ Claude ต้องอ่านทั้งหมด และข้อความ 800 บรรทัดนี้จะถูกวนส่งซ้ำไปทุกๆ Turn
วิธีแก้: ให้ Claude สร้าง Script ตัวกรอง (Output Filter) เล็กๆ คั่นกลางระหว่าง Agent กับ Command Tool เพื่อตัดทอนข้อความให้เหลือเฉพาะผลลัพธ์ที่จำเป็น จากหลักหมื่น Token จะเหลือเพียงหลักร้อย Token เท่านั้น
4. ปิด MCP Tools ที่ไม่ได้ใช้งาน
การเชื่อมต่อ Tools เช่น GitHub, Slack หรือ Notion เข้ากับระบบ ทุกๆ Tool จะมาพร้อมกับคู่มือการใช้งาน (Instruction Manual) เช่น GitHub ใช้ไปประมาณ 26,000 tokens และ Slack ใช้ไป 21,000 tokens ซึ่งจะถูกโหลดเข้า Context ตั้งแต่ยังไม่ได้พิมพ์ข้อความแรก
/context หากเห็นคำว่า deferred แสดงว่าระบบใช้ฟีเจอร์ใหม่ที่โหลดคู่มือเฉพาะตอนเรียกใช้เท่านั้น5. ใช้ Sub-Agents อย่างมีกลยุทธ์
Sub-Agent ไม่ได้ช่วยลด Token โดยตรง แต่เป็นการย้าย Token ไปประมวลผลแยกต่างหาก Sub-Agent จะโหลด System Prompt และ Tools ของตัวเอง (อาจใช้ไป 9,800 tokens) เพื่อสรุปเนื้อหากลับมาให้ Main Context เพียง 420 tokens
Sub-Agent จะคุ้มค่าก็ต่อเมื่อ:
- งานนั้นมีข้อมูลขาเข้าหรือ Output ปริมาณมาก
- คุณไม่จำเป็นต้องใช้รายละเอียดเชิงลึกนั้นอีกใน Main Session
- Session หลักยังต้องดำเนินต่ออีกหลาย Turn
6. เลือกรุ่น โมเดลให้เหมาะสมตามประเภทงาน (Per-Skill Model)
งานเล็กๆ เช่น การเปลี่ยนชื่อไฟล์ การเขียน Commit Message หรือการเรียงลำดับข้อมูล ควรตั้งค่าให้ใช้โมเดลรุ่นเล็กอย่าง Haiku โดยตรงผ่านการตั้งค่าระดับ Skill หรือ Sub-Agent เพื่อไม่ต้องรันด้วยโมเดลใหญ่อย่าง Opus หรือ Sonnet
7. ระวังกับดัก Scheduled Tasks ในช่วงเวลาที่คุณนอนหลับ
การตั้งค่าให้ Task ทำงานอัตโนมัติตามช่วงเวลา (Scheduled Tasks) เป็นตัวการใหญ่ที่ทำให้ค่าบริการพุ่งสูง เพราะทุกครั้งที่ Task ทำงาน มันจะส่ง Context ทั้งหมดไปประมวลผล
ยิ่งไปกว่านั้น Prompt Cache มีอายุเพียง 1 ชั่วโมง หากคุณตั้ง Scheduled Task ให้รันทุกๆ 2 ชั่วโมง ทุกครั้งที่รันจะหลุดจาก Cache (Cache Miss) และต้องจ่ายราคาเต็ม 100% ตลอดเวลา ในทางกลับกัน การตั้งรันทุกๆ 45 นาที อาจมีราคาถูกกว่าเพราะสามารถดึงข้อมูลจาก Cache ได้อย่างต่อเนื่อง
⚡ สาระสำคัญที่ต้องจดจำ (และสิ่งที่เข้าใจผิด)
- การเขียน Prompt ให้สั้นลง ไม่ได้ช่วยประหยัดเงิน: เพราะข้อความที่คุณพิมพ์คิดเป็นแค่ 0.01% ของค่าใช้จ่าย การเขียน Prompt ให้ชัดเจนตั้งแต่แรกช่วยลดการอ่านไฟล์ผิดและแก้คอมมิตซ้ำได้ดีกว่า
- การสั่ง Compact ไม่ใช่การประหยัด Token: การสั่ง Compact คือการให้ AI อ่านประวัติทั้งหมดแล้วย่อความใหม่ ซึ่งต้องเสียค่าส่ง Context ทั้งหมดอีก 1 รอบ แถมยังทำลาย Cache เดิมทิ้งด้วย หากต้องการเริ่มใหม่แบบประหยัด ให้ใช้
/clearหรือหากต้องการถอยหลังไม่กี่ Turn ให้ใช้/rewind - ล้าง Context เมื่อเปลี่ยนงาน: พิมพ์
/clearเสมอเมื่อเริ่ม Task ใหม่ - ปรับตั้งค่าโมเดลให้เสร็จก่อนเริ่มคุย: ห้ามเปลี่ยนโมเดลกลางทางเพื่อป้องกัน Cache หลุด
ข้อเข้าใจผิดยอดฮิตที่ทำให้เสีย Tokens โดยไม่รู้ตัว
ผู้ใช้งานหลายคนพยายามหาวิธีประหยัด Tokens แต่กลับใช้วิธีการที่ส่งผลตรงกันข้าม ต่อไปนี้คือข้อเท็จจริงและเทคนิคที่ถูกต้องในการจัดการ Context Window:
1. การใช้คำสั่งย่อความ (Compacting / Summarizing)
หลายคนเข้าใจผิดว่าการสั่งให้ AI สรุปเนื้อหาการสนทนา (Compacting) ช่วยประหยัดเงิน แต่ในความเป็นจริง การสั่งให้ทำแบบนั้น AI จะต้องส่งประวัติการสนทนาทั้งหมดกลับไปใหม่อีกรอบเพื่ออ่านและสรุป ทำให้ข้อความนั้นกลายเป็นข้อความที่สิ้นเปลืองที่สุดใน Session นอกเหนือจากนั้น มันยังทำให้ระบบ Cache ถูกล้าง (Wipe) ออกไปโดยตั้งใจ เนื่องจากประวัติเดิมที่ถูกสรุปไปแล้วไม่มีอยู่อีกต่อไป
หากต้องการย้อนกลับไปเพียงไม่กี่ขั้นตอน ให้ใช้คำสั่ง
/rewind แทน เพราะคำสั่งนี้จะพาคุณย้อนกลับไปในจุดที่ Cache รู้จักและบันทึกไว้อยู่แล้ว ทำให้ Agent ไม่ต้องอ่านข้อมูลทั้งหมดใหม่อีกรอบ2. การแคปหน้าจอ (Screenshot) ข้อความเพื่อส่งให้ AI
การส่งภาพถ่ายหน้าจอไม่ได้ถูกกว่าการส่งข้อความตัวอักษร ตัวอย่างเช่น ในโมเดล Opus การส่ง ภาพ Screenshot หน้าจอปกติ 1 ภาพ มีต้นทุนสูงถึงประมาณ 2,700 tokens และหากเป็นภาพความละเอียดระดับ 4K อาจสูงถึงเกือบ 5,000 tokens ซึ่งนั่นเทียบเท่ากับข้อความมหาศาล
- ส่ง Text ดีกว่าเสมอ: มีราคาถูกกว่ามาก และ Agent สามารถแก้ไข หรือปรับแต่งข้อความ (Edit) ได้โดยตรง ในขณะที่ไม่สามารถแก้ไขข้อความในรูปภาพได้
3. การประมวลผลไฟล์ PDF
ทุกๆ หน้าของไฟล์ PDF มีต้นทุนประมาณ 1,500 ถึง 3,000 tokens เฉพาะสำหรับตัวอักษรในหน้านั้นๆ แต่สิ่งที่เกิดขึ้นคือ Agent จะทำการสร้างภาพถ่ายของหน้านั้นเพิ่มเติมด้วย ทำให้คุณต้องจ่ายค่า Tokens สองเด้ง (ซ้ำซ้อนทั้งแบบ Text และ Image) สำหรับทุกๆ หน้า
4 เครื่องมือสำคัญใน Terminal สำหรับตรวจสอบ Token Usage
ใน Terminal ของคุณมีคำสั่งและเครื่องมือมอนิเตอร์ที่ช่วยควบคุมการใช้ Tokens อยู่แล้ว ดังนี้:
คำสั่งที่สำคัญที่สุดและควรใช้บ่อยที่สุด ใช้สำหรับแสดงรายการข้อมูลใน Context Window ปัจจุบันแบบบรรทัดต่อบรรทัด ทำให้เห็นชัดเจนว่าไฟล์ ข้อมูล หรือ Tool ใดกำลังกินพื้นที่ใน Context ของคุณอยู่
เครื่องมือตรวจสอบว่าคุณใช้ โควตา/Plan ไปเท่าไหร่แล้ว โดยระบุลึกลงไปถึงชื่อ Skill, เครื่องมือ (Tools) หรือ Agent ตัวเฉพาะเจาะจงที่เป็นตัวการกิน Tokens หากมีกระบวนการใดแอบทำงานล่วงเวลา คุณจะพบตัวการได้จากคำสั่งนี้
แสดงค่าใช้จ่ายที่เกิดขึ้นจริงใน Session นั้นๆ พร้อมวิเคราะห์สัดส่วนระหว่าง Tokens ที่เสียไปจากการให้ Agent อ่านประวัติเก่าซ้ำ (Re-reading History) กับ Tokens ที่ใช้ในการ ทำงานใหม่จริง (New Work)
หน้าจอมอนิเตอร์บริเวณมุมจอของ Claude Code การเห็นตัวเลขค่าใช้จ่ายขยับแบบ Real-time จะช่วยเตือนสติและปรับเปลี่ยนพฤติกรรมผู้ใช้งานได้ดีกว่ากฎเกณฑ์ใดๆ
การวิเคราะห์ข้อมูลย้อนหลังและการสืบค้น Session Logs
ทุกการทำงานที่เราเคยรันไว้จะถูกบันทึกไว้ใน Folder Log บนเครื่องคอมพิวเตอร์ของคุณ โดยการตอบกลับทุกครั้งมีการบันทึกไว้หมดว่ามีค่าใช้จ่ายเกิดขึ้นเท่าไร คุณสามารถสั่งให้ Sub-agent เข้าไปอ่านและประมวลผลวิเคราะห์ออกมาเป็นเปอร์เซ็นต์ความสูญเสีย Tokens ของคุณเองได้
⚡ สาระสำคัญที่ต้องจดจำเพื่อการประหยัด Tokens
- ล้างหน้าจอ (/clear) ระหว่างงานเสมอ: การล้างหน้าจอไม่มีค่าใช้จ่าย และช่วยรีเซ็ตฐานคำนวณ Context ให้กลับมาที่ศูนย์
- เลือกโมเดลและค่า Effort ตั้งแต่แรกแล้วคงไว้: ห้ามสลับโมเดลหรือปรับระดับ Effort ไปมาระหว่างงาน เพราะการพยายามประหยัดกลางทางจะกลายเป็นขั้นตอนที่แพงที่สุด
- กรอง Tool Output ก่อนส่งเข้า Context: ตัดการเชื่อมต่อเครื่องมือที่ไม่เคยใช้งาน และตรวจสอบให้แน่ใจว่า Deferred Context ยังทำงานปกติ
- มอบหมายงานให้ Sub-Agent แต่เนิ่นๆ: ควรแบ่งงาน (Delegate) ตั้งแต่ช่วงเริ่มต้น Session ที่ต้องทำงานยาวนาน ไม่ใช่ไปสั่งตอนที่ Context ใกล้จะเต็ม
- ตรวจสอบ Scheduled Tasks (Cron Jobs): ตรวจสอบงานที่ตั้งเวลาทำงานอัตโนมัติในตอนกลางคืนว่ามีการแอบใช้ Tokens โดยไม่จำเป็นหรือไม่
- หมั่นตรวจสอบเป็นประจำ (Token Usage Audit): รัน Audit อย่างน้อยสัปดาห์ละครั้ง หรือเมื่อรู้สึกว่าอัตราการใช้ Tokens สูงผิดปกติ เนื่องจากระบบมักเกิดการ Drift จากการติดตั้ง Plugin หรือเพิ่ม Server ใหม่ๆ