โปรโตคอล A2A — AI คุยกับ AI
โปรโตคอล A2A — AI คุยกับ AI — คู่มือเข้าใจง่าย อ้างอิงจากเอกสารอย่างเป็นทางการ
ลองนึกภาพว่ามีเพื่อนร่วมงานสองคนจากคนละบริษัทส่งอีเมลหากันเพื่อทำงานโปรเจกต์ให้เสร็จ — เพียงแต่เพื่อนร่วมงานสองคนนั้นคือ AI agent และ “อีเมล” ในที่นี้คือโปรโตคอลมาตรฐานที่ชื่อว่า A2A
A2A (Agent-to-Agent) คือมาตรฐานเปิด (เวอร์ชัน 1.0 ดูแลโดย Linux Foundation) ที่ช่วยให้ AI agent อิสระสามารถพูดคุยสื่อสารกันได้ มันเปรียบเสมือนภาษาสากลของ AI: ไม่ว่า agent ของคุณจะเป็น Hermes, บอท LangChain, ทีม CrewAI หรือ agent ของ Google ADK พวกมันทั้งหมดสามารถเข้าใจซึ่งกันและกันได้
ควรใช้ A2A เมื่อไหร่?
คุณอาจต้องการ A2A เมื่อ:
- Hermes บนแล็ปท็อปของคุณต้องการความช่วยเหลือจาก Hermes บนเซิร์ฟเวอร์ — ซึ่งแต่ละตัวมีหน่วยความจำ เครื่องมือ และข้อมูลรับรองเป็นของตัวเอง
- คุณต้องการมอบหมายงานให้กับ agent ผู้เชี่ยวชาญ — เช่นตัวที่เก่งเรื่องการค้นหาเว็บหรือการเขียนโค้ด
- คุณต้องการเปิดเผย Hermes ของคุณเป็นบริการ เพื่อให้ agent จากเฟรมเวิร์กอื่นสามารถส่งงานมาให้ได้
เคล็ดลับ: หากคุณรัน agent หลายตัวบนเครื่อง เดียวกัน ไม่ต้องใช้ A2A ให้ใช้ subagent แบบ in-process หรือ kanban board แทน A2A มีไว้สำหรับการข้ามเครื่อง ข้ามโปรเซส หรือข้ามเฟรมเวิร์ก
การเปิดใช้งาน A2A
การเริ่มต้นนั้นง่ายมาก รันคำสั่ง:
hermes gateway setup
จากนั้นเลือก A2A หรือจะแก้ไขไฟล์ ~/.hermes/config.yaml:
gateway:
platforms:
a2a:
enabled: true
extra:
port: 9900
เครื่องมือสำหรับการเรียกออกไป (การเรียก agent อื่น) จะถูกปิดไว้โดยค่าเริ่มต้น เปิดใช้งานได้ด้วยคำสั่ง:
hermes tools
การเรียก Agent อื่น (Outbound)
เมื่อเปิดใช้งานแล้ว Hermes ของคุณจะได้รับชุดเครื่องมือ:
a2a_discover(url)— ดึงข้อมูลและสรุป “Agent Card” ของอีกฝ่าย (เปรียบเสมือนนามบัตรของ AI)a2a_call(agent, message, context_id?)— ส่งงานและรับคำตอบกลับa2a_list()— ดูรายชื่อ peers ที่ตั้งค่าไว้และการสนทนาที่บันทึกไว้a2a_history(context_id)— เรียกดูการสนทนา A2A ในอดีตa2a_orchestrate(capability, message, mode?)— ส่งงานกระจายไปยังทุก peers ที่มีความสามารถตามที่กำหนด
คุณสามารถตั้งค่า peers ที่รู้จักใน config.yaml:
a2a_agents:
researcher:
url: "http://research-box.local:9900"
auth: { type: bearer, token: "..." }
timeout: 120
capabilities: [web_search, research]
จากนั้นเพียงแค่บอก Hermes ของคุณ: “ช่วยถาม researcher agent ให้สรุปประกาศบน arXiv ของวันนี้หน่อย” มันจะจัดการส่วนที่เหลือให้เอง
การเปิดรับการเรียก (Inbound)
เมื่อเปิดใช้งานแพลตฟอร์มแล้ว Hermes ของคุณจะให้บริการ:
- Agent Card ที่
GET /.well-known/agent-card.json— ประกาศชื่อ agent ทักษะ และข้อกำหนดการรับรองความถูกต้อง - JSON-RPC 2.0 ที่
POST /— เมธอดมาตรฐาน เช่นSendMessage,GetTask,ListTasksและอื่นๆ - SSE streaming สำหรับการตอบกลับแบบเรียลไทม์
- Push notifications (webhooks) สำหรับงานที่ใช้เวลานาน โดยลงนามด้วย HMAC-SHA256
งานที่รับเข้ามาจะถูกฉีดเข้าไปในเซสชันเกตเวย์ที่ทำงานอยู่ — ดังนั้น agent ของคุณก็ทำงานได้ตามปกติ
สรุป
A2A คือนักแปลสากลสำหรับ AI agent มันช่วยให้ Hermes ของคุณสามารถเรียก agent อื่นและถูกเรียกได้ ข้ามเครื่องและข้ามเฟรมเวิร์ก ด้วยมาตรฐานเปิดที่สะอาดและเรียบง่าย
เคล็ดลับเชิงปฏิบัติ: เริ่มจากเล็กๆ ก่อน เปิดใช้งาน A2A ตั้งค่า peer หนึ่งตัว (เช่น research agent) แล้วลองใช้ a2a_call สักครั้ง เมื่อเห็นว่ามันทำงานได้แล้ว ค่อยขยายไปยัง peers และความสามารถอื่นๆ รับรองว่าคุณจะสร้างทีม AI ได้ในไม่ช้า
📖 เอกสารทางการ
この記事は Hermes Agent のเอกสารทางการに基づいています:เอกสารทางการ › user-guide/messaging/a2a