(คลิกที่ภาพด้านบนเพื่อดูวิดีโอของบทเรียนนี้)
ขณะที่การใช้งานเอเจนต์ AI เพิ่มมากขึ้น ความต้องการโปรโตคอลที่ช่วยให้การมาตรฐาน ความปลอดภัย และส่งเสริมนวัตกรรมเปิดก็มากขึ้นเช่นกัน ในบทเรียนนี้เราจะครอบคลุมโปรโตคอล 3 แบบที่ตอบสนองความต้องการนี้ - โปรโตคอลบริบทโมเดล (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) คือโปรแกรมเบาที่เปิดเผยความสามารถเฉพาะ
ในโปรโตคอลนี้มีสามพรอพริมิตฟ์หลักซึ่งเป็นความสามารถของเซิร์ฟเวอร์ MCP:
• เครื่องมือ (Tools): เป็นการกระทำหรือฟังก์ชันแยกส่วนที่เอเจนต์ AI สามารถเรียกใช้งานได้ เช่น บริการพยากรณ์อากาศอาจเปิดเผยเครื่องมือ “รับข้อมูลอากาศ” หรือเซิร์ฟเวอร์อีคอมเมิร์ซอาจเปิดเผยเครื่องมือ “สั่งซื้อสินค้า” เซิร์ฟเวอร์ MCP จะแจ้งชื่อเครื่องมือ รายละเอียด และสคีมาอินพุต/เอาต์พุตในรายการความสามารถของพวกเขา
• ทรัพยากร (Resources): เป็นข้อมูลที่อ่านได้อย่างเดียว หรือเอกสารที่เซิร์ฟเวอร์ MCP สามารถให้ และไคลเอนต์สามารถดึงมาเมื่อจำเป็น ตัวอย่างได้แก่เนื้อหาไฟล์ บันทึกฐานข้อมูล หรือไฟล์บันทึก ทรัพยากรอาจเป็นข้อความ (เช่น โค้ดหรือ JSON) หรือไบนารี (เช่น รูปภาพหรือ PDF)
• พรอมต์ (Prompts): เป็นแม่แบบที่กำหนดไว้ล่วงหน้าซึ่งให้พรอมต์แนะนำ ช่วยให้เวิร์กโฟลว์ซับซ้อนขึ้น
MCP ให้ข้อได้เปรียบสำคัญสำหรับเอเจนต์ AI ดังนี้:
• การค้นหาเครื่องมือแบบไดนามิก: เอเจนต์สามารถรับรายการเครื่องมือที่มีอยู่จากเซิร์ฟเวอร์พร้อมคำอธิบายของสิ่งที่พวกมันทำ โดยต่างจาก API แบบดั้งเดิมที่มักต้องเขียนโค้ดแบบคงที่สำหรับการผสานรวม ซึ่งหมายความว่าการเปลี่ยนแปลงใด ๆ ของ API ต้องมีการอัปเดตโค้ด MCP ให้วิธี “ผสานรวมครั้งเดียว” นำไปสู่ความสามารถในการปรับตัวที่มากขึ้น
• ความสามารถในการทำงานร่วมกันข้าม LLMs: MCP ทำงานข้าม LLMs ต่าง ๆ ให้ความยืดหยุ่นในการเปลี่ยนโมเดลหลักเพื่อประเมินผลการทำงานที่ดีขึ้น
• ความปลอดภัยมาตรฐาน: 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
คำขอผู้ใช้ไปยังหลายเอเจนต์: ผู้ใช้โต้ตอบกับ “Travel Agent” เอเจนต์/ไคลเอนต์ A2A โดยพูดว่า “กรุณาจองทริปทั้งหมดไปฮอนโนลูลูสำหรับสัปดาห์หน้า รวมเที่ยวบิน โรงแรม และรถเช่า”
การควบคุมโดย 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 Endpoint): การตั้งค่า NLWeb แต่ละครั้งทำงานเป็น เซิร์ฟเวอร์ MCP ด้วย ซึ่งหมายความว่าสามารถ แชร์เครื่องมือ (เช่น เมธอด “ask”) และข้อมูล กับระบบ AI อื่น ๆ ในทางปฏิบัติ ทำให้เนื้อหาและความสามารถของเว็บไซต์ใช้ได้กับเอเจนต์ AI ทำให้ไซต์เป็นส่วนหนึ่งของ “ระบบนิเวศต์เอเจนต์” ที่กว้างขึ้น
โมเดลเอมเบดดิ้ง (Embedding Models): โมเดลเหล่านี้ใช้สำหรับ แปลงเนื้อหาเว็บไซต์เป็นตัวแทนตัวเลขที่เรียกว่าเวกเตอร์ (embedding) เวกเตอร์เหล่านี้จับความหมายในรูปแบบที่คอมพิวเตอร์สามารถเปรียบเทียบและค้นหาได้ พวกมันถูกเก็บไว้ในฐานข้อมูลเฉพาะ และผู้ใช้สามารถเลือกโมเดล embedding ที่ต้องการใช้ได้
ฐานข้อมูลเวกเตอร์ (กลไกการดึงข้อมูล): ฐานข้อมูลนี้ เก็บ embedding ของเนื้อหาเว็บไซต์ เมื่อมีการถามคำถาม 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 ของคุณ
Context Engineering for AI Agents
ปฏิเสธความรับผิดชอบ: เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI Co-op Translator ขณะที่เราพยายามให้ความถูกต้อง โปรดทราบว่าการแปลโดยอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาต้นทางควรถูกพิจารณาเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ แนะนำให้ใช้การแปลโดยมนุษย์มืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความที่ผิดพลาดที่เกิดขึ้นจากการใช้การแปลนี้