ข้อกำหนดของ MCP ประจำเดือนกรกฎาคม 2026 ได้ตัดสถานะเซสชัน (session state) ทุกรูปแบบออกจากเลเยอร์โปรโตคอล โดยบังคับให้สถานะทั้งหมดต้องไปอยู่ใน context window ของโมเดลแทน การเปลี่ยนแปลงนี้ช่วยให้ MCP server ใดๆ สามารถตอบสนองต่อคำขอใดก็ได้ ซึ่งเป็นการเปิดประตูสู่การปรับใช้แบบ stateless อย่างแท้จริง (pure-stateless deployments) เบื้องหลัง load balancers, serverless functions และ Kubernetes pods ที่รองรับการทำ autoscaling

ทำไมการเปลี่ยนแปลงนี้จึงสำคัญ

นับตั้งแต่การเปิดตัวครั้งแรก MCP (Model Communication Protocol) ได้ใช้การทำ session handshake แบบน้ำหนักเบาและส่วนหัว Mcp-Session-Id เพื่อติดตามสถานะการสนทนาผ่านการเรียก HTTP หลายครั้ง การออกแบบดังกล่าวช่วยให้เซิร์ฟเวอร์สามารถจดจำได้ว่า tool handles, อัตราการสุ่มตัวอย่าง (sampling rates) หรือการตั้งค่าการบันทึกข้อมูล (logging preferences) ใดเป็นของไคลเอนต์รายใด นอกจากนี้ยังรองรับสตรีม Server-Sent Events (SSE) ที่สามารถทำงานต่อจากจุดเดิมได้ (resumable) เพื่อให้เมื่อการเชื่อมต่อขาดหายไป ก็สามารถกลับมาทำงานต่อจากจุดที่ค้างไว้ได้

ข้อกำหนดเมื่อวันที่ 28 กรกฎาคม 2026 ได้ยกเลิกการทำ session handshake ไปโดยสิ้นเชิง ทุกคำขอในขณะนี้จะพกพาเวอร์ชันของโปรโตคอลและความสามารถของไคลเอนต์มาในฟิลด์ _meta และส่วนหัว Mcp-Session-Id ก็จะหายไป ฟิลด์ Roots, sampling และ logging ถูกทำเครื่องหมายว่าล้าสมัย (deprecated) กล่าวโดยสรุปคือ wire protocol ในขณะนี้เป็นแบบ request-response บริสุทธิ์ โดยไม่มี "session" ให้ต้องรักษาไว้อีกต่อไป

สิ่งที่นักพัฒนาต้องทำต่างไปจากเดิม

สถานะไม่ใช่หน้าที่ของเซิร์ฟเวอร์อีกต่อไป แต่จะไปอยู่ใน context window ของโมเดล เมื่อโมเดลต้องการอ้างถึงทรัพยากรภายนอก โมเดลจะต้องได้รับ handle ที่ชัดเจนจากเซิร์ฟเวอร์ซึ่งเป็นส่วนหนึ่งของผลลัพธ์จาก tool และในคำขอถัดไป โมเดลจะส่ง handle นั้นกลับมาในฐานะอาร์กิวเมนต์ และโมเดลจะปฏิบัติกับมันเหมือนกับโทเคนอื่นๆ

เนื่องจาก context window คือบัฟเฟอร์โทเคนที่มีขนาดคงที่ handle แต่ละตัวจึงใช้พื้นที่ซึ่งต้องไปแย่งชิงกับ prompt ของผู้ใช้หรือผลลัพธ์ของโมเดล

ความน่าเชื่อถือ (Reliability) ก็เปลี่ยนไปเช่นกัน หากไม่มีความสามารถในการทำงานต่อจากเดิมของ SSE หรือการส่งข้อความซ้ำ (message redelivery) สตรีมที่หลุดไปจะทำให้คำขอนั้นหายไปทั้งหมด ไคลเอนต์จะต้องเริ่มการเรียกใหม่ตั้งแต่ต้น สำหรับการสอบถามแบบ stateless ที่รวดเร็ว เรื่องนี้อาจยอมรับได้ แต่สำหรับงานดึงข้อมูลที่ใช้เวลานานหรือภารกิจของ agent ที่มีหลายขั้นตอน สิ่งนี้จะบังคับให้นักพัฒนาต้องสร้างตรรกะการลองใหม่ (retry logic) ของตนเอง หรือแบ่งงานออกเป็นส่วนย่อยๆ

Pilot Protocol เข้ามาเติมเต็มช่องว่าง

ความเป็น stateless ของ MCP นั้นเป็นความตั้งใจ แต่ก็ทำให้เลเยอร์เครือข่ายขาดอัตลักษณ์ในระดับการเชื่อมต่อหรือการรับประกันความน่าเชื่อถือ Pilot Protocol ซึ่งทำงานอยู่ภายใต้ MCP จะเข้ามาเติมเต็มช่องว่างนั้น โดย Pilot จะสร้างอัตลักษณ์เพียงครั้งเดียวและใช้การเข้ารหัสเพื่อผูกแพ็กเก็ตเข้ากับผู้ส่ง ในมุมมองของ MCP ไคลเอนต์เพียงแค่ส่งคำขอ HTTP ใหม่ในแต่ละครั้ง ส่วน Pilot จะทำหน้าที่รักษาความเสถียรของการรับส่งข้อมูลพื้นฐานไว้

โปรโตคอลทั้งสองทำงานเสริมกัน: MCP ยังคงความคล่องตัว ราคาถูกต่อการเรียกใช้งาน และขยายขนาดได้ง่ายเบื้องหลัง HTTP endpoint ใดๆ ในขณะที่ Pilot จะจัดการงานหนักที่โปรโตคอลแบบอิงเซสชันแบบดั้งเดิมเคยทำ

ประโยชน์เมื่อขยายขนาด (Benefits at scale)

  • เป็นมิตรต่อ Load-balancer – ไม่จำเป็นต้องมี session affinity; backend ใดๆ ก็สามารถให้บริการคำขอใดก็ได้
  • พร้อมสำหรับ Serverless – ฟังก์ชันสามารถเริ่มทำงานตามความต้องการ จัดการคำขอ และปิดตัวลงได้โดยไม่มีสถานะค้างคา
  • Kubernetes autoscaling – สามารถเพิ่มหรือลบ Pod ได้อย่างอิสระ; control plane ไม่ต้องติดตามแผนผังเซสชัน (session maps) อีกต่อไป

ข้อแลกเปลี่ยน (The trade-offs)

  • ภาระด้านโทเคน (Token overhead) – handle และสถานะอื่นๆ จะเข้ามาครองพื้นที่ใน context window ของโมเดล ซึ่งเป็นการแย่งชิงพื้นที่กับ prompt และ response โดยตรง
  • ความถูกต้องที่ขับเคลื่อนโดยโมเดล – โมเดลต้องส่ง handle กลับมาอย่างถูกต้อง; อาการหลอน (hallucination) หรือการพิมพ์ผิดเพียงเล็กน้อยอาจทำให้เวิร์กโฟลว์พังได้
  • ไม่มีระบบการทำงานต่อจากเดิมในตัว – งานที่ใช้เวลานานต้องใช้วิธีการทำ checkpointing ของตนเอง หรือยอมรับความเสี่ยงในการต้องเริ่มใหม่ทั้งหมด
  • การยกเลิกฟังก์ชันการวินิจฉัย (Deprecation of diagnostics) – ฟิลด์ Roots, sampling และ logging ได้หายไป ทำให้นักพัฒนาสูญเสียเครื่องมือที่สะดวกในการตรวจสอบอย่างละเอียด เว้นแต่จะเพิ่มเข้าไปเองในระดับแอปพลิเคชัน

สรุปสาระสำคัญ

ด้วยการลบสถานะเซสชันออกจาก wire, MCP 2026-07 ได้เปลี่ยนโปรโตคอลให้กลายเป็น HTTP endpoint บริสุทธิ์ที่สามารถวางไว้เบื้องหลัง load balancer, แพลตฟอร์มฟังก์ชัน หรือ edge node ใดๆ ก็ได้ ข้อดีคือความสามารถในการขยายตัว (scalability) ที่ชัดเจน ส่วนข้อเสียคือสถานะต้องไปอยู่ในหน้าต่างโทเคนที่มีจำกัดของโมเดล และความน่าเชื่อถือจะขึ้นอยู่กับไคลเอนต์และเลเยอร์ Pilot ที่อยู่เบื้องหลัง เมื่อ AI agent ขยายขอบเขตการทำงานจากระดับวินาทีไปสู่ระดับชั่วโมง สมดุลระหว่างราคาต่อการเรียกใช้งานที่ถูกลง กับแรงกดดันด้านงบประมาณโทเคน จะเป็นตัวตัดสินว่าโมเดลแบบ stateless นี้จะเป็นชัยชนะที่ยั่งยืนหรือไม่