Claude Code ส่ง 33,000 โทเคนก่อนอ่านคำสั่งแรกของคุณ — วัดจริงที่ขอบ API เทียบกับ OpenCode ที่ 7,000
รายงานเชิงเทคนิคชิ้นหนึ่งจากบล็อก Systima (เผยแพร่ 12 กรกฎาคม) ขึ้นอันดับต้น ๆ ของ Hacker News ด้วยข้อค้นพบที่ทำให้ผู้ใช้ AI coding agent สะดุด: Claude Code ส่งข้อมูลราว 33,000 โทเคนไปยังโมเดลก่อนที่ผู้ใช้จะพิมพ์คำสั่งแรกด้วยซ้ำ ขณะที่ OpenCode (coding agent โอเพนซอร์สที่เราเคยรายงานไปเมื่อ 21 มิ.ย.) ส่งเพียงราว 7,000 โทเคน — ต่างกันประมาณ 4.7 เท่า บน Claude Sonnet 4.5 และแคบลงเหลือ ~3.3 เท่าบน Claude Fable 5
ตัวเลขนี้ไม่ใช่การประมาณ แต่มาจากการวัดจริง และมันเปิดประเด็นที่นักพัฒนาควรเข้าใจ ทั้งเรื่อง ต้นทุน, หน้าต่างบริบท (context window) ที่ถูกกินไป และเรื่องที่รายงานต้นทางพูดถึงน้อยไป — prompt caching
วัดที่ขอบ API ไม่ใช่เดา
จุดแข็งของรายงานคือวิธีวัด ทีมงานวาง proxy สำหรับ logging ไว้ระหว่างตัว harness (Claude Code / OpenCode) กับปลายทาง API ของโมเดล แล้วเก็บ payload JSON จริงทั้งก้อน — ทั้ง system blocks, สคีมาเครื่องมือ (tool schemas), ข้อความ และตัวเลข usage ที่ API ส่งกลับ (input, cache write/read, output) การทดสอบทำบนคอนฟิกเปล่า ไม่มี MCP server และไม่มีไฟล์คำสั่งเสริม เพื่อวัดเฉพาะ “ค่าพื้นฐาน” ตัวเลขจึงเป็น ground truth จาก payload จริง ไม่ใช่การนับโดยประมาณ ซึ่งแปลว่าใครก็ตรวจซ้ำได้ด้วยวิธีเดียวกัน
รายละเอียดของ 33,000 โทเคนใน Claude Code:
- สคีมาเครื่องมือ 27 ตัว — ~24,000 โทเคน (ก้อนใหญ่ที่สุด)
- System prompt — ~6,500 โทเคน
- Scaffolding ของข้อความแรก — ~2,000 โทเคน
เทียบกับ OpenCode ~7,000 โทเคน:
- สคีมาเครื่องมือ 10 ตัว — ~4,800 โทเคน
- System prompt — ~2,000 โทเคน
- ไม่มี scaffolding ฉีดเพิ่ม
จะเห็นว่าตัวการหลักคือ จำนวนและขนาดของ tool schemas — Claude Code มาพร้อมเครื่องมือ built-in เยอะกว่า (27 vs 10) และคำอธิบายสคีมาแต่ละตัวยาวกว่า
ตัวเลขดิบ ≠ ต้นทุนต่อเทิร์น: เรื่อง prompt caching
จุดที่ต้องระวังในการตีความ — และรายงานต้นทางแตะไว้น้อย — คือ prompt caching ของ Anthropic โทเคนก้อนใหญ่อย่าง system prompt + tool schemas นั้น คงที่ทุกเทิร์น จึงเข้าเงื่อนไขแคชได้ หลังจากคำขอแรก โทเคนเหล่านี้จะถูกคิดเป็น cache read ซึ่งราคาราว 10% ของราคา input ปกติ ไม่ใช่ราคาเต็มทุกครั้ง Claude Code ใช้ caching อยู่แล้วโดยดีฟอลต์ ดังนั้น “33,000 โทเคน” ไม่ได้แปลว่าคุณจ่ายเต็มราคาทุกข้อความ
แต่ overhead นี้ก็ยังมีต้นทุนจริงอยู่ 3 ทาง: (1) คำขอแรก (และทุกครั้งที่แคชหมดอายุ — TTL ราว 5 นาที) ยังจ่ายราคาเต็มเพื่อเขียนแคช, (2) cache read ไม่ฟรี ยังคิดเงินราว 10%, และ (3) ที่สำคัญที่สุดสำหรับงานจริง — โทเคนเหล่านี้ กินพื้นที่ context window ถาวรทุกเทิร์น เหลือที่ให้โค้ดจริง ประวัติการสนทนา และผลลัพธ์เครื่องมือน้อยลง ในงานที่บริบทยาว ๆ นี่คือข้อจำกัดที่จับต้องได้กว่าค่าเงิน
อีกด้านหนึ่ง ตัวเลขที่มากกว่าไม่ได้แปลว่า “แย่กว่า” เสมอไป — เครื่องมือ 27 ตัวคือ ความสามารถ ที่มากกว่า Claude Code แลก overhead กับความครบเครื่อง ส่วน OpenCode เลือกความเบาและให้ผู้ใช้เติมเครื่องมือผ่าน MCP เอง มันคือ การแลกเปลี่ยนเชิงออกแบบ ไม่ใช่ข้อบกพร่องล้วน ๆ
มุมมอง AI Curator
คุณค่าของรายงานนี้ไม่ได้อยู่ที่การชี้ว่าใคร “ดีกว่า” แต่อยู่ที่มันทำให้สิ่งที่มองไม่เห็น วัดได้ — นักพัฒนาส่วนใหญ่ไม่เคยเห็น payload จริงที่ harness ส่งออกไป การเอา logging proxy มาคั่นแล้วอ่าน JSON ดิบเป็นเทคนิคที่ทุกทีมควรทำกับเครื่องมือ agent ของตัวเอง ไม่ใช่แค่เชื่อตามสเปกบนเว็บ ถ้าคุณจ่ายเงินต่อโทเคน การรู้ว่า overhead ฐานของคุณคือ 7k หรือ 33k เปลี่ยนการคำนวณต้นทุนอย่างมีนัยสำคัญ โดยเฉพาะเมื่อคูณด้วยจำนวนเทิร์นและจำนวนนักพัฒนาในทีม
สำหรับผู้อ่านไทย บทเรียนที่ใช้ได้ทันทีมี 2 ข้อ ข้อแรก: caching คือเพื่อน จัดเวิร์กโฟลว์ให้ส่วนคงที่อยู่ต้น prompt เสมอ — ทั้ง system prompt, tool schemas และไฟล์คำสั่ง (เช่น CLAUDE.md) ควรนิ่ง ไม่แก้บ่อย เพื่อให้แคชทำงานเต็มที่ ทุกครั้งที่คุณแก้ส่วนต้น คุณ “ทุบแคช” และจ่ายเต็มใหม่ ข้อสอง: ตัดเครื่องมือที่ไม่ใช้ทิ้ง — ถ้าใช้ MCP server หลายตัว แต่ละตัวเติม tool schemas เข้าไปในทุกคำขอ การเปิด MCP ครบทุกอันแบบไม่คิดคือการจ่าย overhead (ทั้งเงินและ context) โดยไม่ได้ประโยชน์ ปิดอันที่ไม่ได้ใช้ในงานนั้น ๆ
ท้ายที่สุด เรื่องนี้สะท้อนความตึงเครียดเชิงออกแบบที่ยังไม่มีคำตอบตายตัวในวงการ coding agent: ความครบเครื่อง (เครื่องมือเยอะ, ฉลาดตั้งแต่แกะกล่อง) แลกกับความบาง (overhead ต่ำ, ผู้ใช้ประกอบเอง) ไม่มีฝ่ายไหนถูกเสมอ ขึ้นกับว่าคุณคิดต้นทุนเป็นเงิน เป็น context หรือเป็นเวลาที่ต้องมาตั้งค่าเอง — และตอนนี้ อย่างน้อยเราก็มีตัวเลขจริงมาชั่งน้ำหนักได้แล้ว
แหล่งข่าว
อ่านเพิ่มในหมวด เครื่องมือนักพัฒนา
Betelgeuse รัน Qwen3.8 Flash Next ขนาด 68GB บน RTX 3060 กับแรม 16GB ส่วน Basalt วัดให้เห็นว่าเอนจินที่เร่งด้วยแฟล็กลัดทำให้โมเดลลืมของ
Betelgeuse ฟอร์ก llama.cpp ที่เปิดเมื่อ 31 ต.ค. ดึง expert จาก NVMe เข้า VRAM ตามต้องการ อ้าง 22 tok/s แบบไม่ทิ้ง expert แต่ README เตือนเองว่ายังทดลองและตัวเลขมาจากคนละรอบ วันเดียวกันผู้พัฒนา Basalt เผยผลวัดว่าแฟล็กเร่งความเร็วทำคุณภาพ Q8 ตกไปใกล้ Q2
กฎห้ามโคลนเกมของ Claude Code เริ่มกระทบงานจริง บริษัทรับทำเกมกระดานร้องงานลูกค้าหยุด แต่รายงานหลายชิ้นปนกับตัวกรองไซเบอร์คนละเรื่อง
ต่อจากที่เราพบกฎนี้ในไบนารี Claude Code ผู้ใช้เริ่มรายงานว่างานเชิงพาณิชย์ถูกปฏิเสธ และ Tom's Hardware กับ Mashable หยิบไปรายงาน แต่เมื่อไล่ issue ที่อ้างถึง พบว่าหลายรายการเกิดก่อนกฎจะมา จึงน่าจะเป็นตัวกรองด้านไซเบอร์ ส่วน Anthropic ยังไม่ชี้แจง
Claude Code ส่ง transcript ของ background agent ให้โมเดลทุก ~30 วินาทีเพื่อเขียนสถานะ 3–5 คำ ผู้วัดรายงานกินราว 16% และยังปิดแบบทางการไม่ได้
รายงานอิสระพบว่าฟีเจอร์ agent_summary ของ Claude Code ส่ง transcript เต็มของ background agent ไปถามสถานะทุก ~30 วินาที คิดเป็น 16.4% ของค่าใช้จ่ายในระบบของผู้วัด Issue เปิดมาตั้งแต่ ส.ค. ยังไม่มีสวิตช์ปิดที่รองรับ เราตรวจพบโค้ดนี้ใน 2.1.314 และพบกฎใหม่เรื่องเกมที่ไม่อยู่ใน changelog