प्रोडक्शन में AI एजेंट्स चलाने से मैंने क्या सीखा

मैं AI सिस्टम बनाता हूँ। मैं उन इंजीनियरों से बात करता हूँ जो कोड शिप करते हैं। चकाचौंध भरे डेमो और वास्तविक प्रोडक्शन सिस्टम के बीच एक अंतर है।

आजकल लोग हर चीज़ को एजेंट कह रहे हैं। लूप वाले एक स्क्रिप्ट को एजेंट कहा जा रहा है। मेमोरी वाले चैटबॉट को एजेंट कहा जा रहा है। यह गलती खराब इंजीनियरिंग की ओर ले जाती है।

टीमें सरल कार्यों को ज़रूरत से ज़्यादा जटिल (over-engineer) बना देती हैं। वे उन वर्कफ़्लो में जटिल ऑर्केस्ट्रेशन जोड़ देती हैं जिन्हें केवल एक अच्छे प्रॉम्प्ट की आवश्यकता होती है।

एक एजेंट का एक उद्देश्य (objective) होना चाहिए, न कि केवल एक निर्देश। उसे यह तय करना चाहिए कि आगे क्या करना है। उसे विफलता (failure) को संभालना चाहिए। उसे पता होना चाहिए कि वह कब समाप्त हुआ है।

बाकी सब कुछ केवल एक फंक्शन कॉल है।

• यदि किसी इंसान को हर कदम पर मार्गदर्शन करना पड़ता है, तो वह एक चैट इंटरफ़ेस है। • यदि कोई सिस्टम विफल टूल कॉल से उबर जाता है, तो वह एक एजेंट है। • यदि कोई सिस्टम किसी लक्ष्य को उप-कार्यों (subtasks) में तोड़ता है, तो वह एक वास्तविक एजेंट है।

वास्तविक एजेंट डिप्लॉयमेंट सीमित (narrow) होते हैं। वे एक काम अच्छी तरह से करते हैं जैसे डॉक्यूमेंट एक्सट्रैक्शन या कोड रिव्यू। वे सामान्य रीजनिंग इंजन नहीं होते हैं।

सफल टीमें तीन चीज़ों पर ध्यान केंद्रित करती हैं:

  • टूल डिज़ाइन: उन चीज़ों के लिए क्लीन इंटरफ़ेस जिन्हें एजेंट कॉल करता है।
  • फेलियर हैंडलिंग: जब कोई टूल कुछ भी वापस नहीं करता है तो क्या होता है।
  • ऑब्ज़र्वेबिलिटी: यह ट्रैक करना कि एजेंट ने कोई विशिष्ट निर्णय क्यों लिया।

LangChain या CrewAI जैसे फ्रेमवर्क हर महीने बदलते रहते हैं। फ्रेमवर्क से ज़्यादा पैटर्न मायने रखते हैं।

सफल होने के लिए इन पैटर्न्स का उपयोग करें:

  • पहले योजना बनाएं फिर निष्पादित करें: योजना बनाने के लिए एक स्टेप और निष्पादन (execution) के लिए एक अलग स्टेप का उपयोग करें।
  • रिट्रीवल को रीजनिंग से अलग करें: कॉन्टेक्स्ट प्राप्त करना और कॉन्टेक्स्ट का उपयोग करना अलग-अलग काम हैं।
  • स्पष्ट हैंडऑफ: जब एक एजेंट दूसरे को काम सौंपता है तो स्ट्रक्चर्ड लॉग्स का उपयोग करें।

RAG एक मानक है, लेकिन अधिकांश लोग चंकिंग (chunking) में विफल रहते हैं। यदि आप टेक्स्ट को खराब तरीके से विभाजित करते हैं, तो मॉडल कॉन्टेक्स्ट खो देता है। यदि आपके RAG परिणाम बेकार हैं, तो मॉडल को दोष देने से पहले अपनी मेटाडेटा और चंकिंग रणनीति की जाँच करें।

मॉडल बेहतर और सस्ते होते जाएंगे। इससे मुख्य इंजीनियरिंग चुनौती नहीं बदलेगी। आपको ऐसे सिस्टम बनाने चाहिए जो आपके न देखने पर भी सही ढंग से व्यवहार करें।

गवर्नेंस और ऑब्ज़र्वेबिलिटी पर ध्यान केंद्रित करें। महत्वपूर्ण इंजीनियर वे होंगे जो ऐसे सिस्टम बनाएंगे जिन पर दूसरे भरोसा कर सकें। यह सिस्टम डिज़ाइन है, मॉडल रिसर्च नहीं।

स्रोत: https://dev.to/aibughunter/what-i-learned-after-running-ai-agents-in-production-for-a-year-49n