द आउटर एजंट लूप: २०२६ मध्ये AI सिस्टम्सची निर्मिती
सॉफ्टवेअर इंजिनिअरिंगमध्ये बदल होत आहेत.
सर्वात उत्पादक इंजिनिअर्स आता मॉडेल्सना मॅन्युअली प्रॉम्प्ट देत नाहीत. ते अशा सिस्टम्स डिझाइन करतात ज्या त्यांच्यासाठी मॉडेल्सना प्रॉम्प्ट देतात. ते हार्नेसेस (harnesses) तयार करतात. ते लूप्स (loops) लिहितात.
प्रोडक्शन-ग्रेड AI तयार करण्यासाठी, तुम्हाला दोन लूप्समधील फरक समजून घेणे आवश्यक आहे:
The Inner Loop हे मॉडेल कॉन्टेक्स्टच्या (context) आत असते. LLM एका टूलला कॉल करते, निकाल मिळवते आणि काम पूर्ण झाले असे वाटत नाही तोपर्यंत ते पुन्हा पुन्हा करते. हे शक्तिशाली आहे परंतु कॉन्टेक्स्ट विंडो आणि अटेंशन ड्रिफ्ट (attention drift) मुळे मर्यादित आहे.
The Outer Loop हा हार्नेस (harness) आहे. हे मॉडेल कॉन्टेक्स्टच्या बाहेर असते. हे तुम्ही LLM ला वेढण्यासाठी (wrap) लिहिलेला कोड आहे. काम चांगले झाले आहे का, पुन्हा प्रयत्न करण्याची गरज आहे का, किंवा मानवी हस्तक्षेपाची आवश्यकता आहे का, याचा निर्णय हा लूप घेतो.
प्रोडक्शन-ग्रेड आउटर लूपसाठी या सहा घटकांची आवश्यकता असते:
- Task Queues: काम व्यवस्थापित करण्यासाठी Redis किंवा SQS वापरा. यामुळे क्रॅश झाल्यानंतरही टास्क सुरक्षित राहतात आणि रेट लिमिटिंग (rate limiting) करणे शक्य होते.
- Context Builders: हे सिस्टम प्रॉम्प्ट आणि मर्यादा (constraints) तयार करतात. चुकीचा कॉन्टेक्स्ट चुकीच्या इटरेशन्सकडे (iterations) नेतो.
- Session Management: हे संभाषणाचा इतिहास ट्रॅक करते जेणेकरून एजंट आपला संदर्भ विसरत नाही.
- Completion Signals: काम कधी थांबवायचे हे जाणून घेण्यासाठी तुम्हाला एका मार्गाची गरज असते. यासाठी मेकॅनिकल टेस्ट्स, JSON पार्सिंग किंवा LLM-as-judge चा वापर करा.
- Budget Enforcers: पैसे वाया घालवणारे इन्फिनिट लूप्स टाळण्यासाठी इटरेशन्स आणि टोकन्सवर कडक मर्यादा सेट करा.
- Committers: ही ती सीमा आहे जी अंतिम आउटपुट फाईलमध्ये किंवा पुल रिक्वेस्टमध्ये (pull request) लिहिते.
ज्या कामांमध्ये टेस्ट्स पकडू शकत नाहीत, तिथे LLM-as-judge वापरा. तुमच्या महागड्या, रिझनिंग मॉडेलचे आउटपुट तपासण्यासाठी वेगवान आणि स्वस्त मॉडेल वापरा. हे कार्यक्षम कॉम्प्युट अलोकेशन (compute allocation) आहे.
आर्किटेक्चर डेट ट्रॅप (architecture debt trap) पासून सावध राहा.
LLMs अनेकदा try/except ब्लॉक्ससारखा डिफेन्सिव्ह कोड जोडून त्रुटी सुधारण्याचा प्रयत्न करतात. जर एखादा लूप अनेक वेळा चालला, तर तो तुमचा कोडबेस विस्कळीत फॉलबॅक (fallbacks) ने भरू शकतो. त्याऐवजी, तुमच्या एजंटला मूळ कारण (root cause) सुधारण्याचे आणि सिस्टम इनव्हेरियंट्स (system invariants) राखण्याचे निर्देश द्या.
ध्येय जास्तीत जास्त स्वायत्तता (autonomy) मिळवणे हे नाही. ध्येय असे लूप्स तयार करणे आहे जे मानवासाठी मेंटेन करण्यायोग्य आणि समजण्यायोग्य राहतील.
तुमचे लूप्स विचारपूर्वक तयार करा.
Optional learning community: https://t.me/GyaanSetuAi
