ai-agents-for-beginners

การใช้โปรโตคอลที่มีตัวแทน (MCP, A2A และ NLWeb)

Agentic Protocols

(คลิกที่ภาพด้านบนเพื่อดูวิดีโอของบทเรียนนี้)

ในขณะที่การใช้เอเจนต์ 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

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

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

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

MCP ทำงานบน สถาปัตยกรรมแบบไคลเอนต์-เซิร์ฟเวอร์ และส่วนประกอบหลักได้แก่:

Hosts คือแอปพลิเคชัน LLM (เช่น โปรแกรมแก้ไขโค้ดอย่าง VSCode) ที่เริ่มการเชื่อมต่อกับเซิร์ฟเวอร์ MCP

Clients คือส่วนประกอบภายในแอปโฮสต์ที่รักษาการเชื่อมต่อแบบหนึ่งต่อหนึ่งกับเซิร์ฟเวอร์

Servers คือโปรแกรมน้ำหนักเบาที่เปิดเผยความสามารถเฉพาะ

โปรโตคอลนี้ประกอบด้วยหลักฐาน 3 ประการซึ่งเป็นความสามารถของเซิร์ฟเวอร์ MCP:

Tools: เป็นการกระทำหรือฟังก์ชันเฉพาะที่เอเจนต์ AI สามารถเรียกใช้เพื่อดำเนินการ เช่น บริการพยากรณ์อากาศอาจมี “เครื่องมือเรียกดูสภาพอากาศ” หรือเซิร์ฟเวอร์อีคอมเมิร์ซอาจมี “เครื่องมือซื้อสินค้า” เซิร์ฟเวอร์ MCP จะโฆษณาชื่อเครื่องมือ คำอธิบาย และโครงสร้างอินพุต/เอาต์พุตในรายการความสามารถ

Resources: เป็นรายการข้อมูลหรือเอกสารที่อ่านได้อย่างเดียวซึ่งเซิร์ฟเวอร์ MCP อาจจัดหาให้ และไคลเอนต์สามารถดึงข้อมูลได้ตามต้องการ เช่น เนื้อหาไฟล์ บันทึกฐานข้อมูล หรือไฟล์บันทึกสามารถเป็นข้อความ (เช่น โค้ดหรือ JSON) หรือไบนารี (เช่น รูปภาพหรือ PDF)

Prompts: เป็นแม่แบบที่กำหนดไว้ล่วงหน้าซึ่งมีคำแนะนำให้ ใช้สำหรับเวิร์กโฟลว์ที่ซับซ้อนมากขึ้นได้

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

MCP มีข้อดีสำคัญสำหรับเอเจนต์ AI ดังนี้:

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

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

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

ตัวอย่าง MCP

MCP Diagram

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

  1. การเชื่อมต่อ: ผู้ช่วย AI (ไคลเอนต์ MCP) เชื่อมต่อกับเซิร์ฟเวอร์ MCP ที่สายการบินให้บริการ

  2. ค้นพบเครื่องมือ: ไคลเอนต์ถามเซิร์ฟเวอร์ MCP ของสายการบินว่า “คุณมีเครื่องมืออะไรให้ใช้บ้าง?” เซิร์ฟเวอร์ตอบด้วยเครื่องมือต่าง ๆ เช่น “ค้นหาเที่ยวบิน” และ “จองเที่ยวบิน”

  3. เรียกใช้เครื่องมือ: คุณขอให้ผู้ช่วย AI “ช่วยค้นหาเที่ยวบินจากพอร์ตแลนด์ไปโฮโนลูลู” ผู้ช่วย AI โดยใช้ LLM ของตนจะรู้ว่า ต้องเรียกใช้เครื่องมือ “ค้นหาเที่ยวบิน” พร้อมส่งพารามิเตอร์ที่เกี่ยวข้อง (ต้นทาง, ปลายทาง) ให้กับเซิร์ฟเวอร์ MCP

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

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

โปรโตคอล Agent-to-Agent (A2A)

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

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

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

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

Agent Card

คล้ายกับวิธีที่เซิร์ฟเวอร์ MCP แชร์รายการเครื่องมือ Agent Card มีข้อมูลดังนี้:

Agent Executor

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

Artifact

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

Event Queue

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

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

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

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

การรับรองความถูกต้องในตัว: การรับรองความถูกต้องบูรณาการอยู่ในโปรโตคอล A2A โดยตรง ให้กรอบความปลอดภัยมั่นคงสำหรับการโต้ตอบของเอเจนต์

ตัวอย่าง A2A

A2A Diagram

ขยายกรณีจองทัวร์ของเรา โดยใช้ A2A

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

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

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

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

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

Natural Language Web (NLWeb)

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

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

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

ตัวอย่าง NLWeb

NLWeb

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

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

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

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

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

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

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

เข้าร่วม Microsoft Foundry Discord เพื่อพบกับผู้เรียนอื่น ๆ เข้าร่วมชั่วโมงทำงาน และรับคำตอบเกี่ยวกับ AI Agents ของคุณ

แหล่งข้อมูล


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