ความลับอันดำมืดของ MCP: เอเจนต์ของคุณกำลังเผาทิ้งโทเคน
AI agent ของคุณต้องจ่ายภาษีแฝงทุกครั้งที่เรียกใช้งาน MCP server ภาษีนี้ไม่ได้จ่ายเป็นดอลลาร์ แต่จ่ายเป็นโทเคน
หากคุณรันเอเจนต์ในสเกลใหญ่ ค่าใช้จ่ายนี้จะเพิ่มขึ้นอย่างรวดเร็ว ผมได้ติดตามการใช้งานโทเคนของตัวเองและพบว่ามันพุ่งสูงขึ้นอย่างมาก ปัญหานี้ไม่ใช่เรื่องการใช้เหตุผลของโมเดล (model reasoning) แต่เป็นเรื่องของ context overhead
เมื่อคุณเชื่อมต่อเอเจนต์เข้ากับ MCP server ตัว server จะส่งคำจำกัดความของเครื่องมือ (tool definitions) เข้าไปใน system prompt ซึ่งรวมถึงพารามิเตอร์และคำอธิบายทั้งหมด
หากคุณใช้ MCP server 5 ตัว โดยแต่ละตัวมี 20 เครื่องมือ คุณจะเพิ่มโทเคนเข้าไปถึง 15,000 โทเคนในทุกๆ turn ซึ่งสิ่งนี้เกิดขึ้นตั้งแต่ก่อนที่โมเดลจะเริ่มตอบด้วยซ้ำ
นี่คือข้อมูลจากการทดสอบการสนทนาจำนวน 10 turn:
• ไม่ใช้ MCP: 2,400 โทเคนต่อ turn • 3 MCP servers: 18,700 โทเคนต่อ turn • 5 MCP servers: 31,200 โทเคนต่อ turn
ด้วยราคาปัจจุบัน ทีมที่รันการสนทนา 50 ครั้งต่อวันด้วย 5 servers อาจต้องเสียเงินถึง $23,400 ต่อเดือนสำหรับค่า MCP overhead เพียงอย่างเดียว
สิ่งนี้ทำให้เกิดปัญหาหลัก 2 ประการ:
- คุณภาพลดลง เมื่อ tool schemas กินพื้นที่ไปถึง 40% ของ context window โมเดลจะมีพื้นที่เหลือสำหรับประวัติการสนทนาน้อยลง โมเดลจะเริ่มลืมสิ่งต่างๆ เพราะพื้นที่เต็ม
- ค่าใช้จ่ายคงที่ คุณต้องจ่ายราคาเต็มสำหรับ system prompts เหล่านี้ในทุกๆ turn
นี่คือ 3 วิธีในการแก้ไขปัญหานี้:
ใช้ Gateway อย่าโหลดคำจำกัดความของเครื่องมือทั้งหมดพร้อมกัน ให้ใช้ gateway เพื่อส่งเฉพาะเครื่องมือที่จำเป็นสำหรับงานปัจจุบันเท่านั้น วิธีนี้สามารถลด overhead จาก 8,000 โทเคน เหลือเพียง 400 โทเคนต่อการเรียกใช้งาน
ใช้ Intent Classifier เริ่มต้นด้วยการเรียกใช้โมเดลราคาถูกเพื่อตัดสินใจว่า server ไหนที่เกี่ยวข้อง ค่าใช้จ่ายเพียงเล็กน้อยสำหรับ classifier สามารถลด MCP overhead ของคุณได้ถึง 60% ถึง 80%
บีบอัด Schemas ของคุณ MCP schemas ใช้คำเยอะมาก ให้ตัดคำอธิบายเหลือเพียงคำนามที่จำเป็น และลบฟิลด์ตัวอย่างออก ผมพบว่า schema ที่เคยใช้ 400 โทเคน สามารถทำงานได้อย่างสมบูรณ์แบบที่ 120 โทเคน หากคุณทำให้ข้อความเรียบง่ายขึ้น
เลิกมองว่า context เป็นทรัพยากรที่ไม่มีขีดจำกัด Context budget คือโครงสร้างพื้นฐาน (infrastructure) จงบริหารจัดการมันเหมือนกับต้นทุนจริงๆ
คุณจัดการกับ MCP overhead ในเอเจนต์ที่ใช้งานจริง (production agents) อย่างไร? บอกผมในคอมเมนต์ได้เลย
Optional learning community: https://t.me/GyaanSetuAi