Agent2Agent प्रोटोकॉल: आर्किटेक्चर, सुरक्षा और MCP तुलना
Agent2Agent (A2A) एक ओपन प्रोटोकॉल है, जिसे Google Cloud ने अप्रैल 2025 में लॉन्च किया और Linux Foundation को दान किया। यह विभिन्न फ्रेमवर्क और वेंडर पर बने AI एजेंट्स को एक मानकीकृत HTTP/JSON इंटरफेस के माध्यम से संवाद करने, टास्क डेलीगेट करने और परिणाम साझा करने में सक्षम बनाता है। जहां MCP टूल एक्सेस समस्या (एक LLM का बाहरी APIs को कॉल करना) हल करता है, वहीं A2A समन्वय समस्या हल करता है: एक एजेंट अपने स्वयं के रीज़निंग लूप, मेमोरी और टूल्स वाले विशेषज्ञ पीयर एजेंट को पूरा सब-टास्क डेलीगेट करता है। a2aproject/A2A GitHub रिपॉजिटरी में Salesforce, Atlassian और SAP सहित 50 से अधिक संगठनों का योगदान है।
Agent2Agent (A2A) AI एजेंट इंटरऑपरेबिलिटी के लिए एक ओपन HTTP/JSON प्रोटोकॉल है, जिसे Linux Foundation द्वारा मेंटेन किया जाता है। यह मानकीकृत करता है कि स्वायत्त एजेंट विभिन्न फ्रेमवर्क और वेंडर के बीच कैसे क्षमताओं का विज्ञापन करते हैं, टास्क डेलीगेट करते हैं और परिणाम साझा करते हैं।
Agent2Agent (A2A) प्रोटोकॉल क्या है?
A2A AI एजेंट इकोसिस्टम में एक ठोस अंतर से उत्पन्न हुआ: मॉडल-टू-टूल संचार में एक मानक था (MCP, नवंबर 2024 में लॉन्च), लेकिन एजेंट-टू-एजेंट संचार में नहीं था। जब एक ऑर्केस्ट्रेटर एजेंट को किसी विशेषज्ञ पीयर को सब-टास्क हैंड ऑफ करने की जरूरत होती है, तो उस डेलीगेशन के लिए कोई मानकीकृत वायर फॉर्मेट नहीं था।
Google Cloud ने 9 अप्रैल 2025 को A2A की घोषणा की, साथ में स्पेसिफिकेशन में योगदान देने वाले 50 से अधिक टेक्नोलॉजी पार्टनर्स के प्रारंभिक समूह की भी। कई वेंडर-संचालित मानकों के विपरीत, A2A को Linux Foundation को तटस्थ गवर्नेंस के लिए दान किया गया।
प्रोटोकॉल का मूल HTTP/JSON है। A2A-अनुरूप एजेंट कुछ एंडपॉइंट्स एक्सपोज करता है: एजेंट कार्ड (क्षमता मैनिफेस्ट), टास्क सबमिशन एंडपॉइंट, स्टेटस पोलिंग एंडपॉइंट, और लंबे टास्क के लिए SSE स्ट्रीमिंग एंडपॉइंट।
A2A जो मल्टी-एजेंट समन्वय समस्या हल करता है उसके संदर्भ के लिए, मल्टी-एजेंट सिस्टम आर्किटेक्चर और AI एजेंट ऑर्केस्ट्रेशन पैटर्न देखें।
A2A प्रोटोकॉल आर्किटेक्चर
A2A तीन मुख्य अवधारणाएं परिभाषित करता है: एजेंट कार्ड (क्षमता खोज), टास्क लाइफसाइकल (स्टेटफुल डेलीगेशन ट्रैकिंग), और डिलीवरी मोड (SSE स्ट्रीमिंग और वेबहुक पुश)।
एजेंट कार्ड: क्षमता विज्ञापन और एन्यूमेरेशन रिस्क
एजेंट कार्ड एक JSON डॉक्यूमेंट है जो एक जाने-माने URL (/.well-known/agent.json) पर सर्व किया जाता है और बताता है कि एजेंट क्या कर सकता है। न्यूनतम एजेंट कार्ड में शामिल है:
{
"name": "web-research-agent",
"description": "वेब सर्च का उपयोग करके विषयों पर शोध करता है और संरचित सारांश लौटाता है",
"version": "1.0.0",
"url": "https://agents.example.com/web-research",
"skills": [
{
"id": "research_topic",
"name": "विषय पर शोध",
"description": "किसी विषय के लिए वेब खोजें और संरचित सारांश लौटाएं",
"inputModes": ["text"],
"outputModes": ["text", "data"]
}
],
"authentication": {
"schemes": ["bearer"]
}
}
एजेंट कार्ड डायनामिक क्षमता खोज सक्षम करते हैं, लेकिन सुरक्षा जोखिम उठाते हैं: A2A बेस प्रोफाइल में, एजेंट कार्ड डिफ़ॉल्ट रूप से अनऑथेंटिकेटेड हैं, पूरी स्किल सरफेस को बिना ऑथेंटिकेशन के एन्यूमेरेशन के लिए एक्सपोज करते हैं।
प्रोडक्शन डिप्लॉयमेंट को ऑथेंटिकेशन के बाद ही एजेंट कार्ड सर्व करना चाहिए या उन्हें इंटर्नल नेटवर्क सेगमेंट तक सीमित करना चाहिए। AI एजेंट सुरक्षा थ्रेट मॉडल क्षमता एन्यूमेरेशन को रिकॉन अटैक वेक्टर के रूप में कवर करता है।
टास्क लाइफसाइकल: सबमिट से पूर्ण तक पांच स्टेट
A2A पांच-स्टेट टास्क लाइफसाइकल परिभाषित करता है:
- submitted - रिमोट एजेंट द्वारा टास्क प्राप्त; अभी तक प्रोसेसिंग में नहीं लिया
- working - रिमोट एजेंट टास्क को सक्रिय रूप से प्रोसेस कर रहा है (SSE के जरिए प्रगति स्ट्रीम कर सकता है)
- input-required - रिमोट एजेंट को जारी रखने से पहले स्पष्टीकरण चाहिए (ह्यूमन-इन-द-लूप गेट)
- completed - टास्क पूर्ण; रिज़ल्ट आर्टिफैक्ट रिट्रीवल के लिए उपलब्ध
- failed - टास्क विफल; टास्क स्टेटस ऑब्जेक्ट में एरर विवरण
input-required स्टेट लंबे ऑटोनॉमस पाइपलाइन में ह्यूमन-इन-द-लूप चेकपॉइंट के लिए A2A का मेकेनिज्म है।
पुश बनाम पुल टास्क डिलीवरी: SSE और वेबहुक
A2A टास्क परिणामों के लिए दो डिलीवरी मोड सपोर्ट करता है:
SSE (सर्वर-सेंट इवेंट्स): डेलीगेटिंग एजेंट रिसीविंग एजेंट के स्ट्रीमिंग एंडपॉइंट पर एक पर्सिस्टेंट कनेक्शन खोलता है। SSE लंबे टास्क का मुख्य मेकेनिज्म है जहां इंक्रीमेंटल प्रगति चाहिए।
वेबहुक पुश: डेलीगेटिंग एजेंट सबमिशन पर एक कॉलबैक URL प्रदान करता है। सर्वरलेस वातावरण में पसंद किया जाता है जहां पर्सिस्टेंट SSE कनेक्शन बनाए रखना संभव नहीं।
A2A बनाम MCP: अलग-अलग लेयर, अलग-अलग समस्याएं
A2A और MCP प्रतिस्पर्धी नहीं, पूरक हैं। वे एजेंट स्टैक की अलग-अलग लेयर पर काम करते हैं और विभिन्न समन्वय समस्याएं हल करते हैं।
| आयाम | MCP | A2A |
|---|---|---|
| उद्देश्य | टूल एक्सेस - एक LLM बाहरी APIs को कॉल करता है | एजेंट समन्वय - एक एजेंट दूसरे को डेलीगेट करता है |
| संचार | एक रीज़निंग टर्न में सिंक्रोनस टूल कॉल | असिंक्रोनस टास्क डेलीगेशन; रिसीविंग एजेंट का अपना लूप |
| ऑथेंटिकेशन (डिफ़ॉल्ट) | आवश्यक - MCP सर्वर क्लाइंट को ऑथेंटिकेट करते हैं | बेस प्रोफाइल में वैकल्पिक - अनॉनिमस अनुमत |
| डिस्कवरी | MCP सर्वर मैनिफेस्ट (टूल लिस्ट) | एजेंट कार्ड (JSON: स्किल्स + ऑथ आवश्यकताएं) |
| स्टेट | प्रत्येक टूल कॉल पर स्टेटलेस | स्टेटफुल, 5-स्टेट लाइफसाइकल |
| स्ट्रीमिंग | कोर स्पेसिफिकेशन में नहीं | रियल-टाइम SSE; असिंक के लिए वेबहुक पुश |
| मुख्य खतरा | टूल पॉइज़निंग (OWASP LLM07:2025) | टास्क पेलोड इंजेक्शन, एजेंट कार्ड एन्यूमेरेशन |
जब एजेंट को टूल चाहिए (MCP)
MCP सही विकल्प है जब एक एजेंट को एक रीज़निंग टर्न में बाहरी क्षमता कॉल करनी हो। टूल का अपना रीज़निंग लूप नहीं होता; यह एक फंक्शन चलाता है और मान लौटाता है।
जब एजेंट को दूसरे एजेंट की जरूरत हो (A2A)
A2A सही विकल्प है जब किसी टास्क के लिए पीयर एजेंट की पूरी रीज़निंग क्षमता चाहिए। रिसीविंग एजेंट का अपना मॉडल, मेमोरी, टूल एक्सेस और मल्टी-स्टेप रीज़निंग लूप होता है।
एक ही सिस्टम में MCP और A2A का उपयोग
प्रोडक्शन मल्टी-एजेंट सिस्टम आमतौर पर दोनों का उपयोग करता है। ऑर्केस्ट्रेटर एजेंट A2A का उपयोग करके स्पेशलिस्ट एजेंट्स को डेलीगेट करता है। हर स्पेशलिस्ट MCP का उपयोग अपने टूल कॉल्स के लिए करता है।
A2A ऑथेंटिकेशन और सुरक्षा मॉडल
A2A के सुरक्षा मॉडल में एक महत्वपूर्ण खामी है: बेस प्रोफाइल ऑथेंटिकेशन को वैकल्पिक बनाता है। A2A टास्क पेलोड के जरिए प्रॉम्प्ट इंजेक्शन किसी भी A2A डिप्लॉयमेंट के खिलाफ एक डॉक्यूमेंटेड अटैक क्लास है।
A2A सिस्टम में अटैक सरफेस:
1. टास्क पेलोड इंजेक्शन: A2A टास्क सबमिशन में टास्क डिस्क्रिप्शन और इनपुट डेटा यूजर-कंट्रोल्ड हैं।
2. एजेंट कार्ड एन्यूमेरेशन: अनऑथेंटिकेटेड एजेंट कार्ड पूरी स्किल सरफेस एक्सपोज करते हैं।
3. इंटर-एजेंट ट्रस्ट अनुमान: बिना आउटपुट वैलिडेशन के पीयर एजेंट के रिज़ल्ट पर भरोसा करने वाला एजेंट रिले इंजेक्शन के लिए कमजोर है।
4. अनॉनिमस डेलीगेशन: अनिवार्य ऑथेंटिकेशन के बिना, नेटवर्क पर कोई भी कॉलर A2A एजेंट को टास्क सबमिट कर सकता है।
OpenLegion का दृष्टिकोण: A2A एक वायर फॉर्मेट है, सुरक्षा मॉडल नहीं
A2A वायर फॉर्मेट के रूप में अच्छी तरह से डिज़ाइन किया गया है। सुरक्षा मॉडल प्रोडक्शन आवश्यकताओं को पूरा नहीं करता।
एजेंट-टू-एजेंट संचार के लिए OpenLegion का दृष्टिकोण वह लागू करता है जिसे A2A बेस प्रोफाइल वैकल्पिक छोड़ता है:
-
हर एजेंट-टू-एजेंट कॉल क्रेडेंशियल वॉल्ट के माध्यम से रूट होती है। कोई अनॉनिमस डेलीगेशन मोड नहीं।
-
56 नेटवर्क चोकपॉइंट पर टास्क पेलोड सैनिटाइजेशन। यूजर-कंट्रोल्ड कंटेंट को LLM कॉन्टेक्स्ट तक पहुंचने से पहले यूनिकोड अटैक के लिए सैनिटाइज किया जाता है।
-
ऑर्केस्ट्रेटर द्वारा वैलिडेट किए गए टाइप्ड हैंडऑफ कॉन्ट्रैक्ट। रिले इंजेक्शन पेलोड हैंडऑफ बाउंड्री पर ब्लॉक होते हैं।
-
एजेंट क्षमता मैनिफेस्ट को एक्सेस के लिए ऑथेंटिकेशन की जरूरत। स्किल सरफेस अनॉनिमस कॉलर को एक्सपोज नहीं होती।
A2A लागू करना: तकनीकी वॉकथ्रू
एजेंट कार्ड स्कीमा
प्रोडक्शन एजेंट कार्ड को स्पष्ट रूप से ऑथेंटिकेशन आवश्यकताएं शामिल करनी चाहिए:
{
"name": "data-analysis-agent",
"description": "संरचित डेटासेट विश्लेषण करता है और विज़ुअलाइज़ेशन के साथ सांख्यिकीय सारांश लौटाता है",
"version": "1.2.0",
"url": "https://agents.internal.example.com/data-analysis",
"skills": [
{
"id": "analyze_dataset",
"name": "डेटासेट विश्लेषण",
"description": "दिए गए डेटासेट पर सांख्यिकीय विश्लेषण चलाएं",
"inputModes": ["data"],
"outputModes": ["text", "data", "file"]
}
],
"authentication": {
"schemes": ["bearer"],
"required": true
}
}
टास्क सबमिशन और स्टेटस पोलिंग
टास्क सबमिशन /tasks/send पर POST है। स्टेटस पोलिंग GET /tasks/{task_id} का उपयोग करती है। एक्सपोनेंशियल बैकऑफ के साथ पोलिंग (1s, 2s, 4s, 8s, अधिकतम 30s)। लंबे टास्क (>60s) को SSE पर स्विच करना चाहिए।
SSE के साथ लंबे टास्क स्ट्रीमिंग
30 सेकंड से अधिक के अपेक्षित टास्क के लिए, POST /tasks/sendSubscribe के जरिए SSE का उपयोग करें। "final": true फ्लैग टास्क पूर्णता का संकेत देता है। कनेक्शन ड्रॉप के बाद रिज़्यूम करने के लिए Last-Event-ID हेडर से SSE री-कनेक्शन लागू करें।
अक्सर पूछे जाने वाले सवाल
Agent2Agent (A2A) प्रोटोकॉल क्या है?
Agent2Agent (A2A) AI एजेंट इंटरऑपरेबिलिटी के लिए एक ओपन HTTP/JSON प्रोटोकॉल है, जिसे Google Cloud ने अप्रैल 2025 में लॉन्च किया और Linux Foundation को दान किया। यह मानकीकृत करता है कि विभिन्न फ्रेमवर्क पर बने स्वायत्त एजेंट कैसे क्षमताओं का विज्ञापन करते हैं, टास्क डेलीगेट करते हैं और परिणाम साझा करते हैं। अप्रैल 2025 की लॉन्च के बाद से Salesforce, Atlassian और SAP सहित 50 से अधिक संगठनों ने योगदान दिया है।
A2A और MCP में क्या अंतर है?
MCP टूल एक्सेस हल करता है: एक एजेंट एक रीज़निंग टर्न में बाहरी API को कॉल करता है (स्टेटलेस फंक्शन कॉल)। A2A एजेंट समन्वय हल करता है: एक एजेंट अपने स्वयं के रीज़निंग लूप, मेमोरी और टूल्स वाले पीयर एजेंट को पूरा सब-टास्क डेलीगेट करता है (स्टेटफुल असिंक्रोनस डेलीगेशन)। MCP डिफ़ॉल्ट रूप से ऑथेंटिकेशन की आवश्यकता करता है; A2A का बेस प्रोफाइल इसे वैकल्पिक बनाता है। दोनों प्रोटोकॉल पूरक हैं।
A2A एजेंट कार्ड क्या हैं?
एजेंट कार्ड /.well-known/agent.json पर सर्व किए गए JSON डॉक्यूमेंट हैं जो एजेंट की क्षमताओं, स्वीकृत इनपुट/आउटपुट मोड और ऑथेंटिकेशन आवश्यकताओं का वर्णन करते हैं। A2A बेस प्रोफाइल में डिफ़ॉल्ट रूप से बिना ऑथेंटिकेशन के सर्व होते हैं। प्रोडक्शन डिप्लॉयमेंट को एजेंट कार्ड एक्सेस के लिए ऑथेंटिकेशन की जरूरत होनी चाहिए।
क्या A2A प्रोटोकॉल सुरक्षित है?
A2A के बेस प्रोफाइल में महत्वपूर्ण सुरक्षा खामियां हैं। ऑथेंटिकेशन डिफ़ॉल्ट रूप से वैकल्पिक है। A2A टास्क पेलोड के जरिए प्रॉम्प्ट इंजेक्शन एक वास्तविक प्रोडक्शन जोखिम है। प्रोडक्शन A2A डिप्लॉयमेंट को स्पष्ट रूप से एक्सटेंडेड ऑथेंटिकेशन प्रोफाइल लागू करना चाहिए और LLM से पहले सभी टास्क पेलोड कंटेंट सैनिटाइज करना चाहिए।
A2A टास्क लाइफसाइकल क्या है?
A2A पांच टास्क स्टेट परिभाषित करता है: submitted (प्राप्त, अभी तक प्रोसेस नहीं), working (सक्रिय प्रोसेसिंग, SSE प्रगति स्ट्रीम कर सकता है), input-required (रिमोट एजेंट को जारी रखने से पहले स्पष्टीकरण चाहिए - ह्यूमन-इन-द-लूप गेट), completed (परिणाम उपलब्ध), और failed (एरर विवरण के साथ टास्क विफल)। input-required स्टेट ऑटोनॉमस पाइपलाइन में ह्यूमन-इन-द-लूप चेकपॉइंट दिखाने का A2A का मेकेनिज्म है।
कौन सी कंपनियां A2A का समर्थन करती हैं?
A2A को अप्रैल 2025 में Salesforce, Atlassian और SAP सहित 50 से अधिक योगदान करने वाले संगठनों के साथ लॉन्च किया गया। Google Cloud ने प्रारंभिक स्पेसिफिकेशन का नेतृत्व किया और गवर्नेंस Linux Foundation को हस्तांतरित किया।
OpenLegion एजेंट-टू-एजेंट संचार कैसे लागू करता है?
OpenLegion का मेश आर्किटेक्चर हर कॉल पर अनिवार्य ऑथेंटिकेशन के साथ एजेंट-टू-एजेंट समन्वय लागू करता है। हर एजेंट-टू-एजेंट हैंडऑफ क्रेडेंशियल वॉल्ट के माध्यम से रूट होता है। टास्क पेलोड कंटेंट 56 नेटवर्क चोकपॉइंट पर यूनिकोड अटैक के लिए सैनिटाइज किया जाता है। ये कंट्रोल एजेंट कोड के बाहर, इंफ्रास्ट्रक्चर लेयर पर चलते हैं।
हर कॉल पर ऑथेंटिकेशन के साथ मल्टी-एजेंट सिस्टम बनाना
A2A फ्रेमवर्क और वेंडर के बीच एजेंट इंटरऑपरेबिलिटी के लिए वायर फॉर्मेट प्रदान करता है। सुरक्षा मॉडल को ऊपर बनाया जाना चाहिए या इंफ्रास्ट्रक्चर लेयर द्वारा लागू किया जाना चाहिए।
AI एजेंट सुरक्षा और थ्रेट मॉडल या मल्टी-एजेंट सिस्टम आर्किटेक्चर देखें।