एजेंट2एजेंट प्रोटोकॉल · A2A v1.0

स्वतंत्र रूप से एजेंटों को तैनात करें एक साथ काम करें.

A2A एक एआई एजेंट को दूसरे एजेंट से परिचय कराने, नौकरी या कार्य स्वीकार करने, प्रगति की रिपोर्ट करने, अधिक जानकारी मांगने और उपयोगी परिणाम देने का एक मानक तरीका देता है - भले ही दूसरा एजेंट एक अलग एआई सेवा में चलता हो, एक अलग प्रोग्रामिंग भाषा या एजेंट फ्रेमवर्क का उपयोग करता हो, या किसी अन्य क्लाउड में तैनात हो। किसी भी एजेंट को यह समझने की ज़रूरत नहीं है कि दूसरे का निर्माण कैसे हुआ। वे संवाद करने और एक साथ काम करने के लिए A2A मानक का उपयोग करते हैं।

11 वी1 ऑपरेशनएजेंट कार्डJSON-RPC + RESTSSE स्ट्रीमिंगबहु-मोड़ कार्यप्रमाणित धक्काRemoteA2aAgent

ADK-Rust A2A संदर्भ वास्तुकला

A2A रिमोट एजेंटों की वास्तुकला

The network contract stays separate from the agent's model, tools, memory, and internal orchestration.

01

कॉलिंग सिस्टम

एजेंट या एप्लिकेशन किसी अन्य एजेंट से काम करने के लिए कह रहा है।

समन्वयक एजेंट

यह तय करता है कि किस दूरस्थ विशेषज्ञ को कार्य मिलना चाहिए।

A2A क्लाइंट

कार्ड खोजता है, स्ट्रीमिंग चुनता है, और प्रोटोकॉल संदेश भेजता है।

HTTPS

02

A2A सेवा सीमा

सार्वजनिक अनुबंध प्रत्येक संगत ग्राहक समझ सकता है।

एजेंट कार्ड

नाम, कौशल, समापन बिंदु, प्रोटोकॉल संस्करण, सुरक्षा और घोषित क्षमताएं।

जाँच का अनुरोध करें

संस्करण, सामग्री प्रकार, आईडी, संदेश भाग, मेटाडेटा, पहचान और सीमाएँ।

हैंडलर से अनुरोध करें

एक साझा कार्यान्वयन के माध्यम से JSON-RPC या REST संचालन भेजता है।

टाइप की गई कॉल

03

ADK-Rust रनटाइम

फ़्रेमवर्क कार्य निष्पादित करता है और टाइप की गई प्रगति उत्पन्न करता है।

Runner

आह्वान संदर्भ बनाता है और एजेंट घटनाओं को स्ट्रीम करता है।

एजेंट प्रणाली

LLM, वर्कफ़्लो, ग्राफ़, कस्टम, या मल्टी-एजेंट तर्क।

उपकरण

Rust उपकरण और MCP

राज्य

सत्र और स्मृति

एजेंट के काम करने के दौरान कार्य की स्थिति और घटनाएं रिकॉर्ड की जाती हैं

04

कार्य जीवनचक्र

एक मान्य राज्य मशीन लंबे समय से चल रहे कार्य को निरीक्षण योग्य बनाती है।

कार्य भण्डार

स्थिति, संदर्भ, इतिहास, कलाकृतियाँ, मेटाडेटा और पुश कॉन्फ़िगरेशन।

राज्य मशीन

केवल वैध परिवर्तन ही स्वीकार किए जाते हैं; टर्मिनल कार्य टर्मिनल बने रहते हैं।

05

प्रगति वितरण

कॉल करने वाला चुनता है कि वह किस प्रकार परिवर्तन प्राप्त करना चाहता है।

सीधी प्रतिक्रिया

पूरा कार्य और उसकी कलाकृतियाँ लौटाएँ।

SSE स्ट्रीम

पहले कार्य, फिर स्थिति और आर्टिफैक्ट अपडेट।

06

अनुरोध के बाद कार्य करें

लंबे कार्यों को एक कनेक्शन खुला रखे बिना बाद में रिपोर्ट किया जा सकता है।

सदस्यता

एक क्लाइंट किसी मौजूदा कार्य के लिए अपडेट सुनता है।

वेबहुक पुश करें

पुन: प्रयास और एसएसआरएफ जांच के साथ प्रमाणित डिलीवरी।

ADK-Rust A2A वायर अनुबंध, कार्य जीवनचक्र, एजेंट निष्पादन और डिलीवरी चैनल को अलग-अलग टुकड़ों के रूप में रखता है ताकि प्रत्येक को सुरक्षित, परीक्षण और स्वतंत्र रूप से प्रतिस्थापित किया जा सके।

विचार से शुरुआत करें

मैं बाहरी रूप से होस्ट किए गए एआई एजेंट के साथ कैसे काम करूं?

एक ADK-Rust प्रक्रिया के अंदर, एजेंट Rust प्रकार, सत्र, उपकरण और प्रत्यक्ष फ़ंक्शन कॉल साझा कर सकते हैं। एक बार जब कोई एजेंट किसी अन्य सेवा-या किसी अन्य संगठन से संबंधित हो जाता है, तो वे निजी कार्यान्वयन विवरण अब एक सुरक्षित अनुबंध नहीं रह जाते हैं।

A2A उस सीमा पर साझा भाषा को परिभाषित करता है। कॉल करने वाले को पता चलता है कि रिमोट एजेंट क्या ऑफर करता है, एक संरचित संदेश भेजता है, ज्ञात राज्यों के माध्यम से एक कार्य का पालन करता है, और यह जानने की आवश्यकता के बिना कलाकृतियों को प्राप्त करता है कि कौन सा मॉडल, ढांचा या उपकरण समापन बिंदु के पीछे चलता है।

ADK-Rust adk-server में A2A v1 लागू करता है और प्रोटोकॉल को सीधे Runner से जोड़ता है। वही एजेंट जिसका आप स्थानीय स्तर पर परीक्षण करते हैं, एक नेटवर्क सेवा बन सकता है, जबकि RemoteA2aAgent किसी अन्य ADK-Rust सिस्टम को सामान्य एजेंट इंटरफ़ेस के माध्यम से इसका उपभोग करने देता है।

एजेंट कार्ड

एक एजेंट के लिए एक सेवा प्रोफ़ाइल

एक छोटा सार्वजनिक दस्तावेज़ कॉल करने वालों को एजेंट का नाम, समापन बिंदु, कौशल, प्रोटोकॉल संस्करण, सुरक्षा आवश्यकताएं और यह बताता है कि यह स्ट्रीमिंग या सूचनाओं का समर्थन करता है या नहीं।

संदेश

एक एजेंट दूसरे से क्या कहता है

एक संदेश में एक भूमिका, एक अद्वितीय आईडी और पाठ या संरचित डेटा जैसे एक या अधिक भाग होते हैं। अद्वितीय आईडी सुरक्षित पुनर्प्रयास को संभव बनाती है।

कार्य

वह कार्य जिसका पालन दोनों प्रणालियाँ कर सकती हैं

एक कार्य दूरस्थ कार्य को एक आईडी, एक वार्तालाप संदर्भ, एक स्थिति, संदेश इतिहास, मेटाडेटा और रास्ते में उत्पन्न कोई भी कलाकृति देता है।

विरूपण साक्ष्य

कार्य का उपयोगी आउटपुट

एक आर्टिफैक्ट कार्य से जुड़ा एक नामित परिणाम है: एक रिपोर्ट, निर्णय, योजना, उत्पन्न फ़ाइल, या अन्य संरचित आउटपुट जिसे कोई अन्य सिस्टम उपयोग कर सकता है।

एक काम का पालन करें

प्रोटोकॉल में अनुरोध और कार्य का जीवन दोनों शामिल हैं।

कॉल करने वाला व्यक्ति एक प्रतिक्रिया की प्रतीक्षा कर सकता है, एक लाइव इवेंट स्ट्रीम खोल सकता है, किसी मौजूदा कार्य की सदस्यता ले सकता है, या बाद के अपडेट के लिए एक वेबहुक पंजीकृत कर सकता है। कार्य की पहचान और संदर्भ प्रत्येक डिलीवरी मोड को उसी कार्य से जोड़े रखते हैं।

कार्य राज्य मशीन

एक दूरस्थ नौकरी में एक जीवन होता है जिसका आप अनुसरण कर सकते हैं।

A2A रिटर्न टेक्स्ट से कहीं अधिक कार्य करता है। यह काम को एक पहचान, बातचीत का संदर्भ, वर्तमान स्थिति, इतिहास और कलाकृतियाँ देता है। ADK-Rust प्रत्येक संक्रमण को सहेजने से पहले सत्यापित करता है।

SUBMITTED

सर्वर ने कार्य स्वीकार कर लिया.

WORKING

एजेंट इसे क्रियान्वित कर रहा है.

INPUT REQUIRED

एजेंट को अधिक जानकारी चाहिए.

AUTH REQUIRED

कॉल करने वाले को प्राधिकरण प्रदान करना होगा.

COMPLETED

काम और कलाकृतियाँ तैयार हैं.

FAILED

निष्पादन एक त्रुटि के साथ समाप्त हुआ.

CANCELED

एक स्वीकृत रद्दीकरण ने कार्य समाप्त कर दिया।

REJECTED

सर्वर ने कार्य अस्वीकार कर दिया.

मल्टी-टर्न कार्य: जब कोई कार्य पहुँचता है INPUT_REQUIRED, कॉल करने वाला उसी के साथ एक और संदेश भेजता है contextId. ADK-Rust कार्य ढूंढता है, उसे लौटाता है WORKING, संदेश जोड़ता है, और वही कार्य जारी रखता है।

वास्तविक दुनिया का तर्क प्रवाह

Case Study: Resolve a customer's damaged order across two distinct agent services.

A customer tells the company's support agent that an order arrived damaged. The support agent remains responsible for the conversation: it understands the request, keeps the customer informed, collects any missing evidence, and presents the final decision. It does not have direct access to warehouse stock, delivery records, or replacement policy.

वह परिचालन संबंधी जानकारी एक अलग से तैनात पूर्ति एजेंट की है। A2A के माध्यम से, सहायता एजेंट पता लगा सकता है कि पूर्ति एजेंट क्या करता है, उसे एक कार्य के रूप में जांच भेजता है, उसकी प्रगति का अनुसरण करता है, अधिक जानकारी के लिए अनुरोधों का उत्तर देता है और अंतिम प्रतिस्थापन निर्णय प्राप्त करता है। प्रत्येक सेवा अपना स्वयं का कोड, डेटा, उपकरण, मॉडल प्रदाता और सुरक्षा नियंत्रण रखती है; वे केवल A2A अनुबंध द्वारा परिभाषित संदेश, कार्य स्थिति और कलाकृतियों को साझा करते हैं।

01

विशेषज्ञ की खोज करें

एक सहायता समन्वयक पूर्ति एजेंट के कार्ड को पढ़ता है और पुष्टि करता है कि यह ऑर्डर जांच को संभालता है और प्रगति को स्ट्रीम करता है।

02

एक स्पष्ट कार्य भेजें

यह ऑर्डर नंबर, ग्राहक का अनुरोध, एक अद्वितीय संदेश आईडी और एक नया वार्तालाप संदर्भ भेजता है।

03

सेवा के अंदर का मार्ग

रिमोट ADK-Rust एजेंट कॉल करने वाले को उन आंतरिक चीजों को उजागर किए बिना ऑर्डर टूल, इन्वेंट्री, डिलीवरी इतिहास और कंपनी नीति की जांच करता है।

04

जो कमी है उसे मांगो

यदि क्षति के प्रमाण की आवश्यकता है, तो अनुमान लगाने या चुपचाप विफल होने के बजाय कार्य INPUT_REQUIRED हो जाता है।

05

वही कार्य फिर से शुरू करें

समन्वयक उसी contextId का उपयोग करके अनुमोदित साक्ष्य प्रदान करता है; इतिहास और कार्य की पहचान बरकरार रहती है।

06

एक लेखापरीक्षा योग्य परिणाम लौटाएँ

कार्य स्थिति इतिहास और प्रतिस्थापन निर्णय और अगले चरणों वाली एक कलाकृति के साथ पूरा होता है।

Sequence diagram

The task pauses and resumes without losing its identity.

Read from top to bottom. The A2A service owns the network contract and task record. The fulfilment agent owns its reasoning and private tools.

Support coordinator

Calling agent

A2A service

Protocol boundary

Fulfilment agent

ADK-Rust Runner

Business systems

Orders · inventory · policy

A2A के माध्यम से कॉल करता है
Runner को भेजता है
अनुमोदित उपकरणों का उपयोग करता है

GET /.well-known/agent-card.json

Discover skills and streaming

Agent Card

Fulfilment capability published

SendStreamingMessage

ORD-1042 · messageId msg-order-1042

Runner invocation

Create task and execute agent

order.lookup + policy.check

Use private business tools

Evidence required

Damage photo is missing

INPUT_REQUIRED

Persist state and context

SSE status update

Ask support for evidence

SendMessage · same contextId

Approved photo reference

Resume task

INPUT_REQUIRED → WORKING

inventory.reserve

Reserve replacement stock

Artifact + COMPLETED

Replacement decision

Final SSE events

Auditable result returned

The support coordinator never receives database credentials or fulfilment code. It receives only the Agent Card, protocol events, task state, and final artifact.

कोड और तार प्रतिक्रियाएँ

देखें कि प्रत्येक पक्ष क्या भेजता और प्राप्त करता है।

ये उदाहरण ADK-Rust कार्यान्वयन के समान समान v1 ऑपरेशन नाम, संदेश फ़ील्ड, कार्य स्थिति और SSE प्रतिक्रिया आकृतियों का उपयोग करते हैं। आईडी और ऑर्डर विवरण तय किए गए हैं ताकि पूरी बातचीत का अनुसरण करना आसान हो।

fulfilment.rsपूर्ति सेवा · जंग
let fulfilment = LlmAgentBuilder::new("fulfilment")
      .description("Investigates orders and delivery")
      .model(model)
      .instruction(
          "Use the approved order, inventory, and policy tools.            Ask for evidence when the replacement policy requires it."
      )
      .build()?;

  A2aServer::builder()
      .agent(Arc::new(fulfilment))
      .agent_card_name("Fulfilment Agent")
      .streaming(true)
      .build()?
      .serve()
      .await?;
support.rsसमर्थन समन्वयक · जंग
let fulfilment = RemoteA2aAgent::builder("fulfilment")
      .description("Investigates orders and delivery")
      .agent_url("https://agents.example.com/fulfilment")
      .streaming(true)
      .build()?;

  let support = LlmAgentBuilder::new("support")
      .model(model)
      .instruction("Own the customer conversation.")
      .sub_agent(Arc::new(fulfilment))
      .build()?;
SendStreamingMessage.json1 · नौकरी भेजें
{
    "jsonrpc": "2.0",
    "id": "replace-1",
    "method": "SendStreamingMessage",
    "params": {
      "message": {
        "messageId": "msg-order-1042",
        "role": "ROLE_USER",
        "parts": [{
          "text": "Investigate damaged order ORD-1042 and prepare a replacement decision."
        }]
      }
    }
  }
text/event-stream2 · कार्य प्रगति को स्ट्रीम करें
data: {
    "jsonrpc":"2.0", "id":"replace-1",
    "result":{"task":{
      "id":"task-order-1042",
      "contextId":"ctx-order-1042",
      "status":{"state":"TASK_STATE_SUBMITTED"}
    }}
  }

  data: {
    "jsonrpc":"2.0", "id":"replace-1",
    "result":{"statusUpdate":{
      "taskId":"task-order-1042",
      "contextId":"ctx-order-1042",
      "status":{"state":"TASK_STATE_WORKING"}
    }}
  }
input-required.event.json3 · गुम हुए साक्ष्य का अनुरोध करें
{
    "statusUpdate": {
      "taskId": "task-order-1042",
      "contextId": "ctx-order-1042",
      "status": {
        "state": "TASK_STATE_INPUT_REQUIRED",
        "message": {
          "role": "ROLE_AGENT",
          "parts": [{
            "text": "Please provide a photo showing the damaged item."
          }]
        }
      }
    }
  }
SendMessage.follow-up.json4 · वही कार्य फिर से शुरू करें
{
    "jsonrpc": "2.0",
    "id": "replace-2",
    "method": "SendMessage",
    "params": {
      "message": {
        "messageId": "msg-order-1042-photo",
        "contextId": "ctx-order-1042",
        "role": "ROLE_USER",
        "parts": [{
          "text": "Evidence received and approved: damage-photo-8841.jpg"
        }]
      }
    }
  }
final-events.json5 · कलाकृति और पूर्णता प्राप्त करें
{
    "artifactUpdate": {
      "taskId": "task-order-1042",
      "contextId": "ctx-order-1042",
      "artifact": {
        "artifactId": "replacement-decision-1042",
        "name": "Replacement decision",
        "parts": [{
          "text": "Approved. Reserve SKU-RED-42 and dispatch with priority shipping."
        }]
      }
    }
  }

  {
    "statusUpdate": {
      "taskId": "task-order-1042",
      "contextId": "ctx-order-1042",
      "status": { "state": "TASK_STATE_COMPLETED" }
    }
  }

A2A v1 API

एक ग्राहक को रिमोट एजेंट पर काम शुरू करने, उसका पालन करने और खत्म करने के लिए जो कुछ भी चाहिए वह सब कुछ।

ADK-Rust, A2A v1 में सभी 11 ऑपरेशन लागू करता है। छोटे कार्य के लिए, SendMessage पर कॉल करें और कार्य परिणाम की प्रतीक्षा करें। जब कार्य में अधिक समय लग सकता है, तो पहले कार्य प्राप्त करने के लिए SendStreamingMessage का उपयोग करें, उसके बाद SSE पर लाइव स्थिति और आर्टिफैक्ट इवेंट का उपयोग करें।

लौटाई गई कार्य आईडी आपके क्लाइंट को कार्य दोबारा सबमिट किए बिना पुनः कनेक्ट करने देती है। यह नवीनतम स्थिति प्राप्त कर सकता है, संबंधित कार्यों की सूची बना सकता है, आगे के अपडेट की सदस्यता ले सकता है, या रद्द करने का अनुरोध कर सकता है। यदि क्लाइंट किसी कनेक्शन को खुला नहीं रख सकता है, तो वह एक प्रमाणित वेबहुक पंजीकृत कर सकता है और रिमोट एजेंट को बाद में परिवर्तन प्रदान करने दे सकता है।

01

काम शुरू करो

एक संदेश भेजें और पूरा कार्य या लाइव स्ट्रीम प्राप्त करें।

SendMessageSendStreamingMessage
02

निरीक्षण एवं नियंत्रण करें

वर्तमान कार्य पढ़ें, मेल खाने वाले कार्यों की सूची बनाएं, या किसी कार्य को तब रद्द करें जब उसकी स्थिति इसकी अनुमति दे।

GetTaskListTasksCancelTask
03

प्रगति का अनुसरण करें

पहले से मौजूद किसी कार्य के अपडेट के लिए SSE सदस्यता खोलें।

SubscribeToTask
04

बाद में अपडेट प्राप्त करें

किसी कार्य के लिए प्रमाणित वेबहुक गंतव्य बनाएं, पढ़ें, सूचीबद्ध करें और हटाएं।

CreatePushConfigGetPushConfigListPushConfigsDeletePushConfig
05

और अधिक जानें

किसी एजेंट की प्रकाशित सेवा प्रोफ़ाइल के विस्तारित संस्करण का अनुरोध करें।

GetExtendedAgentCard

दो बाइंडिंग के लिए एक हैंडलर

JSON-RPC और REST रूट एक ही RequestHandler में डिस्पैच होते हैं, इसलिए ट्रांसपोर्ट के बीच कार्य व्यवहार में बदलाव नहीं होता है।

Runner-समर्थित निष्पादन

आने वाले A2A संदेश ADK-Rust सामग्री बन जाते हैं। Runner चयनित एजेंट को निष्पादित करता है और उसके ईवेंट को कार्य स्थिति और कलाकृतियों में परिवर्तित करता है।

सुरक्षित पुनः प्रयास

दोहराया गया messageId एक ही कार्य को दो बार चलाने के बजाय मौजूदा कार्य लौटाता है। उत्पादन परिनियोजन को इस मैपिंग को पुनरारंभ के दौरान जारी रखना चाहिए।

स्ट्रीमिंग जो संदर्भ से शुरू होती है

पहला SSE इवेंट संपूर्ण कार्य है। बाद की घटनाओं में स्थिति और आर्टिफैक्ट अपडेट होते हैं, इसलिए ग्राहक को हमेशा पता होता है कि स्ट्रीम किससे संबंधित है।

दूरस्थ एजेंट स्थानीय महसूस करते हैं

RemoteA2aAgent, ADK-Rust एजेंट विशेषता लागू करता है। एक समन्वयक अपने एजेंट पदानुक्रम में एक नेटवर्क सेवा को शामिल कर सकता है और सामान्य रूपरेखा कार्यक्रम प्राप्त कर सकता है।

सीमा पर सुरक्षा

संस्करण बातचीत, संदेश सत्यापन, वाहक प्रमाणीकरण, दर सीमित करना, ऑडिट इंटरसेप्टर, वेबहुक प्रमाणीकरण और एसएसआरएफ जांच सेवा की रक्षा कर सकते हैं।

सही सीमा चुनें

स्थानीय उप-एजेंट बनाम दूरस्थ A2A एजेंट

A2A एक नेटवर्क, एक सार्वजनिक अनुबंध, प्रमाणीकरण, विफलता प्रबंधन और दूरस्थ कार्य स्थिति का परिचय देता है। वे लागतें तब मूल्यवान होती हैं जब वे वास्तविक स्वतंत्रता पैदा करती हैं; वे अनावश्यक हैं जब प्रत्येक एजेंट पहले से ही एक ही प्रक्रिया में रहता है।

स्थानीय उप-एजेंट

रिमोट A2A एजेंट

सबसे उपयुक्त
एक एप्लिकेशन के स्वामित्व वाले एजेंट
एजेंट स्वतंत्र रूप से तैनात या स्वामित्व में हैं
संचार
इन-प्रोसेस एजेंट कॉल और टाइप किए गए इवेंट
HTTP, JSON-RPC या REST, और SSE
साझा स्थिति
समान सत्रों और सेवाओं का उपयोग कर सकते हैं
केवल घोषित संदेश, कार्य और कलाकृतियाँ साझा करता है
विफलता सीमा
एक रनटाइम और परिनियोजन
नेटवर्क, टाइमआउट, पुनः प्रयास और दूरस्थ-सेवा विफलताएँ
अंतरसंचालनीयता
ADK-Rust घटक
कोई भी A2A-संगत भाषा या ढांचा

Rust एजेंट से लेकर नेटवर्क सेवा तक

एक एजेंट को बेनकाब करें, फिर उसे एक एजेंट के रूप में उपभोग करें।

सुविधा सर्वर एक एजेंट कार्ड, सत्र, A2A मार्गों और सक्षम स्ट्रीमिंग के साथ एक Axum एप्लिकेशन बनाता है। रिमोट एडॉप्टर उस सेवा को खोजता है और उसके कार्य अपडेट को वापस ADK-Rust ईवेंट में परिवर्तित करता है।

serve.rsएक एजेंट को बेनकाब करें
use adk_server::a2a::convenience::A2aServer;

  let app = A2aServer::quick_start(agent);
  let listener = tokio::net::TcpListener::bind(
      "0.0.0.0:8080"
  ).await?;

  axum::serve(listener, app).await?;
coordinator.rsइसे किसी अन्य एजेंट से कॉल करें
use adk_server::a2a::RemoteA2aAgent;

  let fulfilment = RemoteA2aAgent::builder("fulfilment")
      .description("Investigates orders and delivery")
      .agent_url("https://agents.example.com/fulfilment")
      .build()?;

  let coordinator = LlmAgentBuilder::new("support")
      .model(model)
      .sub_agent(Arc::new(fulfilment))
      .build()?;
पूरी तरह से कॉन्फ़िगर की गई v1 सेवा के लिए: प्रलेखित का उपयोग करें RequestHandler::with_runner टास्क स्टोर, पुश सेंडर, एजेंट कार्ड, Runner सेवाएं, JSON-RPC रूट, REST राउटर और वर्जन-नेगोशिएशन मिडलवेयर को स्पष्ट रूप से चुनने का पथ।

उत्पादन से पहले

A2A एजेंटों की तैनाती

ADK-Rust Runner के साथ v1 प्रकार, हैंडलर, जीवनचक्र, क्लाइंट, सत्यापन, वितरण आदिम और एकीकरण की आपूर्ति करता है। उत्पादन की तैयारी अभी भी आपकी सेवा के लिए चयनित भंडारण, पहचान, नेटवर्क, अवलोकन और संचालन नीतियों पर निर्भर करती है।

01

एक ईमानदार कार्ड प्रकाशित करें

केवल उन कौशल, बाइंडिंग, स्ट्रीमिंग, पुश डिलीवरी और सुरक्षा योजनाओं का विज्ञापन करें जिनका तैनाती वास्तव में समर्थन करती है।

02

टिकाऊ राज्य चुनें

शामिल InMemoryTaskStore और इन-मेमोरी आइडेम्पोटेंसी मैप विकास के लिए उपयोगी हैं। लंबे समय तक चलने वाले उत्पादन कार्य के लिए भंडारण की आवश्यकता होती है जो प्रक्रिया के पुनरारंभ होने से बच जाता है।

03

दोनों दिशाओं को सुरक्षित करें

इनबाउंड कॉल को प्रमाणित करें और आउटबाउंड पुश डिलीवरी की सुरक्षा करें। HTTP पुश प्रेषक वाहक क्रेडेंशियल्स, अधिसूचना टोकन, पुनः प्रयास और निजी-पता अस्वीकृति का समर्थन करता है।

04

डिज़ाइन रद्दीकरण और टाइमआउट

दूरस्थ कार्य एक अनुरोध को पूरा कर सकता है। क्लाइंट टाइमआउट, रद्दीकरण नीति, पुनः प्रयास व्यवहार और जब कोई सेवा अनुपलब्ध हो जाती है तो क्या होता है, इसे परिभाषित करें।

एजेंट सिस्टम कनेक्ट करें

एक मानक A2A इंटरफ़ेस के माध्यम से अपने एजेंट को उजागर करें।

एक ईमानदार एजेंट कार्ड और एक उपयोगी कार्य से शुरुआत करें। स्ट्रीमिंग, मल्टी-टर्न इनपुट, कार्य दृढ़ता, सदस्यता, प्रमाणित पुश और सीमा नियंत्रण जोड़ें क्योंकि काम लंबा हो जाता है और सेवा अधिक महत्वपूर्ण हो जाती है।