(คลิกที่ภาพด้านบนเพื่อดูวิดีโอของบทเรียนนี้)
ในขณะที่การใช้เอเจนต์ AI เติบโตขึ้น ความต้องการโปรโตคอลที่รับรองมาตรฐาน ความปลอดภัย และสนับสนุนนวัตกรรมแบบเปิดก็เพิ่มขึ้นเช่นกัน ในบทเรียนนี้ เราจะครอบคลุม 3 โปรโตคอลที่มุ่งตอบสนองความต้องการนี้ - Model Context Protocol (MCP), Agent to Agent (A2A) และ Natural Language Web (NLWeb)
ในบทเรียนนี้ เราจะครอบคลุม:
• วิธีที่ MCP ช่วยให้เอเจนต์ AI เข้าถึงเครื่องมือและข้อมูลภายนอกเพื่อทำงานของผู้ใช้ให้สำเร็จ
• วิธีที่ A2A ทำให้การสื่อสารและการร่วมมือระหว่างเอเจนต์ AI ต่าง ๆ เป็นไปได้
• วิธีที่ NLWeb นำอินเทอร์เฟซภาษาธรรมชาติมาใช้กับเว็บไซต์ใด ๆ เพื่อให้เอเจนต์ AI ค้นหาและโต้ตอบกับเนื้อหาได้
• ระบุ วัตถุประสงค์หลักและประโยชน์ของ MCP, A2A และ NLWeb ในบริบทของเอเจนต์ AI
• อธิบาย วิธีที่แต่ละโปรโตคอลอำนวยความสะดวกในการสื่อสารและปฏิสัมพันธ์ระหว่าง LLMs, เครื่องมือ และเอเจนต์อื่น ๆ
• รับรู้ บทบาทเฉพาะที่แต่ละโปรโตคอลมีในการสร้างระบบตัวแทนที่ซับซ้อน
Model Context Protocol (MCP) เป็นมาตรฐานเปิดที่ให้วิธีมาตรฐานสำหรับแอปพลิเคชันในการจัดเตรียมบริบทและเครื่องมือแก่ LLMs ซึ่งช่วยให้เกิด “อะแดปเตอร์สากล” สำหรับแหล่งข้อมูลและเครื่องมือต่าง ๆ ที่เอเจนต์ AI สามารถเชื่อมต่อได้ในแบบที่สม่ำเสมอ
มาดูส่วนประกอบของ MCP, ประโยชน์เมื่อเทียบกับการใช้งาน API โดยตรง และตัวอย่างวิธีที่เอเจนต์ AI อาจใช้เซิร์ฟเวอร์ MCP
MCP ทำงานบน สถาปัตยกรรมแบบไคลเอนต์-เซิร์ฟเวอร์ และส่วนประกอบหลักได้แก่:
• Hosts คือแอปพลิเคชัน LLM (เช่น โปรแกรมแก้ไขโค้ดอย่าง VSCode) ที่เริ่มการเชื่อมต่อกับเซิร์ฟเวอร์ MCP
• Clients คือส่วนประกอบภายในแอปโฮสต์ที่รักษาการเชื่อมต่อแบบหนึ่งต่อหนึ่งกับเซิร์ฟเวอร์
• Servers คือโปรแกรมน้ำหนักเบาที่เปิดเผยความสามารถเฉพาะ
โปรโตคอลนี้ประกอบด้วยหลักฐาน 3 ประการซึ่งเป็นความสามารถของเซิร์ฟเวอร์ MCP:
• Tools: เป็นการกระทำหรือฟังก์ชันเฉพาะที่เอเจนต์ AI สามารถเรียกใช้เพื่อดำเนินการ เช่น บริการพยากรณ์อากาศอาจมี “เครื่องมือเรียกดูสภาพอากาศ” หรือเซิร์ฟเวอร์อีคอมเมิร์ซอาจมี “เครื่องมือซื้อสินค้า” เซิร์ฟเวอร์ MCP จะโฆษณาชื่อเครื่องมือ คำอธิบาย และโครงสร้างอินพุต/เอาต์พุตในรายการความสามารถ
• Resources: เป็นรายการข้อมูลหรือเอกสารที่อ่านได้อย่างเดียวซึ่งเซิร์ฟเวอร์ MCP อาจจัดหาให้ และไคลเอนต์สามารถดึงข้อมูลได้ตามต้องการ เช่น เนื้อหาไฟล์ บันทึกฐานข้อมูล หรือไฟล์บันทึกสามารถเป็นข้อความ (เช่น โค้ดหรือ JSON) หรือไบนารี (เช่น รูปภาพหรือ PDF)
• Prompts: เป็นแม่แบบที่กำหนดไว้ล่วงหน้าซึ่งมีคำแนะนำให้ ใช้สำหรับเวิร์กโฟลว์ที่ซับซ้อนมากขึ้นได้
MCP มีข้อดีสำคัญสำหรับเอเจนต์ AI ดังนี้:
• ค้นพบเครื่องมือแบบไดนามิก: เอเจนต์สามารถรับรายการเครื่องมือที่พร้อมใช้งานจากเซิร์ฟเวอร์พร้อมด้วยคำอธิบายสิ่งที่เครื่องมือทำ แตกต่างจาก API แบบดั้งเดิมซึ่งมักต้องมีการเขียนโค้ดแบบคงที่สำหรับการรวม หมายความว่าการเปลี่ยนแปลง API ใด ๆ ต้องอัปเดตโค้ด MCP ให้แนวทาง “ผสานเพียงครั้งเดียว” ทำให้ปรับตัวได้มากขึ้น
• การทำงานร่วมกันระหว่าง LLM: MCP ทำงานได้กับ LLM ต่าง ๆ ให้ความยืดหยุ่นในการเปลี่ยนโมเดลหลักเพื่อประเมินผลการทำงานที่ดีขึ้น
• มาตรฐานความปลอดภัย: MCP มีวิธีการรับรองความถูกต้องแบบมาตรฐาน ช่วยเพิ่มความสามารถในการปรับขนาดเมื่อต้องเพิ่มการเข้าถึงเซิร์ฟเวอร์ MCP อื่น ๆ ง่ายกว่าการจัดการคีย์และประเภทการรับรองความถูกต้องที่แตกต่างกันของ API แบบดั้งเดิม

สมมติว่าผู้ใช้ต้องการจองเที่ยวบินโดยใช้ผู้ช่วย AI ที่ขับเคลื่อนด้วย MCP
การเชื่อมต่อ: ผู้ช่วย AI (ไคลเอนต์ MCP) เชื่อมต่อกับเซิร์ฟเวอร์ MCP ที่สายการบินให้บริการ
ค้นพบเครื่องมือ: ไคลเอนต์ถามเซิร์ฟเวอร์ MCP ของสายการบินว่า “คุณมีเครื่องมืออะไรให้ใช้บ้าง?” เซิร์ฟเวอร์ตอบด้วยเครื่องมือต่าง ๆ เช่น “ค้นหาเที่ยวบิน” และ “จองเที่ยวบิน”
เรียกใช้เครื่องมือ: คุณขอให้ผู้ช่วย AI “ช่วยค้นหาเที่ยวบินจากพอร์ตแลนด์ไปโฮโนลูลู” ผู้ช่วย AI โดยใช้ LLM ของตนจะรู้ว่า ต้องเรียกใช้เครื่องมือ “ค้นหาเที่ยวบิน” พร้อมส่งพารามิเตอร์ที่เกี่ยวข้อง (ต้นทาง, ปลายทาง) ให้กับเซิร์ฟเวอร์ MCP
ดำเนินการและตอบกลับ: เซิร์ฟเวอร์ MCP ที่ทำหน้าที่เป็นตัวเชื่อม จะเรียกใช้ API การจองเที่ยวบินจริงของสายการบิน จากนั้นรับข้อมูลเที่ยวบิน (เช่น ข้อมูล JSON) แล้วส่งกลับไปยังผู้ช่วย AI
การโต้ตอบเพิ่มเติม: ผู้ช่วย AI นำเสนอทางเลือกเที่ยวบินให้คุณ เมื่อคุณเลือกเที่ยวบินแล้ว ผู้ช่วยอาจเรียกใช้เครื่องมือ “จองเที่ยวบิน” บนเซิร์ฟเวอร์ MCP เดียวกัน เพื่อทำการจองให้สำเร็จ
ในขณะที่ MCP เน้นการเชื่อมต่อ LLM กับเครื่องมือ โปรโตคอล Agent-to-Agent (A2A) พัฒนาไปอีกขั้นโดยทำให้เอเจนต์ AI ต่าง ๆ สามารถสื่อสารและร่วมมือกันได้ A2A เชื่อมต่อเอเจนต์ AI ข้ามองค์กร สภาพแวดล้อม และสแต็กเทคโนโลยีต่าง ๆ เพื่อทำภารกิจร่วมกันให้สำเร็จ
เราจะศึกษาส่วนประกอบและประโยชน์ของ A2A พร้อมตัวอย่างการประยุกต์ใช้ในแอปพลิเคชันท่องเที่ยวของเรา
A2A มุ่งเน้นที่การสื่อสารระหว่างเอเจนต์และทำงานร่วมกันเพื่อทำภารกิจย่อยของผู้ใช้สำเร็จ แต่ละส่วนของโปรโตคอลสนับสนุนเป้าหมายนี้:
คล้ายกับวิธีที่เซิร์ฟเวอร์ MCP แชร์รายการเครื่องมือ Agent Card มีข้อมูลดังนี้:
Agent Executor มีหน้าที่ ส่งผ่านบริบทของการสนทนาผู้ใช้ไปยังเอเจนต์ระยะไกล ซึ่งเอเจนต์ระยะไกลต้องการเพื่อเข้าใจภารกิจที่ต้องทำ ใน A2A เซิร์ฟเวอร์ เอเจนต์จะใช้ LLM ของตนเองในการแยกคำขอที่เข้ามาและดำเนินการโดยใช้งานเครื่องมือภายในของตนเอง
เมื่อเอเจนต์ระยะไกลทำภารกิจเสร็จ ผลงานนั้นจะถูกสร้างเป็น artifact ซึ่ง ประกอบด้วยผลลัพธ์ของงานเอเจนต์, คำอธิบายสิ่งที่ทำเสร็จแล้ว, และ บริบทข้อความ ที่ส่งผ่านโปรโตคอล หลังจากส่ง artifact เสร็จ การเชื่อมต่อกับเอเจนต์ระยะไกลจะถูกปิดจนกว่าจะต้องใช้ใหม่
ส่วนนี้ใช้สำหรับ จัดการการอัปเดตและส่งผ่านข้อความ สำคัญอย่างยิ่งในระบบจริงที่ต้องป้องกันการปิดการเชื่อมต่อระหว่างเอเจนต์ก่อนที่งานจะเสร็จ โดยเฉพาะเมื่อเวลาทำงานอาจใช้เวลานาน
• การร่วมมือที่เพิ่มขึ้น: ช่วยให้เอเจนต์จากผู้ขายและแพลตฟอร์มต่าง ๆ สามารถสื่อสาร แบ่งปันบริบท และทำงานร่วมกันได้ ทำให้อัตโนมัติเป็นไปอย่างราบรื่นข้ามระบบที่เคยแยกกัน
• ความยืดหยุ่นในการเลือกโมเดล: แต่ละเอเจนต์ A2A สามารถเลือกใช้ LLM ของตนเองเพื่อให้บริการคำขอ ทำให้สามารถปรับแต่งหรือเลือกโมเดลเฉพาะสำหรับแต่ละเอเจนต์ แตกต่างจากการเชื่อมต่อ LLM เพียงตัวเดียวในบางกรณีของ MCP
• การรับรองความถูกต้องในตัว: การรับรองความถูกต้องบูรณาการอยู่ในโปรโตคอล A2A โดยตรง ให้กรอบความปลอดภัยมั่นคงสำหรับการโต้ตอบของเอเจนต์

ขยายกรณีจองทัวร์ของเรา โดยใช้ A2A
คำขอผู้ใช้ไปยังมัลติเอเจนต์: ผู้ใช้โต้ตอบกับลูกค้า/เอเจนต์ A2A “Travel Agent” โดยอาจพูดว่า “กรุณาจองทริปทั้งหมดไปโฮโนลูลูสำหรับสัปดาห์หน้า รวมเที่ยวบิน โรงแรม และรถเช่า”
การประสานงานโดย Travel Agent: Travel Agent รับคำขอซับซ้อนนี้ ใช้ LLM ของตนวิเคราะห์งานแล้วตัดสินใจว่าต้องติดต่อเอเจนต์เฉพาะด้านอื่นๆ
การสื่อสารระหว่างเอเจนต์: Travel Agent ใช้โปรโตคอล A2A เชื่อมต่อกับเอเจนต์ในสายงานลงมา เช่น “Airline Agent,” “Hotel Agent,” และ “Car Rental Agent” ที่แต่ละตัวถูกสร้างโดยบริษัทต่างๆ
การมอบหมายงาน: Travel Agent ส่งงานเฉพาะไปยังเอเจนต์เหล่านี้ (เช่น “ค้นหาเที่ยวบินไปโฮโนลูลู,” “จองโรงแรม,” “เช่ารถ”) แต่ละเอเจนต์ใช้ LLM ของตนเองและเครื่องมือของตน (ซึ่งอาจเป็นเซิร์ฟเวอร์ MCP เอง) ทำส่วนของตนให้เสร็จ
ตอบกลับแบบรวมศูนย์: เมื่อเอเจนต์ทั้งหมดทำงานเสร็จ Travel Agent รวบรวมผลลัพธ์ทั้งหมด (รายละเอียดเที่ยวบิน, การยืนยันโรงแรม, การจองรถ) แล้วส่งคำตอบแบบแชทที่ครอบคลุมกลับไปยังผู้ใช้
เว็บไซต์เป็นวิธีหลักสำหรับผู้ใช้ในการเข้าถึงข้อมูลและข้อมูลผ่านอินเทอร์เน็ตมานานแล้ว
มาดูส่วนประกอบต่าง ๆ ของ NLWeb, ประโยชน์ของ NLWeb และตัวอย่างการทำงานของ NLWeb โดยดูจากแอปพลิเคชันท่องเที่ยวของเรา
แอปพลิเคชัน NLWeb (โค้ดบริการหลัก): ระบบที่ประมวลผลคำถามภาษาธรรมชาติ เชื่อมต่อส่วนต่าง ๆ ของแพลตฟอร์มเพื่อสร้างคำตอบ คุณสามารถคิดว่ามันเป็น เครื่องยนต์ที่ขับเคลื่อนฟีเจอร์ภาษาธรรมชาติ ของเว็บไซต์
โปรโตคอล NLWeb: เป็น ชุดกฎพื้นฐานสำหรับการโต้ตอบภาษาธรรมชาติกับเว็บไซต์ ส่งกลับคำตอบในรูปแบบ JSON (มักใช้ Schema.org) จุดประสงค์เพื่อสร้างรากฐานง่าย ๆ สำหรับ “เว็บ AI” เช่นเดียวกับที่ HTML ทำให้สามารถแชร์เอกสารออนไลน์ได้
เซิร์ฟเวอร์ MCP (จุดสิ้นสุด Model Context Protocol): การตั้งค่า NLWeb แต่ละชุดยังทำงานเป็น เซิร์ฟเวอร์ MCP ด้วย ซึ่งหมายความว่าสามารถ แชร์เครื่องมือ (เช่น วิธี ‘ask’) และข้อมูล กับระบบ AI อื่น ๆ ในทางปฏิบัติทำให้เนื้อหาและความสามารถของเว็บไซต์ใช้งานได้โดยเอเจนต์ AI ทำให้ไซต์กลายเป็นส่วนหนึ่งของ “ระบบนิเวศตัวแทน” ที่กว้างขึ้น
Embedding Models: โมเดลเหล่านี้ใช้สำหรับ แปลงเนื้อหาเว็บไซต์เป็นตัวแทนเชิงตัวเลขที่เรียกว่าวิชเตอร์ (embeddings) วิชเตอร์เหล่านี้จับความหมายในรูปแบบที่คอมพิวเตอร์เปรียบเทียบและค้นหาได้ พวกมันจะถูกเก็บในฐานข้อมูลพิเศษ และผู้ใช้สามารถเลือกโมเดล embedding ที่ต้องการใช้
ฐานข้อมูล Vector (กลไกการดึงข้อมูล): ฐานข้อมูลนี้ เก็บ embeddings ของเนื้อหาเว็บไซต์ เมื่อมีคนถามคำถาม NLWeb จะตรวจสอบฐานข้อมูลเวกเตอร์เพื่อค้นหาข้อมูลที่เกี่ยวข้องอย่างรวดเร็ว โดยให้รายการคำตอบที่เป็นไปได้ที่ถูกจัดอันดับตามความคล้ายคลึงกัน NLWeb ทำงานร่วมกับระบบเก็บเวกเตอร์ที่หลากหลาย เช่น Qdrant, Snowflake, Milvus, Azure AI Search และ Elasticsearch

ลองพิจารณาเว็บไซต์จองท่องเที่ยวของเราอีกครั้ง แต่ครั้งนี้ขับเคลื่อนด้วย NLWeb
การนำเข้าข้อมูล: แคตตาล็อกสินค้าในเว็บไซต์ท่องเที่ยว เช่น รายการเที่ยวบิน, คำอธิบายโรงแรม, แพ็คเกจทัวร์ ถูกจัดรูปแบบโดยใช้ Schema.org หรือโหลดผ่านฟีด RSS เครื่องมือของ NLWeb จะนำเข้าข้อมูลเชิงโครงสร้างนี้ สร้าง embeddings และจัดเก็บลงในฐานข้อมูลเวกเตอร์ภายในหรือภายนอก
คำถามภาษาธรรมชาติ (มนุษย์): ผู้ใช้เยี่ยมชมเว็บไซต์ และแทนที่จะนำทางผ่านเมนู พิมพ์ในอินเทอร์เฟซแชทว่า “หาที่พักเป็นมิตรกับครอบครัวในโฮโนลูลูที่มีสระว่ายน้ำสำหรับสัปดาห์หน้าให้หน่อย”
การประมวลผล NLWeb: แอปพลิเคชัน NLWeb ได้รับคำถามนี้ ส่งคำถามไปยัง LLM เพื่อทำความเข้าใจ และพร้อมกันค้นหาในฐานข้อมูลเวกเตอร์สำหรับรายการโรงแรมที่เกี่ยวข้อง
ผลลัพธ์แม่นยำ: LLM ช่วยตีความผลการค้นหาจากฐานข้อมูล ระบุคู่ที่ดีที่สุดตามเกณฑ์ “เป็นมิตรกับครอบครัว,” “สระว่ายน้ำ,” และ “โฮโนลูลู” จากนั้นจัดรูปแบบคำตอบเป็นภาษาธรรมชาติ สำคัญที่คำตอบอ้างอิงจากโรงแรมจริงจากแคตตาล็อกเว็บไซต์เพื่อหลีกเลี่ยงข้อมูลที่แต่งขึ้น
การโต้ตอบของเอเจนต์ AI: เนื่องจาก NLWeb ทำหน้าที่เป็นเซิร์ฟเวอร์ MCP เอเจนต์ท่องเที่ยว AI ภายนอกจึงสามารถเชื่อมต่อกับอินสแตนซ์ NLWeb ของเว็บไซต์นี้ได้ จากนั้นเอเจนต์ AI สามารถใช้วิธี ask ของ MCP เพื่อสอบถามเว็บไซต์โดยตรง เช่น ask("ร้านอาหารมังสวิรัติที่แนะนำโดยโรงแรมในพื้นที่โฮโนลูลูมีอะไรบ้าง?") อินสแตนซ์ NLWeb จะประมวลผลคำถามนี้ ใช้ฐานข้อมูลข้อมูลร้านอาหาร (ถ้ามีการโหลด) และส่งคืนคำตอบ JSON ที่มีโครงสร้าง
เข้าร่วม Microsoft Foundry Discord เพื่อพบกับผู้เรียนอื่น ๆ เข้าร่วมชั่วโมงทำงาน และรับคำตอบเกี่ยวกับ AI Agents ของคุณ
ข้อจำกัดความรับผิดชอบ: เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษาอัตโนมัติ Co-op Translator แม้เราจะพยายามให้การแปลมีความถูกต้อง แต่โปรดทราบว่าการแปลอัตโนมัติอาจมีข้อผิดพลาดหรือความคลาดเคลื่อนได้ เอกสารต้นฉบับในภาษาต้นทางถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลสำคัญแนะนำให้ใช้บริการแปลโดยมืออาชีพที่เป็นมนุษย์ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความที่ผิดพลาดที่เกิดขึ้นจากการใช้การแปลนี้