आज हर AI चर्चा में 'Agents' का बोलबाला है। डेमो में वे स्वायत्त डिजिटल सहायकों (autonomous digital assistants) की तरह दिखते हैं जो बिना मानवीय सहायता के सोचते हैं, रणनीति बनाते हैं और समस्याओं को हल करते हैं। लेकिन, यदि आप इंटरफ़ेस के पीछे देखें, तो आपको कुछ बहुत ही सरल मिलेगा। एक एजेंट केवल एक लूप (loop) के भीतर चलने वाला एक लैंग्वेज मॉडल है। यह एक डिज़ाइन पैटर्न है, कोई चेतना (consciousness) नहीं। इस अंतर को समझना महत्वपूर्ण है क्योंकि यह इस बात को बदल देता है कि आप इन सिस्टम्स को कैसे बनाते हैं, डिबग करते हैं और उन पर भरोसा करते हैं।

एक एजेंट वास्तव में क्या है

एक मानक चैटबॉट (standard chatbot) एक सिंगल-शॉट फंक्शन है। आप एक प्रॉम्प्ट टाइप करते हैं। मॉडल अगले टोकन का अनुमान लगाता है और टेक्स्ट का एक ब्लॉक वापस करता है। फिर यह रुक जाता है। यह जांच नहीं करता कि क्या इसका उत्तर सटीक था। यह सत्यापित नहीं करता कि कोई वेब लिंक काम कर रहा है या कोई गणना सही है। यह एक ही बार में अपना सबसे अच्छा अनुमान आपको दे देता है और शांत हो जाता है।

एक एजेंट उस सिंगल शॉट को एक दोहराव वाले चक्र (repeating cycle) में तोड़ देता है। मॉडल अभी भी टेक्स्ट जेनरेट करता है, लेकिन अब यह एक नियंत्रित लूप के भीतर काम करता है जहाँ यह बाहरी दुनिया को प्रभावित कर सकता है और जो कुछ भी होता है उस पर प्रतिक्रिया दे सकता है।

यह चक्र इस प्रकार दिखता है:

  • लक्ष्य का आकलन करें और क्या करना है इस पर विचार करें।
  • एक कार्रवाई करें, आमतौर पर किसी टूल या API को कॉल करके।
  • उस कार्रवाई के परिणाम का अवलोकन करें।
  • उस नई जानकारी के आधार पर फिर से विचार करें।

यह चक्र तब तक दोहराया जाता है जब तक कार्य पूरा नहीं हो जाता या सिस्टम किसी सुरक्षा सीमा (safety limit) तक नहीं पहुँच जाता। यही पूरा रहस्य है। इसमें कोई छिपा हुआ रीजनिंग इंजन नहीं है। जादू मॉडल को वास्तविक टूल से वास्तविक डेटा का उपयोग करके अपने स्वयं के पथ को सुधारने का अवसर देने से आता है।

ReAct: थॉट-एक्शन-ऑब्जर्वेशन (Thought-Action-Observation) चक्र

इस लूप को लागू करने का सबसे आम तरीका ReAct पैटर्न है, जिसका अर्थ है Reason (तर्क) प्लस Act (कार्रवाई)। लूप के हर चक्कर में, मॉडल तीन अलग-अलग चरणों से गुजरता है।

सबसे पहले, मॉडल एक Thought (विचार) उत्पन्न करता है। यह वर्तमान स्थिति पर विचार करता है, खुद को मूल लक्ष्य की याद दिलाता है और तय करता है कि उसे आगे क्या जानने की आवश्यकता है। दूसरा, यह एक Action (कार्रवाई) चुनता है। यह एक वेब सर्च, डेटाबेस क्वेरी, कैलकुलेटर कॉल, या फ़ाइल पढ़ने का अनुरोध हो सकता है। तीसरा, इसे एक Observation (अवलोकन) प्राप्त होता है। सिस्टम मॉडल के बाहर कार्रवाई को निष्पादित करता है और कच्चे परिणाम (raw result) को बातचीत के इतिहास (conversation history) में वापस डाल देता है। मॉडल फिर उस ताज़ा अवलोकन को अपनी नई वास्तविकता के रूप में उपयोग करते हुए अगला लूप शुरू करता है।

एक सरल उदाहरण पर विचार करें। मान लीजिए कि आप एक एजेंट से पूछते हैं कि क्या कल ऑस्टिन (Austin) में बारिश होगी। मॉडल सोच सकता है, "मुझे ऑस्टिन के लिए मौसम के पूर्वानुमान की आवश्यकता है।" इसकी कार्रवाई शहर के नाम के साथ एक वेदर API को कॉल करना है। अवलोकन कच्चे JSON के रूप में वापस आता है: तापमान की रीडिंग और वर्षा की संभावना। मॉडल फिर से सोचता है, "पूर्वानुमान बारिश की सत्तर प्रतिशत संभावना दिखाता है," और इसकी अंतिम कार्रवाई उस जानकारी को आपके लिए एक सरल अंग्रेजी उत्तर में संश्लेषित (synthesize) करना है।

यह संरचना महत्वपूर्ण है क्योंकि यह मॉडल को वास्तविकता से जोड़े रखती है। यदि मॉडल को आगे बढ़ने से पहले सर्च करना और परिणामों को पढ़ना ही होगा, तो वह केवल तथ्य नहीं गढ़ सकता। अवलोकन अगले विचार पर एक सख्त बाधा (hard constraint) के रूप में कार्य करता है। लूप तथ्यों को गढ़ना बहुत कठिन बना देता है क्योंकि मॉडल को बोलने से पहले देखना पड़ता है।

एक विश्वसनीय लूप बनाने के लिए आपको क्या चाहिए

प्रोडक्शन में इस पैटर्न को चलाने के लिए केवल एक चतुर प्रॉम्प्ट से अधिक की आवश्यकता होती है। आपको तीन व्यावहारिक गार्डरेल्स (guardrails) की आवश्यकता है।

एक स्टेप बजट सेट करें। हमेशा लूप इटरेशन (loop iterations) की अधिकतम संख्या निर्धारित करें। बिना किसी सीमा के, एक एजेंट अपनी ही पूंछ का पीछा कर सकता है—सर्च करना, अवलोकन करना, तर्क करना, फिर से सर्च करना—जब तक कि वह आपके API बजट को खत्म न कर दे। स्टेप लिमिट टर्मिनेशन (समाप्ति) को मजबूर करती है। सीमा तक पहुँचने पर आप तय कर सकते हैं कि आंशिक परिणाम (partial result) वापस करना है, किसी इंसान को सूचित करना है, या बस शालीनता से विफल (fail gracefully) होना है।

कोड निष्पादन (code execution) को स्वयं संभालें। लैंग्वेज मॉडल टूल्स नहीं चलाता है। यह केवल कार्रवाइयों का सुझाव देता है, आमतौर पर स्ट्रक्चर्ड टेक्स्ट या JSON आउटपुट करके जिसमें टूल का नाम और पैरामीटर दिए गए हों। आपके कोड को