गेल्या दोन वर्षांपासून, AI इंजिनीअरिंग एका साध्या स्क्रिप्टचे अनुसरण करत होते. एका एजंटला प्रॉम्प्ट, काही टूल्स आणि मेमरी लेयर द्या. तो मीटिंग शेड्यूल करणे, कराराचा सारांश काढणे किंवा स्क्रिप्ट डीबग करणे पाहणे. संपूर्ण उद्दिष्ट एकाच एजंटला स्वतःच्या वापरात उपयुक्त बनवणे हे होते.

ते उद्दिष्ट आता बदलले आहे.

आपण आता उद्योगाचा कल 'सोलो एजंट्स'कडून (solo agents) 'एजंट टीम्स'कडे (agent teams) जाताना पाहत आहोत. एक कस्टमर सर्व्हिस ट्रायज बॉट रिफंड विनंती ओळखतो आणि ती केस पेमेंट एजंटकडे पाठवतो. वेब डेटा स्क्रॅप करणारा रिसर्च एजंट एखाद्या विशिष्ट क्षेत्रातील माहिती मिळवताना अडखळतो आणि ती काम एका प्रोप्रायटरी डेटाबेसवर काम करणाऱ्या स्पेशलिस्टकडे सोपवतो. शिपमेंटचे नियोजन करणारा लॉजिस्टिक्स एजंटला रिअल-टाइम फ्रेट कोटची गरज असते, म्हणून तो प्राईसिंग एजंटकडे आकडा मागतो.

कागदावर हे सोपे वाटते. पण प्रत्यक्षात, हे अत्यंत नाजूक (brittle) आहे.

नवीन आव्हान म्हणजे 'इंटरऑपरेबिलिटी' (interoperability). टीम्स वेगवेगळ्या फ्रेमवर्क्समध्ये एजंट्स तयार करतात. विविध व्हेंडर्स वेगवेगळ्या इंटरफेससह एजंट्स पाठवतात. जेव्हा एका कंपनीला दुसऱ्या कंपनीसोबत काम करण्याची गरज पडते, तेव्हा हा फरक अधिक वाढतो. आपल्याकडे आता सक्षम कामगारांनी भरलेले क्षेत्र आहे, परंतु त्यांच्याकडे सामायिक भाषा नाही. एक एजंट डिरेक्टरीमध्ये दुसऱ्या एजंटला शोधू शकत नाही. त्याचा सहकारी काय करतो याचे वर्णन तो वाचू शकत नाही. आणि डेटा लीक होणे, कॉन्टेक्स्ट गमावणे किंवा कामाची पुनरावृत्ती होण्याचा धोका पत्करल्याशिवाय तो एखादे संवेदनशील काम दुसऱ्याकडे सोपवू शकत नाही.

A2A नेमकी हीच समस्या सोडवण्यासाठी बनवले गेले आहे. ते एजंट्सना डिस्कव्हरी (discovery), डेलिगेशन (delegation) आणि सुरक्षित सहकार्यासाठी एक सामान्य प्रोटोकॉल प्रदान करते.

सिंगल एजंट्सपासून एजंट सायलोसपर्यंत (Agent Silos)

एजंट फ्रेमवर्क्सच्या पहिल्या लाटेने सिस्टमच्या सीमांनाच एजंटची सीमा मानले होते. तुम्ही एक रिझनिंग लूप तयार केला, त्याला टूल बेल्ट दिला आणि तो वर्कफ्लोमधून विचार करून मार्ग काढेल अशी आशा केली. जेव्हा एजंट एकाच कोडबेसमध्ये, एकाच क्लाउड अकाउंटमध्ये किंवा एकाच व्हेंडर प्लॅटफॉर्ममध्ये राहत असे, तेव्हा ते पुरेसे चांगले काम करत होते.

वास्तविक व्यवसाय 'मोनोलिथ्स'मध्ये (monoliths) चालत नाहीत. रिफंड विनंती CRM मध्ये सुरू होऊ शकते, पायथनमध्ये लिहिलेल्या अंतर्गत पेमेंट सर्व्हिसमध्ये जाऊ शकते आणि तृतीय पक्षाद्वारे होस्ट केलेल्या फ्रॉड चेकमध्ये संपू शकते. जेव्हा तुम्ही यापैकी प्रत्येक सर्व्हिसला एजंट म्हणून मॉडेल करता, तेव्हा तुम्हाला लवकरच जाणीव होते की वेगवेगळ्या स्टॅक्सवर (stacks) तयार केलेले एजंट्स एकमेकांना नैसर्गिकरित्या समजत नाहीत. प्रोप्रायटरी फ्रेमवर्क्सवर तयार केलेले एंटरप्राइझ एजंट्स त्यांच्या क्षमता जगाला जाहीर करत नाहीत.

मानकाशिवाय (standard), प्रत्येक इंटिग्रेशन हे एक कस्टम प्रोजेक्ट बनते. इंजिनीअर्सना प्रत्येक वेळी वेगळा 'ग्लू कोड' (glue code) लिहावा लागतो. माहितीचे रूपांतर करताना कॉन्टेक्स्ट (context) हरवतो. सुरक्षा धोरणे विसंगत होतात, कारण प्रत्येक हस्तांतरण (handoff) वेगळ्या पद्धतीने केले जाते.

एजंट कार्ड्स: एक सार्वजनिक रिझ्युमे (Public Resume)

एजंट्सनी ते कोण आहेत आणि ते काय करू शकतात हे जाहीर करण्यासाठी A2A 'एजंट कार्ड्स'ची ओळख करून देते.

एजंट कार्डला मशीन-रीडेबल रिझ्युमे समजा. एक एजंट असे कार्ड प्रकाशित करतो जे त्याचे डोमेन, आवश्यक इनपुट्स, अपेक्षित आउटपुट्स आणि त्याने स्वीकारलेल्या कामावरील कोणतेही निर्बंध यांचे वर्णन करते. एक पेमेंट एजंट असे घोषित करू शकतो की, ऑर्डर आयडी आणि रिझन कोड मिळाल्यास तो ठराविक रकमेपेक्षा कमी असलेल्या रिफंड विनंत्या प्रक्रिया करतो आणि तो कन्फर्मेशन नंबर किंवा एरर परत करतो. एक डेटा स्पेशलिस्ट असे सांगू शकतो की तो विशिष्ट आकारापर्यंतच्या स्ट्रक्चर्ड फाइल्स स्वीकारतो आणि एका ठराविक वेळेत क्लीन केलेली टाइम-सीरीज डेटा परत करतो.

काम सोपवण्यापूर्वी, विनंती करणारा एजंट कार्ड वाचतो. लक्ष्यित एजंट त्या कामासाठी सक्षम आहे की नाही हे त्याला समजते. पेलोडला (payload) कोणत्या फॉरमॅटची आवश्यकता आहे हे त्याला समजते. त्याला सिंक्रोनस रिस्पॉन्स (synchronous response) अपेक्षित आहे की नंतर पूर्ण होणारे असिंक्रोनस टास्क (asynchronous task) हे देखील त्याला समजते.

यामुळे अंदाज लावण्याची गरज उरत नाही. प्रत्येक संभाव्य पार्टनरसाठी इंटिग्रेशन हार्डकोड करण्याऐवजी, एक एजंट उपलब्ध क्षमता शोधू शकतो आणि डायनॅमिकली योग्य टीममेट निवडू शकतो.

टास्क: केवळ API कॉल्स नसून स्ट्रक्चर्ड काम

एजंट्सना माणसांसारखे चॅट करण्याची गरज नाही. त्यांना कामे स्वच्छपणे हस्तांतरित करण्याची गरज आहे. A2A या देवाणघेवाणीला 'टास्क' (Task) म्हणून मॉडेल करते.

टास्क हे केवळ... पेक्षा जास्त आहे