การทำงานร่วมกันของระบบนิเวศ A2A: AI จากเฟรมเวิร์กต่างกันก็โทรหากันได้
เฮอร์มีส แพลตฟอร์มข้อความ ตอนที่ 41: โปรโตคอลเปิด A2A เชื่อมต่อเอเจนต์อัจฉริยะข้ามเฟรมเวิร์กได้อย่างไร
ถ้าโทรศัพท์แต่ละยี่ห้อโทรได้เฉพาะโทรศัพท์ยี่ห้อเดียวกัน โทรศัพท์คงถูกยกเลิกไปนานแล้ว เอเจนต์ AI ก็กำลังเผชิญวิกฤติแบบเดียวกัน — จนกว่าโปรโตคอล A2A จะเข้ามาแก้ไข
ปัญหา: AI จากแต่ละเฟรมเวิร์กพูดกันคนละภาษา เหมือนภาษาถิ่น
ลองนึกภาพว่าที่บ้านคุณมีเอเจนต์ Hermes ที่ทำงานบริษัทใช้บอทที่สร้างด้วย LangChain เพื่อนแนะนำผู้ช่วยเล็กๆ ที่เขียนด้วย CrewAI มาให้ พวกมันเก่งกันหมด แต่ปัญหาคือ — พวกมันฟังกันไม่รู้เรื่อง
เหมือนกับเมืองไทยที่มีภาษาถิ่นหลากหลาย แต่ละพื้นที่คุยกันเองได้อย่างเมามันส์ แต่พอข้ามไปอีกหมู่บ้านก็งงกันไปหมด เฟรมเวิร์ก AI ในตอนนี้ก็เป็นแบบนั้น: Hermes ก็มีวิธีพูดแบบ Hermes, LangChain ก็มีอินเทอร์เฟซแบบ LangChain, CrewAI ก็มีกติกาแบบ CrewAI คุณอยากให้ Hermes ส่งต่องานให้ LangChain จัดการต่อ? ขอโทษนะครับ ต้องพึ่งคุณคัดลอกวางเอง หรือไม่ก็เขียนโค้ดกาวเป็นชุดใหญ่
นี่คือสิ่งที่เรียกว่า “เกาะแห่งเอเจนต์” (Agent Island) AI แต่ละตัวฉลาดมาก แต่พอรวมกันกลับกลายเป็นโง่
ทำไม A2A ถึงเชื่อมต่อได้: นามบัตรหนึ่งใบ + ภาษากลางหนึ่งชุด
โปรโตคอล A2A (Agent-to-Agent) ถูกสร้างมาเพื่อแก้ปัญหา “การสื่อสารข้ามหมู่บ้าน” นี้ มันเป็นโปรโตคอลเปิดที่ริเริ่มโดย Google และอยู่ภายใต้การดูแลของ Linux Foundation โค้ดเป็นโอเพนซอร์ส (Apache 2.0) ไม่ได้เป็นของบริษัทใดบริษัทหนึ่ง นี่หมายความว่าอะไร? หมายความว่ามันไม่ใช่ “ของส่วนตัว” ของผู้ผลิตเจ้าใดเจ้าไหน แต่เป็น “ภาษากลาง” ที่ทุกฝ่ายนั่งลงคุยกันแล้วตกลงร่วมกัน
การออกแบบหลักของ A2A เข้าถึงง่ายมาก แค่สองอย่าง:
อย่างแรก: Agent Card (นามบัตรเอเจนต์) เอเจนต์ทุกตัวต้องวาง “นามบัตร” ไว้ในตำแหน่งคงที่ (.well-known/agent-card.json) โดยเขียนไว้ชัดเจนว่า: ฉันชื่ออะไร ฉันทำอะไรได้บ้าง มีสกิลอะไรบ้าง ต้องใช้สิทธิ์อะไรบ้าง คนอื่นเห็นนามบัตรแล้วรู้ทันทีว่าจะขอความช่วยเหลือได้หรือไม่ และขออย่างไร เหมือนคุณได้นามบัตรพนักงานจากอีกบริษัทหนึ่ง พอเห็นตำแหน่งก็รู้ว่าควรคุยเรื่องนี้กับเขาหรือเปล่า
อย่างที่สอง: การสื่อสารมาตรฐาน JSON-RPC 2.0 เอเจนต์ทุกตัวใช้ “สายโทรศัพท์” ชุดเดียวกันในการสื่อสาร — ส่งข้อความ รับข้อความ ยกเลิกงาน ดูความคืบหน้า ล้วนเป็นการกระทำมาตรฐานทั้งหมด และรองรับการสตรีมแบบ SSE เหมือนโทรศัพท์ที่เขาพูดทีละประโยคแล้วเราฟังทีละประโยค ไม่ต้องรอให้เขาพูดจบทั้งประโยคยาวๆ ก่อนค่อยตอบ งานยาวๆ ยังสามารถส่งการแจ้งเตือนผ่าน webhook ได้ พอทำงานเสร็จก็บอกคุณ ไม่ต้องเฝ้ารอตลอดเวลา
การออกแบบนี้ทำให้ A2A เสริมกับโปรโตคอลยอดนิยมอีกตัวอย่าง MCP ได้อย่างลงตัว: MCP ตอบคำถาม “ฉันใช้เครื่องมืออะไรได้บ้าง” ส่วน A2A ตอบคำถาม “ใครช่วยฉันทำงานได้บ้าง” อันหนึ่งดูแลเรื่องเครื่องมือ อีกอันดูแลเรื่องการทำงานร่วมกัน
ภาพรวมระบบนิเวศ: เชื่อมต่อกับใครได้บ้าง?
เอกสารทางการระบุชัดเจน: ปลั๊กอิน A2A ของ Hermes สามารถทำงานร่วมกับคู่สัญญาที่รองรับ A2A ได้ทั้งหมด หมายความว่า:
- Hermes อีกเครื่องหนึ่ง (ได้แน่นอน)
- เอเจนต์ LangChain (ได้)
- เอเจนต์ CrewAI (ได้)
- เอเจนต์ ADK ของ Google (ได้)
- อะไรก็ตามที่สร้างด้วย a2a-sdk อย่างเป็นทางการ (ได้ทั้งหมด)
และการทำงานร่วมกันนี้ไม่ใช่แค่พูดบนกระดาษ — มีการทดสอบจริงด้วย Python a2a-sdk อย่างเป็นทางการแล้ว: การแยกวิเคราะห์นามบัตร การส่งข้อความ การสนทนาแบบสตรีม ผ่านหมดทุกอย่าง
กรณีจริง: การทำงานข้ามเฟรมเวิร์กที่เกิดขึ้นแล้ว
กรณีที่ 1: Hermes + OpenClaw สื่อสารบนเครื่องเดียวกัน (GitHub issue #42747)
มีผู้ใช้คนหนึ่งรัน Hermes และ OpenClaw บน Mac เครื่องเดียวกัน โดยเอเจนต์ทั้งสองเชื่อมต่อกับ Telegram แต่ Telegram มีข้อจำกัดที่น่าปวดหัว: ในกลุ่ม บอทจะมองไม่เห็นข้อความของกันและกัน ดังนั้น AI สองตัวนี้ถึงแม้จะอยู่ใต้ชายคาเดียวกัน แต่ก็ต้องพึ่งผู้ใช้เป็นคนส่งข้อความให้
นี่คือสถานการณ์ทั่วไปของ A2A: ให้ Hermes มอบหมายงานให้สกิลของ OpenClaw โดยตรง และในทางกลับกัน ข้าม Telegram และการส่งต่อโดยมนุษย์ไปได้เลย เอเจนต์โทรหากันตรงๆ ไม่ต้องผ่านสวิทช์บอร์ด
กรณีที่ 2: ข้อเสนอการผสาน Gotong (#58325)
Gotong เป็นแพลตฟอร์มประสานงานเวิร์กโฟลว์แบบโฮสต์เอง เทียบได้กับการมี “ผู้จัดการโครงการ” ให้เอเจนต์ แนวคิดในข้อเสนอคือ: Hermes ดูแลเรื่องความจำส่วนบุคคล การใช้เหตุผล และการตัดสินใจ ส่วน Gotong ดูแลโครงสร้างพื้นฐานการทำงานร่วมกันที่อยู่ภายใต้การกำกับ — การจัดตารางงาน การอนุมัติโดยมนุษย์ บันทึกการดำเนินการครบถ้วน ทั้งสองเชื่อมต่อกันผ่าน A2A endpoint ต่างฝ่ายต่างทำในสิ่งที่ถนัด
กรณีที่ 3: การทำงานร่วมกันในองค์กรแบบไม่ต้องแก้โค้ด (#67951)
มีคนเสนอแนวทางเปลี่ยนผ่านที่เบากว่า: ใช้กลไก Skill ของ Hermes ล้วนๆ สร้างแพ็กเกจการทำงานร่วมกัน โดยเอเจนต์เรียกใช้ shell script ผ่านเครื่องมือเทอร์มินัล และสคริปต์สื่อสารกับ Hub กลางผ่าน HTTP ไม่ต้องแก้โค้ดแม้แต่บรรทัดเดียว ก็สามารถทำให้การทำงานร่วมกันของหลายเอเจนต์เป็นจริงได้ นี่คือ “สะพานชั่วคราว” ก่อนที่ A2A จะลงตัวอย่างเป็นทางการ
ความหมายต่อผู้ใช้
การเปลี่ยนแปลงที่การทำงานร่วมกันของระบบนิเวศ A2A นำมาให้ สำหรับผู้ใช้ทั่วไปแล้วเข้าใจง่ายมาก:
คุณไม่ต้องเลือกข้างอีกต่อไป วันนี้ใช้ Hermes พรุ่งนี้อยากลอง CrewAI? ไม่มีปัญหา พวกมันสื่อสารกันได้ ข้อมูล งาน และบริบทของคุณไหลไปมาได้อย่างไร้รอยต่อ
เอเจนต์ของคุณไม่ใช่ฮีโร่เดียวดายอีกต่อไป เอเจนต์ตัวเดียวทำไม่สำเร็จ มันสามารถ “เรียกเพื่อน” เองได้ — ค้นหาเอเจนต์อีกตัวที่มีสกิลเกี่ยวข้องผ่าน A2A แล้วมอบหมายงานให้ เหมือนตอนทำงานเจอเรื่องที่ไม่ถนัด คุณก็ไปถามเพื่อนร่วมงานที่รู้เรื่องโดยตรง ไม่ต้องให้เจ้านายเป็นคนส่งต่อทุกเรื่อง
ระบบนิเวศยิ่งใหญ่ขึ้นเรื่อยๆ เพราะโปรโตคอลเปิดกว้างและเป็นกลาง ทุกเฟรมเวิร์กสามารถเชื่อมต่อได้ วันนี้เชื่อมกับ LangChain ได้ พรุ่งนี้อาจเชื่อมกับเอเจนต์ที่บริษัทคุณพัฒนาขึ้นเอง — ขอแค่ทำตามมาตรฐาน A2A
สรุปในหนึ่งประโยค: A2A ทำให้เอเจนต์ AI เปลี่ยนจาก “เกาะภาษา” กลายเป็น “ชุมชนภาษากลาง” AI ของคุณไม่ใช่เกาะโดดเดี่ยวอีกต่อไป แต่เป็นโหนดหนึ่งในเครือข่ายความร่วมมือขนาดใหญ่ ที่พร้อมจะหาผู้ช่วยได้ตลอดเวลา และถูกคนอื่นค้นหาเจอได้เช่นกัน
📖 เอกสารทางการ
この記事は Hermes Agent のเอกสารทางการに基づいています:เอกสารทางการ › user-guide/messaging/a2a