हर कोई प्रॉम्प्ट्स की बात करता है। लूप ही वह जगह है जहाँ एजेंट्स वास्तव में विफल होते हैं

प्रॉम्प्ट इंजीनियरिंग (Prompt engineering) को सारा ध्यान मिलता है। लोग प्रॉम्प्ट्स शेयर करते हैं और खुद को स्मार्ट समझते हैं। लेकिन जिन एजेंटिक सिस्टम्स (agentic systems) को मैं बनाता हूँ, उनमें प्रॉम्प्ट्स नहीं टूटते। लूप टूटता है।

एक एजेंट केवल एक सिंगल प्रॉम्प्ट और रिस्पॉन्स नहीं है। यह एक लूप है।

  • स्थिति का अवलोकन करें (Observe the state)।
  • एक एक्शन लें (Take an action)।
  • परिणाम का मूल्यांकन करें (Evaluate the result)।
  • जारी रखने या रुकने का निर्णय लें (Decide to continue or stop)।

यदि इनमें से कोई भी स्टेप विफल होता है, तो एजेंट विफल हो जाता है। मैंने इसका अध्ययन करने के लिए 1,412 रन में 12 मॉडल्स का विश्लेषण किया। यहाँ बताया गया है कि लूप कैसे विफल होते हैं और उन्हें कैसे ठीक किया जाए।

सामान्य लूप विफलताएँ (Common Loop Failures):

  • टोकन स्पाइरल्स (Token Spirals): एजेंट खुद को दोहराता है और बहुत अधिक टोकन का उपयोग करता है।
  • ब्लाइंड स्पॉट्स (Blind Spots): एजेंट अपने परिवेश को नहीं देख पाता और वही गलती दोहराता है।
  • झूठी सफलता (False Success): एजेंट गलत उत्तर देता है लेकिन उसे लगता है कि वह सही है।
  • डेड एंड्स (Dead Ends): एजेंट को त्रुटि मिलती है लेकिन वह सुधार के लिए उस डेटा का उपयोग नहीं कर पाता।

एक बेहतर प्रॉम्प्ट इन समस्याओं को ठीक नहीं कर सकता। आपको लूप इंजीनियरिंग (loop engineering) की आवश्यकता है।

बेहतर लूप्स के लिए चार डिज़ाइन सिद्धांत (Four Design Principles for Better Loops):

  • लूप को सीमित करें (Bound the loop): इटरेशन (iterations) और टोकन पर एक सख्त सीमा निर्धारित करें। यदि एजेंट अपनी सीमा तक पहुँच जाता है, तो उसे रुकना चाहिए और मदद माँगनी चाहिए।
  • परिवेश को सुपाठ्य बनाएँ (Make the environment legible): सुनिश्चित करें कि 'ऑब्जर्व' स्टेप एजेंट को सभी तथ्य प्रदान करे। यदि कोई एजेंट विफल होने वाले एक्शन को दोहराता है, तो इसका मतलब है कि उसके पास सही जानकारी की कमी है।
  • एक्टर (actor) को इवैल्यूएटर (evaluator) से अलग करें: एक ही मॉडल को अपना काम खुद चेक न करने दें। आउटपुट का निर्णय लेने के लिए किसी अलग मॉडल या रूल-बेस्ड चेक (rule-based check) का उपयोग करें।
  • लूप को क्लोज करें (Close the loop): वास्तविक सुधार करने के लिए त्रुटियों का उपयोग करें। जब कोई लूप विफल हो जाए, तो एक रिग्रेशन टेस्ट (regression test) जोड़ें ताकि यह दोबारा न हो।

मैंने इन नियमों का उपयोग करके RelayOps नामक एक सपोर्ट एजेंट बनाया। हमने एजेंट को ग्रेड करने के लिए एक स्वतंत्र जज (independent judge) का उपयोग किया।

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

एजेंट को अधिक स्मार्ट होने की आवश्यकता नहीं थी। लूप को बेहतर ढंग से डिज़ाइन करने की आवश्यकता थी।

केवल प्रॉम्प्ट्स पर ध्यान केंद्रित करना बंद करें। स्ट्रक्चर (structure) पर ध्यान दें।

आपने किस तरह की लूप विफलता देखी है? टोकन स्पाइरल, ब्लाइंड स्पॉट, या कोई ऐसा एजेंट जो आत्मविश्वास के साथ गलत था?

Source: https://dev.to/manideep_patibandla/everyone-talks-about-prompts-the-loop-is-where-agents-actually-fail-1cej

Optional learning community: https://t.me/GyaanSetuAi