एक AI एजेंट के भीतर
AI एजेंट के डेमो वीडियो में बहुत अच्छे लगते हैं। लेकिन जब आप वास्तविक प्रश्न पूछते हैं, तो वे अक्सर विफल हो जाते हैं।
एजेंट गलत काम करता है। वह निर्णयों को भूल जाता है। वह ऐसे टूल्स को कॉल करता है जो अस्तित्व में ही नहीं हैं। वह अनंत काल तक लूप में फंसा रहता है। ये मॉडल की विफलताएं नहीं हैं। ये वर्कफ़्लो (workflow) की विफलताएं हैं।
एक एजेंट एक सॉफ्टवेयर वर्कफ़्लो है। एक लैंग्वेज मॉडल अगला कदम चुनता है और टूल्स को कॉल करता है। बुद्धिमत्ता ऑर्केस्ट्रेशन (orchestration) में होती है, न कि केवल मॉडल में।
प्रत्येक प्रोडक्शन एजेंट पाँच स्तंभों पर निर्भर करता है:
- प्लानिंग (Planning): कार्य करने से पहले सोचना।
- टूल का उपयोग (Tool Use): दुनिया के साथ इंटरैक्ट करना।
- मेमोरी (Memory): संदर्भ और तथ्यों को स्टोर करना।
- बाधाएं (Constraints): सीमाएं और बजट निर्धारित करना।
- सत्यापन (Verification): यह सिद्ध करना कि कार्य सही है।
प्लानिंग शैलियाँ (Planning Styles)
नाइव (Naive) एजेंट सीधे एक्शन पर कूद जाते हैं। इससे हैलुसिनेशन (hallucinations) होता है। एक अच्छा एजेंट पहले योजना बनाता है।
- प्लान-देन-एग्जीक्यूट (Plan-then-execute): मॉडल एक पूरी योजना लिखता है। इसका ऑडिट करना आसान है लेकिन यदि वास्तविकता बदलती है, तो इसे अनुकूलित करना कठिन होता है।
- ReAct (Reason + Act): मॉडल एक लूप में सोचता है, कार्य करता है और निरीक्षण करता है। यह अधिक अनुकूलन योग्य है लेकिन इसमें टोकन और समय अधिक खर्च होता है।
टूल का उपयोग (Tool Use)
बिना टूल्स के, एक एजेंट केवल एक चैटबॉट है। एक टूल को एक नाम, एक JSON स्कीमा और एक फंक्शन की आवश्यकता होती है।
मॉडल विवरणों (descriptions) के आधार पर टूल्स चुनते हैं। यदि आपका विवरण अस्पष्ट है, तो एजेंट विफल हो जाएगा। विवरणों को स्पेसिफिकेशन शीट (spec sheets) की तरह मानें। यह परिभाषित करें कि एक टूल किस काम के लिए है और किस काम के लिए नहीं है।
हमेशा टूल कॉल्स को वैलिडेट करें। यदि मॉडल गलत आर्गुमेंट्स भेजता है, तो कॉल को अस्वीकार कर दें और एरर को वापस मॉडल को भेजें। इससे एजेंट को लूप के बीच में सीखने में मदद मिलती है।
मेमोरी (Memory)
मेमोरी केवल एक चीज़ नहीं है।
- वर्किंग मेमोरी (Working Memory): वर्तमान बातचीत और टूल के परिणाम।
- स्क्रैचपैड (Scratchpad): एजेंट के लिए खुद को नोट्स लिखने की जगह।
- लॉन्ग-टर्म मेमोरी (Long-term Memory): भविष्य के सत्रों के लिए तथ्यों को स्टोर करना।
केवल वेक्टर डेटाबेस पर निर्भर न रहें। मार्कडाउन फाइलों का उपयोग करके फाइल-आधारित मेमोरी अक्सर बेहतर होती है। इसे ऑडिट, एडिट और ग्रेप (grep) करना आसान है।
बाधाएं और सुरक्षा (Constraints and Safety)
प्रोडक्शन एजेंटों को गार्डरेल्स (guardrails) की आवश्यकता होती है। इन चार का उपयोग करें:
- टूल अलाउलिस्ट (Tool allowlists): केवल विशिष्ट, नामित टूल्स की अनुमति दें।
- इटरेशन बजट (Iteration budgets): अनंत लूप को रोकने के लिए स्टेप्स की संख्या सीमित करें।
- टोकन बजट (Token budgets): कुल टोकन की सीमा तय करके लागत को सीमित करें।
- अप्रूवल गेट्स (Approval gates): ईमेल भेजने या डेटा हटाने जैसे उच्च-जोखिम वाले कार्यों के लिए मानवीय अनुमति आवश्यक करें।
सत्यापन (Verification)
जब मॉडल कहे कि कार्य पूरा हो गया है, तो उस पर कभी भरोसा न करें। मॉडल डिफ़ॉल्ट रूप से आत्मविश्वासी होता है।
वास्तविक सत्यापन का उपयोग करें। यदि एजेंट कोड लिखता है, तो टेस्ट चलाएं। यदि वह JSON जेनरेट करता है, तो स्कीमा की जांच करें। यदि वह कोई कार्य करता है, तो परिवर्तन की पुष्टि करने के लिए एक क्वेरी चलाएं।
सर्वश्रेष्ठ एजेंट लूप के भीतर सत्यापन का उपयोग करते हैं। यदि कोई टेस्ट विफल हो जाता है, तो एरर को वापस एजेंट को भेजें। उसे फिर से प्रयास करने दें।
स्मार्टर प्रॉम्प्ट्स के पीछे भागना बंद करें। बेहतर प्लंबिंग (plumbing) बनाना शुरू करें।
वैकल्पिक लर्निंग कम्युनिटी: https://t.me/GyaanSetuAi
