เมื่อการใช้งาน AI agents เพิ่มขึ้น ความต้องการโปรโตคอลที่ช่วยให้เกิดมาตรฐาน ความปลอดภัย และสนับสนุนการสร้างนวัตกรรมแบบเปิดก็เพิ่มขึ้นเช่นกัน ในบทเรียนนี้ เราจะพูดถึง 3 โปรโตคอลที่ตอบสนองความต้องการนี้ ได้แก่ Model Context Protocol (MCP), Agent to Agent (A2A) และ Natural Language Web (NLWeb)
ในบทเรียนนี้ เราจะพูดถึง:
• วิธีที่ MCP ช่วยให้ AI Agents เข้าถึงเครื่องมือและข้อมูลภายนอกเพื่อทำงานตามคำขอของผู้ใช้
• วิธีที่ A2A ช่วยให้ AI agents ต่าง ๆ สื่อสารและทำงานร่วมกันได้
• วิธีที่ NLWeb นำอินเทอร์เฟซภาษาธรรมชาติมาสู่เว็บไซต์ใด ๆ เพื่อให้ AI Agents สามารถค้นหาและโต้ตอบกับเนื้อหาได้
• ระบุ วัตถุประสงค์หลักและประโยชน์ของ MCP, A2A และ NLWeb ในบริบทของ AI agents
• อธิบาย วิธีที่แต่ละโปรโตคอลช่วยให้เกิดการสื่อสารและการโต้ตอบระหว่าง LLMs, เครื่องมือ และ agents อื่น ๆ
• เข้าใจ บทบาทเฉพาะของแต่ละโปรโตคอลในการสร้างระบบ agentic ที่ซับซ้อน
Model Context Protocol (MCP) เป็นมาตรฐานเปิดที่ให้วิธีการที่เป็นมาตรฐานสำหรับแอปพลิเคชันในการให้บริบทและเครื่องมือแก่ LLMs สิ่งนี้ช่วยให้เกิด “อะแดปเตอร์สากล” สำหรับแหล่งข้อมูลและเครื่องมือที่ AI Agents สามารถเชื่อมต่อได้ในรูปแบบที่สอดคล้องกัน
มาดูส่วนประกอบของ MCP, ประโยชน์เมื่อเทียบกับการใช้งาน API โดยตรง และตัวอย่างการใช้งาน MCP server โดย AI agents
MCP ทำงานบน สถาปัตยกรรม client-server และมีส่วนประกอบหลักดังนี้:
• Hosts คือแอปพลิเคชัน LLM (เช่น โปรแกรมแก้ไขโค้ดอย่าง VSCode) ที่เริ่มการเชื่อมต่อกับ MCP Server
• Clients คือส่วนประกอบภายในแอปพลิเคชัน host ที่รักษาการเชื่อมต่อแบบหนึ่งต่อหนึ่งกับเซิร์ฟเวอร์
• Servers คือโปรแกรมขนาดเล็กที่เปิดเผยความสามารถเฉพาะ
โปรโตคอลนี้มี 3 primitives หลักที่เป็นความสามารถของ MCP Server:
• Tools: เป็นการกระทำหรือฟังก์ชันที่ AI agent สามารถเรียกใช้เพื่อดำเนินการ ตัวอย่างเช่น บริการพยากรณ์อากาศอาจมีเครื่องมือ “get weather” หรือเซิร์ฟเวอร์ e-commerce อาจมีเครื่องมือ “purchase product” MCP servers โฆษณาชื่อเครื่องมือ คำอธิบาย และ schema ของ input/output ในรายการความสามารถของพวกเขา
• Resources: เป็นข้อมูลหรือเอกสารที่ MCP server สามารถให้ได้ และ clients สามารถดึงข้อมูลได้ตามต้องการ ตัวอย่างเช่น เนื้อหาไฟล์ บันทึกฐานข้อมูล หรือไฟล์ log Resources อาจเป็นข้อความ (เช่น โค้ดหรือ JSON) หรือไบนารี (เช่น รูปภาพหรือ PDFs)
• Prompts: เป็นเทมเพลตที่กำหนดไว้ล่วงหน้าที่ให้คำแนะนำสำหรับ prompts ที่ซับซ้อนมากขึ้น
MCP มีข้อดีสำคัญสำหรับ AI Agents:
• การค้นหาเครื่องมือแบบไดนามิก: Agents สามารถรับรายการเครื่องมือที่มีอยู่จากเซิร์ฟเวอร์พร้อมคำอธิบายของสิ่งที่เครื่องมือทำได้แบบไดนามิก ซึ่งแตกต่างจาก API แบบดั้งเดิมที่มักต้องการการเขียนโค้ดแบบคงที่สำหรับการรวมระบบ หมายความว่าการเปลี่ยนแปลง API ใด ๆ จำเป็นต้องอัปเดตโค้ด MCP เสนอวิธี “รวมครั้งเดียว” ซึ่งนำไปสู่ความสามารถในการปรับตัวที่มากขึ้น
• การทำงานร่วมกันระหว่าง LLMs: MCP ทำงานร่วมกับ LLMs ต่าง ๆ ได้ ทำให้มีความยืดหยุ่นในการเปลี่ยนโมเดลหลักเพื่อประเมินประสิทธิภาพที่ดีกว่า
• ความปลอดภัยที่เป็นมาตรฐาน: MCP มีวิธีการรับรองความถูกต้องที่เป็นมาตรฐาน ซึ่งช่วยปรับปรุงความสามารถในการขยายเมื่อเพิ่มการเข้าถึง MCP servers เพิ่มเติม สิ่งนี้ง่ายกว่าการจัดการคีย์และประเภทการรับรองความถูกต้องที่แตกต่างกันสำหรับ API แบบดั้งเดิม
ลองจินตนาการว่าผู้ใช้ต้องการจองเที่ยวบินโดยใช้ AI assistant ที่ขับเคลื่อนด้วย MCP
การเชื่อมต่อ: AI assistant (MCP client) เชื่อมต่อกับ MCP server ที่ให้บริการโดยสายการบิน
การค้นหาเครื่องมือ: Client ถาม MCP server ของสายการบินว่า “มีเครื่องมืออะไรบ้าง?” เซิร์ฟเวอร์ตอบกลับด้วยเครื่องมือ เช่น “search flights” และ “book flights”
การเรียกใช้เครื่องมือ: ผู้ใช้ขอให้ AI assistant “ค้นหาเที่ยวบินจาก Portland ไป Honolulu” AI assistant ใช้ LLM เพื่อระบุว่าต้องเรียกใช้เครื่องมือ “search flights” และส่งพารามิเตอร์ที่เกี่ยวข้อง (ต้นทาง, ปลายทาง) ไปยัง MCP server
การดำเนินการและการตอบกลับ: MCP server ทำหน้าที่เป็น wrapper และเรียก API การจองภายในของสายการบิน จากนั้นรับข้อมูลเที่ยวบิน (เช่น ข้อมูล JSON) และส่งกลับไปยัง AI assistant
การโต้ตอบเพิ่มเติม: AI assistant นำเสนอทางเลือกเที่ยวบิน เมื่อผู้ใช้เลือกเที่ยวบิน AI assistant อาจเรียกใช้เครื่องมือ “book flight” บน MCP server เดียวกันเพื่อทำการจองให้เสร็จสมบูรณ์
ในขณะที่ MCP มุ่งเน้นการเชื่อมต่อ LLMs กับเครื่องมือ Agent-to-Agent (A2A) protocol ก้าวไปอีกขั้นโดยช่วยให้ AI agents ต่าง ๆ สื่อสารและทำงานร่วมกันได้ A2A เชื่อมต่อ AI agents ข้ามองค์กร สภาพแวดล้อม และเทคโนโลยีเพื่อทำงานร่วมกันในงานที่แชร์
เราจะพูดถึงส่วนประกอบและประโยชน์ของ A2A พร้อมตัวอย่างการใช้งานในแอปพลิเคชันการเดินทางของเรา
A2A มุ่งเน้นการสื่อสารระหว่าง agents และการทำงานร่วมกันเพื่อทำงานย่อยของผู้ใช้ แต่ละส่วนประกอบของโปรโตคอลมีบทบาทดังนี้:
คล้ายกับ MCP server ที่แชร์รายการเครื่องมือ Agent Card มี:
Agent Executor มีหน้าที่ ส่งบริบทของการสนทนาผู้ใช้ไปยัง Agent ระยะไกล Agent ระยะไกลต้องการสิ่งนี้เพื่อเข้าใจงานที่ต้องทำ ใน A2A server Agent ใช้ LLM ของตัวเองเพื่อวิเคราะห์คำขอที่เข้ามาและดำเนินงานโดยใช้เครื่องมือภายในของตัวเอง
เมื่อ Agent ระยะไกลทำงานที่ร้องขอเสร็จ ผลงานของมันจะถูกสร้างเป็น artifact Artifact ประกอบด้วยผลลัพธ์ของงานที่ Agent ทำ คำอธิบายสิ่งที่เสร็จสิ้น และ บริบทข้อความ ที่ส่งผ่านโปรโตคอล หลังจากส่ง artifact การเชื่อมต่อกับ Agent ระยะไกลจะถูกปิดจนกว่าจะต้องการใช้งานอีกครั้ง
ส่วนประกอบนี้ใช้สำหรับ จัดการการอัปเดตและส่งข้อความ มีความสำคัญอย่างยิ่งในระบบ agentic production เพื่อป้องกันการปิดการเชื่อมต่อระหว่าง agents ก่อนที่งานจะเสร็จสมบูรณ์ โดยเฉพาะเมื่อเวลาที่ใช้ในการทำงานอาจนานขึ้น
• การทำงานร่วมกันที่ดีขึ้น: ช่วยให้ agents จากผู้ให้บริการและแพลตฟอร์มต่าง ๆ สื่อสาร แชร์บริบท และทำงานร่วมกันได้อย่างราบรื่น ช่วยให้เกิดการทำงานอัตโนมัติข้ามระบบที่มักแยกออกจากกัน
• ความยืดหยุ่นในการเลือกโมเดล: แต่ละ A2A agent สามารถตัดสินใจเลือก LLM ที่ใช้ในการให้บริการคำขอ ช่วยให้สามารถปรับแต่งหรือใช้โมเดลที่เหมาะสมที่สุดสำหรับแต่ละ agent ซึ่งแตกต่างจากการเชื่อมต่อ LLM เดียวในบางกรณีของ MCP
• การรับรองความถูกต้องในตัว: การรับรองความถูกต้องถูกรวมเข้ากับโปรโตคอล A2A โดยตรง ให้กรอบความปลอดภัยที่แข็งแกร่งสำหรับการโต้ตอบระหว่าง agents
ลองขยายสถานการณ์การจองการเดินทางของเรา แต่คราวนี้ใช้ A2A
คำขอผู้ใช้ไปยัง Multi-Agent: ผู้ใช้โต้ตอบกับ “Travel Agent” A2A client/agent โดยอาจพูดว่า “กรุณาจองทริปไป Honolulu สำหรับสัปดาห์หน้า รวมถึงเที่ยวบิน โรงแรม และรถเช่า”
การจัดการโดย Travel Agent: Travel Agent รับคำขอที่ซับซ้อนนี้ ใช้ LLM เพื่อวิเคราะห์งานและตัดสินใจว่าต้องโต้ตอบกับ agents เฉพาะทางอื่น ๆ
การสื่อสารระหว่าง Agent: Travel Agent ใช้โปรโตคอล A2A เพื่อเชื่อมต่อกับ agents downstream เช่น “Airline Agent,” “Hotel Agent,” และ “Car Rental Agent” ที่สร้างโดยบริษัทต่าง ๆ
การดำเนินงานที่มอบหมาย: Travel Agent ส่งงานเฉพาะไปยัง agents เฉพาะทางเหล่านี้ (เช่น “ค้นหาเที่ยวบินไป Honolulu,” “จองโรงแรม,” “เช่ารถ”) แต่ละ agent เฉพาะทางใช้ LLM ของตัวเองและเครื่องมือของตัวเอง (ซึ่งอาจเป็น MCP servers) เพื่อดำเนินงานเฉพาะของการจอง
การตอบกลับที่รวมกัน: เมื่อ agents downstream ทั้งหมดทำงานเสร็จ Travel Agent รวบรวมผลลัพธ์ (รายละเอียดเที่ยวบิน การยืนยันโรงแรม การจองรถเช่า) และส่งคำตอบแบบแชทที่ครอบคลุมกลับไปยังผู้ใช้
เว็บไซต์เป็นวิธีหลักที่ผู้ใช้เข้าถึงข้อมูลและข้อมูลทั่วอินเทอร์เน็ตมาโดยตลอด
มาดูส่วนประกอบต่าง ๆ ของ NLWeb, ประโยชน์ของ NLWeb และตัวอย่างการทำงานของ NLWeb โดยดูจากแอปพลิเคชันการเดินทางของเรา
NLWeb Application (Core Service Code): ระบบที่ประมวลผลคำถามภาษาธรรมชาติ เชื่อมต่อส่วนต่าง ๆ ของแพลตฟอร์มเพื่อสร้างคำตอบ คุณสามารถคิดว่ามันเป็น เครื่องยนต์ที่ขับเคลื่อนฟีเจอร์ภาษาธรรมชาติ ของเว็บไซต์
NLWeb Protocol: เป็น ชุดกฎพื้นฐานสำหรับการโต้ตอบภาษาธรรมชาติกับเว็บไซต์ ส่งคำตอบกลับในรูปแบบ JSON (มักใช้ Schema.org) จุดประสงค์คือการสร้างรากฐานง่าย ๆ สำหรับ “AI Web” ในลักษณะเดียวกับที่ HTML ทำให้สามารถแชร์เอกสารออนไลน์ได้
MCP Server (Model Context Protocol Endpoint): การตั้งค่า NLWeb แต่ละครั้งยังทำงานเป็น MCP server ซึ่งหมายความว่าสามารถ แชร์เครื่องมือ (เช่น วิธี “ask”) และข้อมูล กับระบบ AI อื่น ๆ ได้ ในทางปฏิบัติ สิ่งนี้ทำให้เนื้อหาและความสามารถของเว็บไซต์สามารถใช้งานได้โดย AI agents ทำให้เว็บไซต์กลายเป็นส่วนหนึ่งของ “agent ecosystem” ที่กว้างขึ้น
Embedding Models: โมเดลเหล่านี้ใช้เพื่อ แปลงเนื้อหาเว็บไซต์เป็นตัวแทนตัวเลขที่เรียกว่าเวกเตอร์ (embeddings) เวกเตอร์เหล่านี้จับความหมายในลักษณะที่คอมพิวเตอร์สามารถเปรียบเทียบและค้นหาได้ เก็บไว้ในฐานข้อมูลพิเศษ และผู้ใช้สามารถเลือกโมเดล embedding ที่ต้องการใช้ได้
Vector Database (Retrieval Mechanism): ฐานข้อมูลนี้ เก็บ embeddings ของเนื้อหาเว็บไซต์ เมื่อมีคนถามคำถาม NLWeb จะตรวจสอบฐานข้อมูลเวกเตอร์เพื่อค้นหาข้อมูลที่เกี่ยวข้องมากที่สุดอย่างรวดเร็ว ให้รายการคำตอบที่เป็นไปได้ที่จัดอันดับตามความคล้ายคลึงกัน NLWeb ทำงานร่วมกับระบบจัดเก็บเวกเตอร์ต่าง ๆ เช่น Qdrant, Snowflake, Milvus, Azure AI Search และ Elasticsearch
ลองพิจารณาเว็บไซต์การจองการเดินทางของเราอีกครั้ง แต่คราวนี้ขับเคลื่อนด้วย NLWeb
การนำเข้าข้อมูล: แคตตาล็อกผลิตภัณฑ์ที่มีอยู่ของเว็บไซต์การเดินทาง (เช่น รายการเที่ยวบิน คำอธิบายโรงแรม แพ็คเกจทัวร์) ถูกจัดรูปแบบโดยใช้ Schema.org หรือโหลดผ่าน RSS feeds เครื่องมือของ NLWeb นำเข้าข้อมูลที่มีโครงสร้างนี้ สร้าง embeddings และจัดเก็บไว้ในฐานข้อมูลเวกเตอร์ในพื้นที่หรือระยะไกล
การค้นหาภาษาธรรมชาติ (มนุษย์): ผู้ใช้เยี่ยมชมเว็บไซต์และแทนที่จะนำทางผ่านเมนู พิมพ์ลงในอินเทอร์เฟซแชท: “ค้นหาโรงแรมที่เหมาะสำหรับครอบครัวใน Honolulu ที่มีสระว่ายน้ำสำหรับสัปดาห์หน้า”
การประมวลผล NLWeb: แอปพลิเคชัน NLWeb รับคำถามนี้ ส่งคำถามไปยัง LLM เพื่อทำความเข้าใจ และค้นหาฐานข้อมูลเวกเตอร์สำหรับรายการโรงแรมที่เกี่ยวข้องในเวลาเดียวกัน
ผลลัพธ์ที่แม่นยำ: LLM ช่วยตีความผลการค้นหาจากฐานข้อมูล ระบุการจับคู่ที่ดีที่สุดตามเกณฑ์ “เหมาะสำหรับครอบครัว,” “สระว่ายน้ำ,” และ “Honolulu” และจัดรูปแบบคำตอบภาษาธรรมชาติที่เหมาะสม คำตอบอ้างอิงถึงโรงแรมจริงจากแคตตาล็อกของเว็บไซต์ หลีกเลี่ยงข้อมูลที่แต่งขึ้น
การโต้ตอบกับ AI Agent: เนื่องจาก NLWeb ทำหน้าที่เป็น MCP server AI travel agent ภายนอกสามารถเชื่อมต่อกับ NLWeb instance ของเว็บไซต์นี้ได้ AI agent สามารถใช้วิธี ask
ของ MCP เพื่อสอบถามเว็บไซต์โดยตรง เช่น ask("มีร้านอาหารที่เหมาะสำหรับมังสวิรัติในพื้นที่ Honolulu ที่โรงแรมแนะนำหรือไม่?")
NLWeb instance จะประมวลผลคำถามนี้ โดยใช้ฐานข้อมูลข้อมูลร้านอาหาร (ถ้ามีการโหลด) และส่งคำตอบ JSON ที่มีโครงสร้างกลับมา
เข้าร่วม Azure AI Foundry Discord เพื่อพบปะกับผู้เรียนคนอื่น ๆ เข้าร่วม office hours และรับคำตอบสำหรับคำถามเกี่ยวกับ AI Agents ของคุณ
ข้อจำกัดความรับผิดชอบ:
เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI Co-op Translator แม้ว่าเราจะพยายามให้การแปลมีความถูกต้อง แต่โปรดทราบว่าการแปลอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่แม่นยำ เอกสารต้นฉบับในภาษาต้นทางควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษามนุษย์มืออาชีพ เราจะไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความที่ผิดพลาดซึ่งเกิดจากการใช้การแปลนี้