एजेंट उपयोगी होते हैं क्योंकि वे वास्तविक दुनिया में कार्रवाई करके काम को स्वचालित करने में हमारी मदद करते हैं। लेकिन एजेंटों से विश्वसनीय रूप से मूल्यवान काम करवाने के लिए सिर्फ एक अच्छा मॉडल ही काफी नहीं है: इसके लिए एक सावधानीपूर्वक डिज़ाइन किए गए हार्नेस की आवश्यकता होती है जो कार्यों के एक सेट के लिए उपयुक्त हो।
मुख्य एजेंट एल्गोरिदम सरल है: LLM को संदर्भ दें और इसे तब तक एक लूप में टूल कॉल करने दें जब तक कि काम पूरा न हो जाए। यह सबसे बुनियादी लूप है। लेकिन यह एजेंटों को शक्ति प्रदान करने वाला एकमात्र लूप नहीं है। @swyx ने हाल ही में "लूपक्राफ्ट: द आर्ट ऑफ़ स्टैकिंग लूप्स" पर एक शानदार लेख लिखा है, जिसमें यह विचार है कि आप अधिक प्रभावी एजेंट बनाने के लिए लूप को स्टैक और विस्तारित कर सकते हैं।
यहाँ बताया गया है कि हम उस स्टैक के बारे में कैसे सोचते हैं, और LangChain प्रिमिटिव के साथ प्रत्येक स्तर को कैसे इंस्ट्रूमेंट किया जाए।
लूप 1: एजेंट
इसके मूल में, एक एजेंट सिर्फ एक मॉडल है जो किसी कार्य के पूरा होने तक एक लूप में टूल कॉल करता है।

यह वही है जो LangChain का create_agent आपको देता है। कोई भी मॉडल चुनें, टूल प्लग इन करें, और आपके पास एक काम करने वाला एजेंट लूप है। टूल ही एजेंट को वास्तविक दुनिया में कार्रवाई करने की शक्ति देते हैं।
हमारे आंतरिक डॉक्स एजेंट को एक उदाहरण के रूप में लें (जिसका उपयोग हम इस पूरे ब्लॉग के लिए एक प्रेरक उदाहरण के रूप में करेंगे)। पहले लूप स्तर पर, यह दस्तावेज़ीकरण सुधार के लिए एक अनुरोध प्राप्त करता है, मॉडल योजना बनाता है और ड्राफ्ट बदलता है, और यह रिपॉजिटरी क्लोन करने, फ़ाइलें पढ़ने, डॉक्स लिखने, पुल रिक्वेस्ट खोलने आदि के लिए टूल का उपयोग करता है।

स्तर 2: सत्यापन लूप
एजेंट लूप काम तो करता है, लेकिन यह हमेशा पहले प्रयास में सही या सुसंगत काम नहीं करता है। जब स्थिरता मायने रखती है, तो इसे अक्सर एक सत्यापन लूप में लपेटना उपयोगी होता है जो आउटपुट की जाँच करता है और जब यह कम पड़ता है तो मॉडल को फीडबैक भेजता है।

सत्यापन लूप एक ग्रेडर जोड़ता है: एक ऐसी चीज़ जो एजेंट के आउटपुट को एक रूब्रिक के विरुद्ध जाँचती है और, यदि वह विफल होता है, तो फीडबैक के साथ परिणाम वापस भेजती है। ग्रेडर या तो नियतात्मक या एजेंटिक हो सकते हैं (LLM एक न्यायाधीश के रूप में यहाँ एक उत्कृष्ट उदाहरण है)।
RubricMiddleware इस पैटर्न को संभालता है, या आप इसे create_agent पर after_agent हुक के साथ वायर कर सकते हैं।
हमारे डॉक्स राइटर उदाहरण के लिए, ग्रेडर प्रत्येक प्रयास के बाद परीक्षण चलाता है, यह जाँचता है कि सभी लिंक हल हो गए हैं, सभी CI चेक पास हो गए हैं, और डिफ़ वास्तव में जो अनुरोध किया गया था, उसी तक सीमित है। त्रुटियों के उन वर्गों को पकड़ने के लिए किसी मैन्युअल समीक्षा की आवश्यकता नहीं है।

एक ट्रेडऑफ़: सत्यापन जोड़ने से प्रति रन विलंबता और लागत बढ़ जाती है। यह तब सार्थक है जब गुणवत्ता गति से अधिक मायने रखती है, जो कि अधिकांश उत्पादन उपयोग के मामले हैं।
स्तर 3: इवेंट-संचालित लूप
एजेंट विकास के सबसे महत्वपूर्ण भागों में से एक एकीकरण परत है: अपने एजेंट को अपने इकोसिस्टम से जोड़ना ताकि वह पृष्ठभूमि में चल सके।
इवेंट-संचालित लूप आपके एजेंट को आपके इकोसिस्टम से जोड़ता है। एक इवेंट फायर होता है — एक नया दस्तावेज़ आता है, एक शेड्यूल ट्रिगर होता है, एक वेबहुक आता है — और एजेंट चलता है। एजेंट कोई ऐसी चीज़ नहीं है जिसे आप मैन्युअल रूप से लागू करते हैं; यह एक बड़े सिस्टम के अंदर लगातार चलने वाला एक घटक है।

LangSmith Deployment क्रॉन शेड्यूल और वेबहुक के लिए समर्थन सहित ट्रिगर इंफ्रास्ट्रक्चर का समर्थन करता है। क्रॉन के कार्यान्वयन का एक लोकप्रिय उदाहरण openclaw में "हार्टबीट्स" है, जो आपके एजेंट को हमेशा चालू, सक्रिय सहायक में बदल देता है।
हमारा डॉक्स एजेंट Fleet, हमारे नो-कोड एजेंट बिल्डर द्वारा संचालित है। Fleet के चैनल और शेड्यूल इवेंट-संचालित और क्रॉन-शैली ट्रिगर को संभालते हैं। हम एक चैनल का उपयोग करते हैं जब भी हमारे #docs-plz Slack चैनल में कोई संदेश भेजा जाता है, तो डॉक्स एजेंट को फायर करने के लिए।

स्तर 4: हिल क्लाइम्बिंग लूप
पहले तीन लूप काम को स्वचालित करते हैं। चौथा (और संभवतः सबसे महत्वपूर्ण) सुधार को स्वचालित करता है!

प्रत्येक एजेंट रन एक ट्रेस उत्पन्न करता है: मॉडल ने क्या किया, उसने किन टूल को कॉल किया, ग्रेडर फीडबैक आदि का एक रिकॉर्ड। उन ट्रेस में इस बारे में उच्च मूल्य का संकेत होता है कि क्या काम कर रहा है और क्या नहीं। हिल क्लाइम्बिंग लूप उन ट्रेस पर एक विश्लेषण एजेंट चलाता है और बेहतर कॉन्फ़िगरेशन के साथ हार्नेस को फिर से लिखने के लिए निष्कर्षों का उपयोग करता है। इसमें प्रॉम्प्ट/टूल ट्वीक या ग्रेडर ट्वीक शामिल हो सकते हैं।
LangSmith में, आप इस चौथे लूप को इंस्ट्रूमेंट करने के लिए Engine, हमारे ट्रेस विश्लेषण एजेंट का उपयोग कर सकते हैं।
डॉक्स एजेंट सादृश्य को समाप्त करते हुए, हम किसी भी समस्या का पता लगाने के लिए डॉक्स एजेंट ट्रेस पर Engine चलाते हैं। जब कई ट्रेस एक संभावित समस्या का संकेत देते हैं, तो आपत्तिजनक प्रॉम्प्ट या टूल में बदलाव का अनुरोध करते हुए एक मुद्दा दायर किया जाता है।

यहाँ मुख्य कदम यह है कि रिटर्न एरो सिर्फ ऊपर वापस लूप नहीं करता है — यह अंदर पहुँचता है और सीधे एजेंट लूप को अपडेट करता है। बाहरी लूप का प्रत्येक चक्र आंतरिक लूप को अधिक प्रभावी बनाता है।
आगे की ओर देखना:
प्रॉम्प्ट और टूल कॉन्फ़िगरेशन सबसे सरल चीज़ें हैं जिन्हें सुधारा जा सकता है, लेकिन वे एकमात्र विकल्प नहीं हैं। ओपन-वेट मॉडल चलाने वाली टीमों के लिए, हिल क्लाइम्बिंग लूप RL फाइन-ट्यूनिंग में फीड कर सकता है, मॉडल को बेहतर बनाने के लिए ट्रेस या इवैल परिणामों को प्रशिक्षण संकेत के रूप में उपयोग कर सकता है। मेमोरी और पुनर्प्राप्त कौशल जैसे सहायक संदर्भ को भी उसी तरह से बेहतर बनाया जा सकता है। लूप पैटर्न है; यह क्या अनुकूलित करता है यह आप पर निर्भर है।
मानवीय निरीक्षण और विशेषज्ञता
स्वचालन का मतलब मनुष्यों को लूप से हटाना नहीं है। हर स्तर पर, प्राकृतिक बिंदु होते हैं जहाँ मानवीय निरीक्षण मूल्य जोड़ता है। एक स्वचालित ग्रेडर जाँच सकता है कि लिंक हल हो गए हैं या नहीं; यह नोटिस करने के लिए एक मानव की आवश्यकता होती है कि दर्शकों के लिए फ्रेमिंग गलत है। उस तरह का निर्णय, संदर्भ, अनुभव और स्वाद से अर्जित, ठीक वही है जहाँ मानवीय समीक्षा अपना स्थान अर्जित करती है।
कुछ विशेषज्ञता को प्रॉम्प्ट/टूल में ही संहिताबद्ध किया जाना चाहिए, लेकिन संवेदनशील कार्यों के लिए, लाइव मानवीय समीक्षा आवश्यक है (वित्तीय लेन-देन, DB संचालन आदि के बारे में सोचें)। LangChain प्रत्येक लूप में इन टच पॉइंट को इंस्ट्रूमेंट करना सीधा बनाता है:
- एजेंट लूप में, संवेदनशील कार्यों/टूल कॉल से पहले मानव इनपुट की आवश्यकता होती है
- सत्यापन लूप में, एक मानव संवेदनशील वर्कफ़्लो के लिए ग्रेडर के रूप में कार्य कर सकता है
- एप्लिकेशन लूप में, एक मानव अंतिम उपयोगकर्ता को वापस किए जाने से पहले आउटपुट को अनुमोदित कर सकता है
- हिल क्लाइम्बिंग लूप में, हार्नेस सुधार तैनाती से पहले मानवीय समीक्षा के माध्यम से प्रवाहित हो सकते हैं
LangChain के सभी ओपन सोर्स फ्रेमवर्क "लूप में मानव" को प्रथम श्रेणी का प्रिमिटिव बनाते हैं।
सब कुछ एक साथ रखना
यदि आप अधिक सारणीबद्ध दृश्य पसंद करते हैं, तो यहाँ बताया गया है कि वे चार लूप एक साथ कैसे स्टैक होते हैं:
लूप
यह क्या करता है
प्रभाव
LangChain प्रिमिटिव
1: एजेंट लूप
(मॉडल + टूल)
मॉडल किसी कार्य के पूरा होने तक बार-बार टूल कॉल करता है
काम को स्वचालित करें
create_agent
, कोई भी LangChain-समर्थित मॉडल
2: सत्यापन लूप
(एजेंट + ग्रेडर)
एजेंट चलता है, आउटपुट को एक रूब्रिक के विरुद्ध स्कोर किया जाता है, विफल होने पर फीडबैक के साथ पुनः प्रयास किया जाता है
गुणवत्ता सुनिश्चित करें
RubricMiddleware
3: इवेंट लूप
(सत्यापन + सिस्टम)
इवेंट एजेंट रन को ट्रिगर करते हैं जो एक वास्तविक सिस्टम को अपडेट करते हैं
पैमाने पर काम करें
LangSmith Deployment / Fleet चैनल
4: हिल क्लाइम्बिंग लूप
(सिस्टम + इंजन)
उत्पादन ट्रेस एक विश्लेषण एजेंट को फीड करते हैं जो हार्नेस कॉन्फ़िगरेशन में सुधार करता है
निरंतर सुधार
LangSmith Engine
यह वही है जो लूप इंजीनियरिंग — या लूपक्राफ्ट, जैसा कि @swyx कहते हैं — वास्तव में व्यवहार में दिखता है। Steipete, Boris, और Andrej जैसे AI नेता सभी एक ही निष्कर्ष पर पहुँचे हैं: एजेंटों में क्षमता उन लूपों में है जो आप उनके चारों ओर बनाते हैं।
हम कुछ समय से लूप 1 और 2 के बारे में सोच रहे हैं। लेकिन फोकस लूप 3 और 4 पर स्थानांतरित होना चाहिए जहाँ मूल्य आपके एजेंटों को आपके इकोसिस्टम में एम्बेड करके बढ़ता है जो आपके मानदंडों के जवाब में लगातार सुधार करते हैं।
Satya संगठनात्मक दांव को फ्रेम करता है: जो कंपनियाँ जल्दी सीखने वाले लूप बनाती हैं, जहाँ मानवीय निर्णय और टोकन पूंजी एक साथ बढ़ती है, वे एक ऐसा लाभ बनाएँगी जिसे दोहराना मुश्किल है।
आभार
@Vtrivedy10, @masondrxy, @hwchase17, और @huntlovell को विचारशील समीक्षा के लिए धन्यवाद।





