ShopWithin สร้างระบบ stateless MCP server สำหรับบูติกอิสระ
เจาะลึกระบบ stateless MCP server จาก ShopWithin ที่เปิด 6 เครื่องมือสำหรับ AI AIgents ค้นหาสินค้าจากบูติกอิสระ โดยอ้างอิงข้อมูลจากระบบจริงเมื่อ 27 ก.ย. 2026

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง
- ShopWithin พัฒนา stateless MCP server เปิด 6 เครื่องมือค้นหาสินค้าบูติก
- ทำงานบน Vercel และ React Router โดยไม่มีการเก็บบันทึกเซสชันระหว่างเรียกใช้งาน
- รองรับการส่งข้อมูลทั้งข้อความปกติและ structuredContent สำหรับ ChatGPT widget
ระบบ Model Context Protocol (MCP) server ของ ShopWithin ที่ตั้งอยู่บนเว็บไซต์หลัก เปิดให้บริการเครื่องมือทั้งหมด 6 ชนิด โดยไม่มีฟังก์ชันสำหรับการจองสินค้า การกันสปีด หรือการทำรายการชำระเงินใดๆ ทั้งสิ้น หน้าที่หลักคือการตอบคำถามของ AI agent ที่ต้องการตรวจสอบสินค้าคงเหลือในบูติกอิสระ พร้อมส่งคืนข้อมูลรายละเอียดชิ้นงาน ไซส์ ราคา และลิงก์หน้าสินค้าของแต่ละรายการ ข้อมูลการทดสอบทั้งหมดอ้างอิงจากระบบจริงเมื่อวันที่ 27 กันยายน 2026
สถาปัตยกรรมเบื้องหลังทำงานผ่านเส้นทาง (route) ในแอปพลิเคชัน React Router บนแพลตฟอร์ม Vercel ทุกคำขอแบบ POST จะสร้างอินสแตนซ์ของ McpServer และระบบขนส่งขึ้นมาใหม่แบบสดๆ ตอบกลับหนึ่งข้อความ จากนั้นจะทำลายทั้งสองทิ้งทันที การใช้ระบบขนส่งแบบ Streamable HTTP ช่วยให้เซสชันกลายเป็นทางเลือกเสริม และ SDK มีโหมดไร้สเตต (stateless mode) รองรับรูปแบบนี้พอดี ทำให้ไม่มีความจำเป็นต้องเก็บรักษา session store ไว้ระหว่างการเรียกใช้งานฟังก์ชันแต่ละครั้ง

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง
โมเดลปัญญาประดิษฐ์จะเลือกใช้เครื่องมือจากคำอธิบาย (description) ที่เขียนด้วยภาษาธรรมชาติเสมือนลูกค้านักช้อป การอ้างอิงชิ้นงานจะใช้รูปแบบ boutique_domain รวมกับรหัสสินค้า (id) ช่วยให้ AI สามารถเชื่อมโยงการค้นหาเข้ากับการดึงข้อมูลชิ้นงาน (get_piece) ได้โดยไม่ต้องแกะรหัส URL ซับซ้อน ตัวอย่างเช่น การเรียกใช้งานจริงเพื่อค้นหาสินค้าแบรนด์ MM6 ที่มีราคาต่ำกว่า 300 ดอลลาร์ จากชั้นวางของร้าน WDLT117 ระบบจะแปลงประโยคคำถามผ่านตัวแยกแยะข้อความ (parser) ตัวเดียวกับกล่องค้นหาบนเว็บไซต์ ทำให้คำว่า "under $300" กลายเป็นเพดานราคา และคำว่า "MM6" ยังคงเป็นคีย์เวิร์ดค้นหา
การออกแบบสถาปัตยกรรมแบบไร้สเตต (stateless) สำหรับ MCP server ถือเป็นแนวทางสำคัญในการลดภาระการจัดการหน่วยความจำของเซิร์ฟเวอร์ เมื่อจำนวนผู้ใช้งานและ AI agents เพิ่มสูงขึ้น การไม่เก็บบันทึกสถานะเซสชันช่วยให้ระบบสามารถขยายขนาด (scale) ได้อย่างไร้ขีดจำกัดบนโครงสร้างแบบ serverless อย่าง Vercel อย่างไรก็ตาม การไม่มีเซสชันก็แลกมาด้วยข้อจำกัด เช่น ระบบไม่สามารถจดจำชื่อไคลเอนต์ที่เรียกใช้งานได้ ทำให้บันทึกสถิติ (analytics) แสดงผลเป็นค่าไม่ทราบชื่อ (unknown) ทั้งหมด
การแสดงผลคำตอบจะถูกแบ่งออกเป็นสองส่วนอย่างชัดเจน ส่วนแรกคือเนื้อหาข้อความ (content text) ที่จัดรูปแบบบรรทัดละหนึ่งชิ้นงานเพื่อให้ AI สามารถคัดลอกไปใช้ได้ทั้งประโยค ประกอบด้วยดีไซเนอร์ ราคาพร้อมสกุลเงิน ไซส์ที่มีในสต็อก ร้านค้า และ URL ส่วนที่สองคือ structuredContent ที่ผ่านการตรวจสอบประเภทข้อมูลด้วย zod outputSchema ซึ่งเป็นรูปแบบที่วิดเจ็ตของ ChatGPT อ่านค่า ตัวอย่างเช่น ข้อมูลรองเท้าบูทในระบบระบุราคาไว้ที่ 249 ดอลลาร์แคนาดา (CAD) มีจำนวนสินค้าคงเหลือ 1 หน่วย ขณะที่เงื่อนไขสภาพสินค้าส่งค่ากลับมาเป็นค่าว่าง (null) เนื่องจากข้อมูลสินค้าไม่ได้ระบุไว้ และระบบเลือกที่จะไม่คาดเดาขึ้นมาเอง
ที่มา: Dev.to
พบข้อมูลผิดพลาดในบทความนี้? แจ้งปัญหาบทความนี้
ความคิดเห็น
แสดงความคิดเห็น