MCP vs API: ทำไม API แบบดั้งเดิมถึงใช้ไม่ได้ผลกับ AI Agents
API แบบดั้งเดิมกำลังทำให้ AI agents ของคุณทำงานช้าลงและมีค่าใช้จ่ายสูงขึ้น
ผมใช้เวลาหลายปีในการสร้างเว็บแอปด้วย REST และ GraphQL ผมรู้วิธีจัดการ state และการปรับแต่ง payload ให้เหมาะสม แต่การสร้างสิ่งต่างๆ เพื่อ AI agents นั้นแตกต่างออกไป
บ่อยครั้งที่เราปฏิบัติกับ LLM เหมือนเป็นนักพัฒนาที่เป็นมนุษย์ เราให้ API endpoint แก่พวกเขาและคาดหวังว่าพวกเขาจะทำงานได้ ซึ่งนี่คือความผิดพลาด
Model Context Protocol (MCP) เข้ามาเปลี่ยนสิ่งนี้ มันคือมาตรฐานเปิดสำหรับการเชื่อมต่อ AI หากคุณต้องเขียน glue code ขึ้นมาเองเพื่อเชื่อมต่อ LLM เข้ากับเครื่องมือของคุณ คุณกำลังสร้างหนี้ทางเทคนิค (technical debt)
ทำไม API แบบดั้งเดิมถึงใช้ไม่ได้ผลกับ AI agents:
- ปัญหา N x M: หากคุณมี 5 AI frameworks และ 5 เครื่องมือระดับองค์กร คุณต้องเขียนตัวเชื่อมต่อ (connectors) แบบกำหนดเองถึง 25 ตัว MCP จะเปลี่ยนสิ่งนี้ให้เป็นสถาปัตยกรรมแบบ N + M โดยที่ทุกเครื่องมือจะใช้ MCP server เพียงตัวเดียว และทุก agent จะใช้ MCP client เพียงตัวเดียว
- Static vs Dynamic: REST APIs จำเป็นต้องมีการกำหนด path แบบ hardcoded แต่ AI agents จำเป็นต้องค้นหาเครื่องมือได้ในขณะทำงาน (runtime) MCP ช่วยให้ agent สามารถมองเห็นความสามารถที่มีอยู่ได้ทันทีผ่านการค้นหาแบบ dynamic (dynamic discovery)
- การสิ้นเปลือง Token: API แบบดั้งเดิมมักจะส่งคืน JSON payload ขนาดใหญ่ ซึ่ง payload ที่มีขนาดใหญ่จะทำให้สิ้นเปลืองงบประมาณและเพิ่มความหน่วง (latency) นอกจากนี้ยังทำให้เกิดปัญหา context rot ที่โมเดลจะสูญเสียการโฟกัส MCP จะส่งคืนข้อมูลที่ได้รับการปรับแต่งให้เหมาะสมกับหน้าต่างบริบท (context window) ของ LLM
- การไม่มีสถานะ (Statelessness): REST เป็นแบบ stateless แต่ AI agents ทำงานในลูปของการคิดและการกระทำที่ต่อเนื่อง MCP ใช้ stateful sessions เพื่อรักษาบริบท (context) ให้คงอยู่โดยไม่ต้องส่งข้อมูลขนาดใหญ่ซ้ำไปซ้ำมา
MCP ประกอบด้วย 3 ส่วนหลัก:
- Tools: การกระทำที่โมเดลดำเนินการ เช่น การรัน SQL query
- Resources: ข้อมูลแบบอ่านอย่างเดียว (read-only) เช่น ไฟล์ log หรือเอกสารต่างๆ
- Prompts: เทมเพลตที่ช่วยนำทางการใช้เหตุผลของโมเดล
MCP ไม่ได้เข้ามาแทนที่ฐานข้อมูลหรือ backend ของคุณ MCP server ของคุณจะยังคงเรียกใช้ API เดิมที่มีอยู่ MCP เข้ามาแทนที่โค้ดที่เปราะบางที่คุณต้องเขียนขึ้นเพื่อเชื่อมต่อบริการเหล่านั้นเข้ากับ LLM
เลิกเขียนฟังก์ชันแบบกำหนดเองเพื่อทำ stringify JSON สำหรับการเรียกใช้ LLM ของคุณได้แล้ว และเริ่มสร้างสถาปัตยกรรมที่รองรับการขยายตัวสำหรับอนาคตของยุค agentic
คุณมีความคิดเห็นอย่างไร? คุณเริ่มใช้ MCP กันหรือยัง หรือยังคงใช้การเรียกฟังก์ชันแบบกำหนดเอง (custom function calling) อยู่?
Source: https://dev.to/chaudharidevam/mcp-vs-api-why-traditional-apis-are-failing-ai-agents-28m8
Optional learning community: https://t.me/GyaanSetuAi
