MCP tools ไม่ได้ช่วยลด แต่กลับเพิ่มค่าใช้จ่าย input-token ของ Claude Code; ทุกครั้งที่คุณส่ง prompt ผ่าน cleaning tool จะทำให้เสีย token มากขึ้น และส่งผลให้เสียเงินมากขึ้นด้วย นักพัฒนาที่พยายามลดค่าใช้จ่าย API มักจะหันไปใช้เครื่องมือทำความสะอาดที่ใช้ MCP โดยเข้าใจผิดว่ามันจะช่วยย่อขนาด prompt ก่อนที่โมเดลจะมองเห็น

ทำไมการนับจำนวน token ถึงสำคัญ

Claude Code จะเริ่มนับ token ทันทีที่ข้อความของคุณเข้าสู่ context window ของโมเดล โมเดลจะเริ่มอ่าน prompt ดิบ จากนั้นจึงตัดสินใจว่าจะเรียกใช้ MCP tool หรือไม่ เครื่องมือทำความสะอาด (cleaning tool) จะทำงาน หลังจาก ที่ข้อความต้นฉบับได้กลายเป็นส่วนหนึ่งของการสนทนาไปแล้ว ดังนั้นตัวนับจึงได้บันทึก token เหล่านั้นไปเรียบร้อยแล้ว

ขั้นตอนทั่วไปจะเป็นดังนี้:

  1. prompt ดิบของคุณถูกส่งไป – ตัวนับ token เริ่มทำงาน
  2. โมเดลอ่าน prompt และตัดสินใจเรียกใช้ cleaning tool
  3. เครื่องมือส่งคืนเวอร์ชันที่ถูกตัดทอนแล้วกลับมา
  4. ตอนนี้ context จะประกอบด้วยสามส่วน: prompt ดั้งเดิม, metadata ของการเรียกใช้ tool, และ prompt ที่ทำความสะอาดแล้ว

คุณจะถูกเรียกเก็บเงินสำหรับทั้งสามส่วนนี้ เวอร์ชันที่ "สะอาด" แล้วไม่ได้เข้ามาแทนที่ของเดิม แต่มันจะวางอยู่คู่กันเท่านั้น

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

MCP tool จะช่วยประหยัด token ก็ต่อเมื่อข้อความดิบนั้นไม่เคยเข้าไปอยู่ใน context หลักของ Claude Code เลย ซึ่งจะเกิดขึ้นในการเรียกใช้งานแบบ downstream เช่น:

  • การสอบถามแบบ Retrieval-augmented generation (RAG) ที่โมเดลส่งต่อไปยัง search engine หรือฐานข้อมูล
  • คำสั่งที่ส่งไปยัง sub-agents ที่ทำงานแยกเป็นอิสระจากการสนทนาหลัก

ในกรณีเหล่านี้ โมเดลจะส่ง payload ที่ทำความสะอาดแล้วไปยังระบบภายนอกโดยตรง ทำให้ข้อความต้นฉบับของผู้ใช้ไม่ถูกนำมานับรวมในจำนวน token หลัก

วิธีลดจำนวน input tokens อย่างแท้จริง

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

  • คีย์ลัดระดับระบบ (System-level hotkeys) – ใน Windows ให้ใช้สคริปต์ AutoHotkey; ใน macOS ให้ใช้ Automator สคริปต์จะเลือกข้อความที่คุณกำลังจะส่ง ส่งต่อไปยัง API ภายนอกเพื่อรับเวอร์ชันที่ทำความสะอาดแล้ว และแทนที่ข้อความใน editor เนื่องจากเวอร์ชันดิบไม่เคยออกจากเครื่องของคุณ จึงมีเพียงเวอร์ชันที่ทำความสะอาดแล้วเท่านั้นที่ถูกส่งไป
  • การทำ CLI piping – รัน Claude Code จาก terminal และประมวลผล prompt ล่วงหน้าด้วย bash filter (เช่น สคริปต์ sed หรือ Python) เพื่อลบ whitespace ที่ไม่จำเป็น, comment, หรือวลีที่ซ้ำซ้อน ผลลัพธ์ที่ผ่านการกรองแล้วคือสิ่งที่จะถูกป้อนให้โมเดล
  • ใช้ MCP สำหรับการเรียกใช้งานแบบ downstream เท่านั้น – สงวนเครื่องมือ MCP ไว้สำหรับขั้นตอน RAG หรือ sub-agent ตามที่กล่าวไว้ข้างต้น ปล่อยให้โมเดลจัดการกับ prompt เริ่มต้นของผู้ใช้โดยตรง และให้เครื่องมือทำความสะอาดทำงานเฉพาะกับ payload ที่ออกจากบทสนทนาหลักเท่านั้น

ข้อผิดพลาดที่พบบ่อยที่ควรหลีกเลี่ยง

  • การทึกทักเอาเองว่า MCP tools จะช่วยตัดทอน prompt ดั้งเดิม – พวกมันจะเพิ่ม token block สำหรับการเรียกใช้ tool และยังคงเก็บข้อความดิบเอาไว้ ซึ่งเป็นการเพิ่มจำนวนรวมให้สูงขึ้น
  • การพึ่งพา Claude Code hooks – Hooks สามารถฉีด context เพิ่มเติมหรือบล็อก prompt ได้ แต่ไม่สามารถเขียนทับข้อความที่อยู่ในบทสนทนาไปแล้วได้
  • การใช้ slash commands พร้อมกับการทำ cleaning แบบ inline – แม้ว่าคำสั่งจะรันสคริปต์ทำความสะอาด แต่ arguments ดิบจะยังคงเป็นส่วนหนึ่งของ command line ที่โมเดลบันทึกไว้ ดังนั้นคุณจึงต้องจ่ายค่า token สำหรับส่วนนั้นด้วย

ตัวนับ token เริ่มทำงานทันทีที่ตัวอักษรของคุณไปถึง API endpoint ของโมเดล อะไรก็ตามที่ทำความสะอาดหลังจากจุดนั้นจะกลายเป็นการเพิ่ม overhead เท่านั้น

สิ่งนี้หมายความว่าอย่างไรสำหรับนักพัฒนา

ราคาของ token จะปรากฏเป็นรายการหนึ่งในใบแจ้งหนี้บริการ AI ส่วนใหญ่ การจ่ายเงินเกินความจำเป็นเพราะ "เครื่องมือทำความสะอาด" เพิ่ม token ที่ซ่อนอยู่ สามารถบั่นทอนเงินที่คุณหวังจะประหยัดได้อย่างรวดเร็ว ควรย้ายขั้นตอนการทำความสะอาดไปไว้ที่ฝั่ง client เพื่อให้จำนวน token แม่นยำและควบคุมงบประมาณได้

สรุปสาระสำคัญ: MCP tools มีประโยชน์สำหรับ payload แบบ downstream แต่ไม่สามารถช่วยตัดทอน token ของ prompt ที่คุณพิมพ์ได้ หากคุณต้องการลดค่าใช้จ่าย token ของ Claude Code อย่างแท้จริง ให้ทำความสะอาดข้อมูลก่อนส่ง หรือจำกัดการทำความสะอาดไว้เฉพาะการเรียกใช้งานที่ไม่ปรากฏใน context หลักเท่านั้น