ai-agents-for-beginners

การใช้งาน Agentic Protocols (MCP, A2A และ NLWeb)

Agentic Protocols

เมื่อการใช้งาน 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

Model Context Protocol (MCP) เป็นมาตรฐานเปิดที่ให้วิธีการที่เป็นมาตรฐานสำหรับแอปพลิเคชันในการให้บริบทและเครื่องมือแก่ LLMs สิ่งนี้ช่วยให้เกิด “อะแดปเตอร์สากล” สำหรับแหล่งข้อมูลและเครื่องมือที่ AI Agents สามารถเชื่อมต่อได้ในรูปแบบที่สอดคล้องกัน

มาดูส่วนประกอบของ MCP, ประโยชน์เมื่อเทียบกับการใช้งาน API โดยตรง และตัวอย่างการใช้งาน MCP server โดย AI agents

ส่วนประกอบหลักของ MCP

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

MCP มีข้อดีสำคัญสำหรับ AI Agents:

การค้นหาเครื่องมือแบบไดนามิก: Agents สามารถรับรายการเครื่องมือที่มีอยู่จากเซิร์ฟเวอร์พร้อมคำอธิบายของสิ่งที่เครื่องมือทำได้แบบไดนามิก ซึ่งแตกต่างจาก API แบบดั้งเดิมที่มักต้องการการเขียนโค้ดแบบคงที่สำหรับการรวมระบบ หมายความว่าการเปลี่ยนแปลง API ใด ๆ จำเป็นต้องอัปเดตโค้ด MCP เสนอวิธี “รวมครั้งเดียว” ซึ่งนำไปสู่ความสามารถในการปรับตัวที่มากขึ้น

การทำงานร่วมกันระหว่าง LLMs: MCP ทำงานร่วมกับ LLMs ต่าง ๆ ได้ ทำให้มีความยืดหยุ่นในการเปลี่ยนโมเดลหลักเพื่อประเมินประสิทธิภาพที่ดีกว่า

ความปลอดภัยที่เป็นมาตรฐาน: MCP มีวิธีการรับรองความถูกต้องที่เป็นมาตรฐาน ซึ่งช่วยปรับปรุงความสามารถในการขยายเมื่อเพิ่มการเข้าถึง MCP servers เพิ่มเติม สิ่งนี้ง่ายกว่าการจัดการคีย์และประเภทการรับรองความถูกต้องที่แตกต่างกันสำหรับ API แบบดั้งเดิม

ตัวอย่าง MCP

MCP Diagram

ลองจินตนาการว่าผู้ใช้ต้องการจองเที่ยวบินโดยใช้ AI assistant ที่ขับเคลื่อนด้วย MCP

  1. การเชื่อมต่อ: AI assistant (MCP client) เชื่อมต่อกับ MCP server ที่ให้บริการโดยสายการบิน

  2. การค้นหาเครื่องมือ: Client ถาม MCP server ของสายการบินว่า “มีเครื่องมืออะไรบ้าง?” เซิร์ฟเวอร์ตอบกลับด้วยเครื่องมือ เช่น “search flights” และ “book flights”

  3. การเรียกใช้เครื่องมือ: ผู้ใช้ขอให้ AI assistant “ค้นหาเที่ยวบินจาก Portland ไป Honolulu” AI assistant ใช้ LLM เพื่อระบุว่าต้องเรียกใช้เครื่องมือ “search flights” และส่งพารามิเตอร์ที่เกี่ยวข้อง (ต้นทาง, ปลายทาง) ไปยัง MCP server

  4. การดำเนินการและการตอบกลับ: MCP server ทำหน้าที่เป็น wrapper และเรียก API การจองภายในของสายการบิน จากนั้นรับข้อมูลเที่ยวบิน (เช่น ข้อมูล JSON) และส่งกลับไปยัง AI assistant

  5. การโต้ตอบเพิ่มเติม: AI assistant นำเสนอทางเลือกเที่ยวบิน เมื่อผู้ใช้เลือกเที่ยวบิน AI assistant อาจเรียกใช้เครื่องมือ “book flight” บน MCP server เดียวกันเพื่อทำการจองให้เสร็จสมบูรณ์

Agent-to-Agent Protocol (A2A)

ในขณะที่ MCP มุ่งเน้นการเชื่อมต่อ LLMs กับเครื่องมือ Agent-to-Agent (A2A) protocol ก้าวไปอีกขั้นโดยช่วยให้ AI agents ต่าง ๆ สื่อสารและทำงานร่วมกันได้ A2A เชื่อมต่อ AI agents ข้ามองค์กร สภาพแวดล้อม และเทคโนโลยีเพื่อทำงานร่วมกันในงานที่แชร์

เราจะพูดถึงส่วนประกอบและประโยชน์ของ A2A พร้อมตัวอย่างการใช้งานในแอปพลิเคชันการเดินทางของเรา

ส่วนประกอบหลักของ A2A

A2A มุ่งเน้นการสื่อสารระหว่าง agents และการทำงานร่วมกันเพื่อทำงานย่อยของผู้ใช้ แต่ละส่วนประกอบของโปรโตคอลมีบทบาทดังนี้:

Agent Card

คล้ายกับ MCP server ที่แชร์รายการเครื่องมือ Agent Card มี:

Agent Executor

Agent Executor มีหน้าที่ ส่งบริบทของการสนทนาผู้ใช้ไปยัง Agent ระยะไกล Agent ระยะไกลต้องการสิ่งนี้เพื่อเข้าใจงานที่ต้องทำ ใน A2A server Agent ใช้ LLM ของตัวเองเพื่อวิเคราะห์คำขอที่เข้ามาและดำเนินงานโดยใช้เครื่องมือภายในของตัวเอง

Artifact

เมื่อ Agent ระยะไกลทำงานที่ร้องขอเสร็จ ผลงานของมันจะถูกสร้างเป็น artifact Artifact ประกอบด้วยผลลัพธ์ของงานที่ Agent ทำ คำอธิบายสิ่งที่เสร็จสิ้น และ บริบทข้อความ ที่ส่งผ่านโปรโตคอล หลังจากส่ง artifact การเชื่อมต่อกับ Agent ระยะไกลจะถูกปิดจนกว่าจะต้องการใช้งานอีกครั้ง

Event Queue

ส่วนประกอบนี้ใช้สำหรับ จัดการการอัปเดตและส่งข้อความ มีความสำคัญอย่างยิ่งในระบบ agentic production เพื่อป้องกันการปิดการเชื่อมต่อระหว่าง agents ก่อนที่งานจะเสร็จสมบูรณ์ โดยเฉพาะเมื่อเวลาที่ใช้ในการทำงานอาจนานขึ้น

ประโยชน์ของ A2A

การทำงานร่วมกันที่ดีขึ้น: ช่วยให้ agents จากผู้ให้บริการและแพลตฟอร์มต่าง ๆ สื่อสาร แชร์บริบท และทำงานร่วมกันได้อย่างราบรื่น ช่วยให้เกิดการทำงานอัตโนมัติข้ามระบบที่มักแยกออกจากกัน

ความยืดหยุ่นในการเลือกโมเดล: แต่ละ A2A agent สามารถตัดสินใจเลือก LLM ที่ใช้ในการให้บริการคำขอ ช่วยให้สามารถปรับแต่งหรือใช้โมเดลที่เหมาะสมที่สุดสำหรับแต่ละ agent ซึ่งแตกต่างจากการเชื่อมต่อ LLM เดียวในบางกรณีของ MCP

การรับรองความถูกต้องในตัว: การรับรองความถูกต้องถูกรวมเข้ากับโปรโตคอล A2A โดยตรง ให้กรอบความปลอดภัยที่แข็งแกร่งสำหรับการโต้ตอบระหว่าง agents

ตัวอย่าง A2A

A2A Diagram

ลองขยายสถานการณ์การจองการเดินทางของเรา แต่คราวนี้ใช้ A2A

  1. คำขอผู้ใช้ไปยัง Multi-Agent: ผู้ใช้โต้ตอบกับ “Travel Agent” A2A client/agent โดยอาจพูดว่า “กรุณาจองทริปไป Honolulu สำหรับสัปดาห์หน้า รวมถึงเที่ยวบิน โรงแรม และรถเช่า”

  2. การจัดการโดย Travel Agent: Travel Agent รับคำขอที่ซับซ้อนนี้ ใช้ LLM เพื่อวิเคราะห์งานและตัดสินใจว่าต้องโต้ตอบกับ agents เฉพาะทางอื่น ๆ

  3. การสื่อสารระหว่าง Agent: Travel Agent ใช้โปรโตคอล A2A เพื่อเชื่อมต่อกับ agents downstream เช่น “Airline Agent,” “Hotel Agent,” และ “Car Rental Agent” ที่สร้างโดยบริษัทต่าง ๆ

  4. การดำเนินงานที่มอบหมาย: Travel Agent ส่งงานเฉพาะไปยัง agents เฉพาะทางเหล่านี้ (เช่น “ค้นหาเที่ยวบินไป Honolulu,” “จองโรงแรม,” “เช่ารถ”) แต่ละ agent เฉพาะทางใช้ LLM ของตัวเองและเครื่องมือของตัวเอง (ซึ่งอาจเป็น MCP servers) เพื่อดำเนินงานเฉพาะของการจอง

  5. การตอบกลับที่รวมกัน: เมื่อ agents downstream ทั้งหมดทำงานเสร็จ Travel Agent รวบรวมผลลัพธ์ (รายละเอียดเที่ยวบิน การยืนยันโรงแรม การจองรถเช่า) และส่งคำตอบแบบแชทที่ครอบคลุมกลับไปยังผู้ใช้

Natural Language Web (NLWeb)

เว็บไซต์เป็นวิธีหลักที่ผู้ใช้เข้าถึงข้อมูลและข้อมูลทั่วอินเทอร์เน็ตมาโดยตลอด

มาดูส่วนประกอบต่าง ๆ ของ NLWeb, ประโยชน์ของ NLWeb และตัวอย่างการทำงานของ NLWeb โดยดูจากแอปพลิเคชันการเดินทางของเรา

ส่วนประกอบของ NLWeb

ตัวอย่าง NLWeb

NLWeb

ลองพิจารณาเว็บไซต์การจองการเดินทางของเราอีกครั้ง แต่คราวนี้ขับเคลื่อนด้วย NLWeb

  1. การนำเข้าข้อมูล: แคตตาล็อกผลิตภัณฑ์ที่มีอยู่ของเว็บไซต์การเดินทาง (เช่น รายการเที่ยวบิน คำอธิบายโรงแรม แพ็คเกจทัวร์) ถูกจัดรูปแบบโดยใช้ Schema.org หรือโหลดผ่าน RSS feeds เครื่องมือของ NLWeb นำเข้าข้อมูลที่มีโครงสร้างนี้ สร้าง embeddings และจัดเก็บไว้ในฐานข้อมูลเวกเตอร์ในพื้นที่หรือระยะไกล

  2. การค้นหาภาษาธรรมชาติ (มนุษย์): ผู้ใช้เยี่ยมชมเว็บไซต์และแทนที่จะนำทางผ่านเมนู พิมพ์ลงในอินเทอร์เฟซแชท: “ค้นหาโรงแรมที่เหมาะสำหรับครอบครัวใน Honolulu ที่มีสระว่ายน้ำสำหรับสัปดาห์หน้า”

  3. การประมวลผล NLWeb: แอปพลิเคชัน NLWeb รับคำถามนี้ ส่งคำถามไปยัง LLM เพื่อทำความเข้าใจ และค้นหาฐานข้อมูลเวกเตอร์สำหรับรายการโรงแรมที่เกี่ยวข้องในเวลาเดียวกัน

  4. ผลลัพธ์ที่แม่นยำ: LLM ช่วยตีความผลการค้นหาจากฐานข้อมูล ระบุการจับคู่ที่ดีที่สุดตามเกณฑ์ “เหมาะสำหรับครอบครัว,” “สระว่ายน้ำ,” และ “Honolulu” และจัดรูปแบบคำตอบภาษาธรรมชาติที่เหมาะสม คำตอบอ้างอิงถึงโรงแรมจริงจากแคตตาล็อกของเว็บไซต์ หลีกเลี่ยงข้อมูลที่แต่งขึ้น

  5. การโต้ตอบกับ AI Agent: เนื่องจาก NLWeb ทำหน้าที่เป็น MCP server AI travel agent ภายนอกสามารถเชื่อมต่อกับ NLWeb instance ของเว็บไซต์นี้ได้ AI agent สามารถใช้วิธี ask ของ MCP เพื่อสอบถามเว็บไซต์โดยตรง เช่น ask("มีร้านอาหารที่เหมาะสำหรับมังสวิรัติในพื้นที่ Honolulu ที่โรงแรมแนะนำหรือไม่?") NLWeb instance จะประมวลผลคำถามนี้ โดยใช้ฐานข้อมูลข้อมูลร้านอาหาร (ถ้ามีการโหลด) และส่งคำตอบ JSON ที่มีโครงสร้างกลับมา

มีคำถามเพิ่มเติมเกี่ยวกับ MCP/A2A/NLWeb?

เข้าร่วม Azure AI Foundry Discord เพื่อพบปะกับผู้เรียนคนอื่น ๆ เข้าร่วม office hours และรับคำตอบสำหรับคำถามเกี่ยวกับ AI Agents ของคุณ

แหล่งข้อมูล


ข้อจำกัดความรับผิดชอบ:
เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI Co-op Translator แม้ว่าเราจะพยายามให้การแปลมีความถูกต้อง แต่โปรดทราบว่าการแปลอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่แม่นยำ เอกสารต้นฉบับในภาษาต้นทางควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษามนุษย์มืออาชีพ เราจะไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความที่ผิดพลาดซึ่งเกิดจากการใช้การแปลนี้