ai-agents-for-beginners

การใช้พรโตคอล Agentic (MCP, A2A และ NLWeb)

Agentic Protocols

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

เมื่อการใช้เอเจนต์ AI เพิ่มขึ้น ความต้องการพรโตคอลที่รับประกันการมาตรฐาน ความปลอดภัย และสนับสนุนนวัตกรรมแบบเปิดก็เพิ่มขึ้นเช่นกัน ในบทเรียนนี้ เราจะครอบคลุม 3 พรโตคอลที่ต้องการตอบสนองความต้องการนี้ - Model Context Protocol (MCP), Agent to Agent (A2A) และ Natural Language Web (NLWeb)

บทนำ

ในบทเรียนนี้ เราจะครอบคลุม:

• วิธีที่ MCP ช่วยให้ AI Agents เข้าถึงเครื่องมือและข้อมูลภายนอกเพื่อทำงานให้ผู้ใช้สำเร็จ

• วิธีที่ A2A เปิดใช้งานการสื่อสารและความร่วมมือระหว่างเอเจนต์ AI ต่าง ๆ

• วิธีที่ NLWeb นำอินเทอร์เฟซภาษาธรรมชาติไปสู่เว็บไซต์ใด ๆ ทำให้ AI Agents สามารถค้นหาและมีปฏิสัมพันธ์กับเนื้อหาได้

เป้าหมายการเรียนรู้

• ระบุ จุดประสงค์หลักและประโยชน์ของ MCP, A2A และ NLWeb ในบริบทของเอเจนต์ AI

• อธิบาย ว่าพรโตคอลแต่ละอันช่วยส่งเสริมการสื่อสารและการโต้ตอบระหว่าง LLMs เครื่องมือ และเอเจนต์อื่น ๆ อย่างไร

• รับรู้ บทบาทเฉพาะที่พรโตคอลแต่ละอันเล่นในการสร้างระบบ agentic ที่ซับซ้อน

Model Context Protocol

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

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

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

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

• Hosts คือแอป LLM (เช่น โปรแกรมแก้ไขโค้ดอย่าง VSCode) ที่เริ่มการเชื่อมต่อไปยัง MCP Server

• Clients คือคอมโพเนนต์ในแอปโฮสต์ที่รักษาการเชื่อมต่อแบบตัวต่อตัวกับเซิร์ฟเวอร์

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

ในพรโตคอลมี 3 พื้นฐานหลักซึ่งเป็นความสามารถของ MCP Server:

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

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

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

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

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

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

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

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

ตัวอย่าง MCP

MCP Diagram

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

  1. การเชื่อมต่อ: ผู้ช่วย AI (ไคลเอนต์ MCP) เชื่อมกับ MCP server ของสายการบิน

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

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

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

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

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

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

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

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

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

Agent Card

คล้ายกับการที่ MCP server แบ่งปันรายการเครื่องมือ Agent Card จะประกอบด้วย:

Agent Executor

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

Artifact

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

Event Queue

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

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

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

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

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

ตัวอย่าง A2A

A2A Diagram

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

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

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

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

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

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

Natural Language Web (NLWeb)

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

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

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

ตัวอย่าง NLWeb

NLWeb

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

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

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

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

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

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

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

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

ทรัพยากร

บทเรียนก่อนหน้า

AI Agents in Production

บทเรียนถัดไป

Context Engineering for AI Agents


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