ai-agents-for-beginners

AI एजेन्टहरुका लागि सन्दर्भ इन्जिनियरिङ

सन्दर्भ इन्जिनियरिङ

(उपरोक्त छविमा क्लिक गरी यो पाठको भिडियो हेर्नुहोस्)

तपाईं जस किसिमको एप्लिकेसनको लागि AI एजेन्ट बनाइरहनु भएको छ त्यसको जटिलता बुझ्नु विश्वसनीय एजेन्ट बनाउन महत्वपूर्ण छ। हामीले प्रम्प्ट इन्जिनियरिङ भन्दा पर गएर जटिल आवश्यकताहरू पूरा गर्न प्रभावकारी रूपमा जानकारी व्यवस्थापन गर्ने AI एजेन्टहरू बनाउन आवश्यक छ।

यस पाठमा, हामी सन्दर्भ इन्जिनियरिङ के हो र AI एजेन्टहरू निर्माणमा यसको भूमिका के हो भन्ने कुरा हेर्नेछौं।

परिचय

यस पाठले समेट्छ:

सन्दर्भ इन्जिनियरिङ के हो र किन यो प्रम्प्ट इन्जिनियरिङ भन्दा फरक छ।

प्रभावकारी सन्दर्भ इन्जिनियरिङका रणनीतिहरू, जसमा कसरी लेख्ने, चयन गर्ने, संकुचन गर्ने, र जानकारी अलग गर्ने समावेश छ।

सामान्य सन्दर्भ विफलताहरू जसले तपाइँको AI एजेन्टलाई गडबड बनाउन सक्छ र तिनीहरूलाई कसरी सुधार्ने।

सिक्ने लक्ष्यहरू

यस पाठ पूरा गरेपछि, तपाईंले कसरी निम्न कुरा बुझ्ने हुनुपर्नेछ:

सन्दर्भ इन्जिनियरिङ परिभाषित गर्न र यसलाई प्रम्प्ट इन्जिनियरिङबाट छुट्याउन।

ठूला भाषा मोडेल (LLM) अनुप्रयोगहरूमा सन्दर्भका मुख्य घटकहरू पहिचान गर्न।

एजेन्ट प्रदर्शन सुधार गर्न लेख्ने, चयन गर्ने, संकुचन गर्ने, र अलग गर्ने सन्दर्भ रणनीतिहरू लागू गर्न।

सामान्य सन्दर्भ विफलताहरू जस्तै पोइजनिङ, विचलन, भ्रम, र टकराव पहिचान गर्न र न्यूनीकरण प्रविधिहरू लागू गर्न।

सन्दर्भ इन्जिनियरिङ भनेको के हो?

AI एजेन्टहरूका लागि, सन्दर्भ भनेको केहि कार्यहरू पूरा गर्नका लागि एजेन्टले लिनुपर्ने योजनालाई चलाउने तत्व हो। सन्दर्भ इन्जिनियरिङ भनेको AI एजेन्टसँग अर्को चरणको कार्य पूरा गर्न आवश्यक सही जानकारी सुनिश्चित गर्ने अभ्यास हो। सन्दर्भ विन्डो साइजमा सीमित हुन्छ, त्यसैले एजेन्ट निर्माताका रूपमा हामीले सन्दर्भ विन्डोमा जानकारी थप्ने, हटाउने, र सङ्कुचित गर्ने प्रणालीहरू र प्रक्रियाहरू निर्माण गर्नुपर्छ।

प्रम्प्ट इन्जिनियरिङ बनाम सन्दर्भ इन्जिनियरिङ

प्रम्प्ट इन्जिनियरिङ एकल सेटको स्थिर निर्देशनहरूमा केन्द्रित हुन्छ जसले नियमहरूको सेटसँग AI एजेन्टहरूलाई प्रभावकारी रूपमा मार्गदर्शन गर्छ। सन्दर्भ इन्जिनियरिङ भनेको प्रारम्भिक प्रम्प्टसमेत समावेश गरी गतिशील जानकारी सेट कसरी व्यवस्थापन गर्ने हो, ताकि समयक्रममा AI एजेन्टसँग आवश्यक कुरा उपलब्ध रहोस्। सन्दर्भ इन्जिनियरिङको मुख्य विचार यो प्रक्रिया दोहोर्याउन मिल्ने र भरपर्दो बनाउनु हो।

सन्दर्भका प्रकारहरू

सन्दर्भका प्रकारहरू

स्मरण गर्न जरूरी छ कि सन्दर्भ केवल एउटै चीज होइन। एजेन्टलाई आवश्यक जानकारी विभिन्न स्रोतहरूबाट आउन सक्छ र एजेन्टले यी स्रोतहरूमा पहुँच पाउन सुनिश्चित गर्नु हाम्रो जिम्मेवारी हो:

एआई एजेन्टले व्यवस्थापन गर्नुपर्ने सन्दर्भका प्रकारहरूमा समावेश छन्:

निर्देशहरू: यी एजेन्टका “नियम” जस्ता हुन्छन् – प्रम्प्टहरू, सिस्टम सन्देशहरू, फ्यू-शट उदाहरणहरू (AI लाई कसरी गर्ने देखाउने), र यसले प्रयोग गर्न सक्ने उपकरणहरूको विवरण। यहीं प्रम्प्ट इन्जिनियरिङ र सन्दर्भ इन्जिनियरिङको फोकस मिल्छ।

ज्ञान: यसले तथ्यहरू, डेटाबेसबाट प्राप्त जानकारी, वा एजेन्टले जम्मा गरेको दीर्घकालीन सम्झनाहरू समेट्छ। यदि एजेन्टलाई विभिन्न ज्ञान भण्डार र डेटाबेसहरूमा पहुँच चाहिन्छ भने यसले Retrieval Augmented Generation (RAG) प्रणाली समाकलन गर्न समावेश गर्न सक्छ।

उपकरणहरू: यी बाह्य फंक्शनहरू, APIs र MCP Servers का परिभाषाहरू हुन् जुन एजेन्टले कल गर्न सक्छ, र तिनीहरू प्रयोग गर्दा प्राप्त फिडब्याक (नतिजा)।

संवाद इतिहास: प्रयोगकर्तासँगको जारी संवाद। समय बित्दै जाँदा यी संवादहरू लामो र जटिल बन्दै जान्छन् जसले सन्दर्भ विन्डोमा स्थान ओगट्छ।

प्रयोगकर्ता प्राथमिकताहरू: समयसंगै प्रयोगकर्ताका रुचि वा अरू प्राथमिकताबारे सिकेको जानकारी। ती मुख्य निर्णयहरू गर्दा प्रयोग गर्नका लागि भण्डारण र कल गरिन सक्छ।

प्रभावकारी सन्दर्भ इन्जिनियरिङका रणनीतिहरू

योजना बनाउने रणनीतिहरू

सन्दर्भ इन्जिनियरिङका उत्तम अभ्यासहरू

राम्रो सन्दर्भ इन्जिनियरिङ सँगै राम्रो योजना बाट सुरु हुन्छ। यहाँ एउटा दृष्टिकोण छ जसले तपाइँलाई सन्दर्भ इन्जिनियरिङ अवधारणा लागू गर्ने तरिका सोच्न सुरु गर्न मद्दत गर्नेछ:

  1. स्पष्ट परिणाम परिभाषित गर्नुहोस् - AI एजेन्टहरूलाई दिइने कार्यहरूको परिणामहरू स्पष्ट रूपले परिभाषित हुनुपर्छ। प्रश्नको उत्तर दिनुहोस् - “AI एजेन्टले आफ्नो कार्य पूरा गर्दा संसार कस्तो देखिनेछ?” अर्को शब्दमा, प्रयोगकर्ताले AI एजेन्टसँग अन्तरक्रिया गरेपछि कस्तो परिवर्तन, जानकारी, वा प्रतिक्रिया पाउनुपर्छ भन्ने कुराको जवाफ दिनुहोस्।
  2. सन्दर्भ नक्सा बनाउनुहोस् - एक पटक तपाइँले AI एजेन्टको परिणामहरू परिभाषित गर्नुभयो भने, तपाईंले “यो कार्य पूरा गर्न AI एजेन्टलाई कस्तो जानकारी चाहिन्छ?” भन्ने प्रश्नको उत्तर दिनु आवश्यक छ। यसरी तपाईं जानकारी कहाँ राखिएको छ भन्ने सन्दर्भ नक्सा बनाउन सुरु गर्न सक्नुहुन्छ।
  3. सन्दर्भ पाइपलाइनहरू सिर्जना गर्नुहोस् - अब तपाईंलाई जानकारी कहाँ छ भन्ने थाहा भइसकेपछि, प्रश्न गर्नुहोस् “एजेन्टले यो जानकारी कसरी प्राप्त गर्नेछ?”। यो RAG, MCP सर्भरहरूको प्रयोग र अन्य उपकरणहरू सहित विभिन्न तरिकाले गर्न सकिन्छ।

व्यावहारिक रणनीतिहरू

योजना महत्त्वपूर्ण छ तर एकपटक जानकारी हाम्रो एजेन्टको सन्दर्भ विन्डोमा प्रवाहित हुन थालेपछि, हामीसँग यसलाई व्यवस्थापन गर्ने व्यावहारिक रणनीतिहरू हुन आवश्यक छ:

सन्दर्भ व्यवस्थापन

केही जानकारी स्वतः सन्दर्भ विन्डोमा थपिने भएकोले पनि, सन्दर्भ इन्जिनियरिङले यस जानकारीमा थप सक्रिय भूमिका लिन सक्ने केही रणनीतिहरू समावेश गर्दछ:

  1. एजेन्ट स्क्र्याचप्याड योले AI एजेन्टलाई एकल सत्र दौरान हालको कार्य र प्रयोगकर्ता अन्तरक्रियाहरू सम्बन्धी सान्दर्भिक जानकारी नोट गर्न अनुमति दिन्छ। यसले सत्रको बाहिर फाइल वा रनटाइम वस्तुका रूपमा अवस्थित हुनुपर्छ जुन एजेन्टले आवश्यक परे यो सत्रमा पछि निकाल्न सक्छ।

  2. स्मृतिहरू स्क्र्याचप्याडहरू एकल सत्रको सन्दर्भ विन्डो बाहिर जानकारी व्यवस्थापन गर्न राम्रो छन्। स्मृतिहरूले एजेन्टहरूलाई बहु सत्रहरूमा सान्दर्भिक जानकारी स्टोर र पुन: प्राप्त गर्न सक्षम बनाउँछ। यसमा सारांशहरू, प्रयोगकर्ता प्राथमिकताहरू र सुधारको लागि फिडब्याक समावेश हुन सक्छ।

  3. सन्दर्भ संकुचन एक पटक सन्दर्भ विन्डो बढ्न थाल्यो र यसको सीमा नजिक पुग्यो भने, सारांशकरण र ट्रिमिङ जस्ता तकनीकहरू प्रयोग गर्न सकिन्छ। यसमा केवल सबैभन्दा सान्दर्भिक जानकारी राख्ने वा पुराना सन्देशहरू हटाउने समावेश हुन्छ।

  4. बहु-एजेन्ट प्रणालीहरू बहु-एजेन्ट प्रणाली विकास गर्नु सन्दर्भ इन्जिनियरिङको एक रूप हो किनकि प्रत्येक एजेन्टसँग आफ्नै सन्दर्भ विन्डो हुन्छ। त्यो सन्दर्भ कसरी साझा गरिन्छ र विभिन्न एजेन्टहरूमा कसरी पास गरिन्छ भन्ने कुरा यी प्रणालीहरू निर्माण गर्दा योजना गर्नुपर्ने अर्को कुरा हो।

  5. स्यान्डबक्स वातावरणहरू यदि एजेन्टले केही कोड चलाउन आवश्यक छ वा कुनै कागजातमा ठूलो मात्रामा जानकारी प्रक्रियाकरण गर्नुपर्छ भने, यसले नतिजा प्रक्रियाकरण गर्न धेरै टोकन लिन सक्छ। यस सबैलाई सन्दर्भ विन्डोमा संग्रहीत गर्ने साटो, एजेन्टले स्यान्डबक्स वातावरण प्रयोग गर्न सक्छ जुन यो कोड चलाउन सक्षम छ र केवल नतिजा र अन्य सान्दर्भिक जानकारी पढ्छ।

  6. रनटाइम स्टेट वस्तुहरू यो तब गरिन्छ जब एजेन्टले निश्चित जानकारीमा पहुँच आवश्यक पर्दछ भन्ने स्थिति व्यवस्थापन गर्न सूचना कन्टेनरहरू सिर्जना गरेर। जटिल कार्यका लागि, यसले प्रत्येक उपकार्यको नतिजा चरण-दर-चरण स्टोर गर्न सक्षम बनाउँछ, जसले सन्दर्भलाई केवल सो विशिष्ट उपकार्यमा जडित रहन अनुमति दिन्छ।

सन्दर्भ इन्जिनियरिङको उदाहरण

मानौं हामीले AI एजेन्टलाई “पेरिसको लागि एउटा यात्रा बुक गरिदिनुहोस्।” भन्न चाहन्छौं।

• केवल प्रम्प्ट इन्जिनियरिङ मात्र प्रयोग गर्ने एक साधारण एजेन्टले मात्र जवाफ दिन सक्छ: “ठीक छ, तपाईं कहिले पेरिस जान चाहनुहुन्छ?” यसले केवल प्रयोगकर्ताले सोधेको प्रत्यक्ष प्रश्नलाई सो समयमा प्रोसेस गरेको थियो।

• सन्दर्भ इन्जिनियरिङ रणनीतिहरू प्रयोग गर्ने एजेन्टले धेरै बढी गर्नेछ। जवाफ दिने अगाडि, यसको प्रणालीले सम्भवतः:

  ◦ तपाईंको क्यालेन्डर जाँच गर्ने उपलब्ध मितिहरूको लागि (रियल-टाइम डेटा पुन:प्राप्ति)।

  ◦ अघिल्लो यात्रा प्राथमिकताहरू सम्झने (दीर्घकालीन स्मृतिबाट) जस्तै तपाइँको मनपर्ने एयरलाइन, बजेट, वा सिधा उडान रोज्ने हो कि होइन।

  ◦ उपलब्ध उपकरणहरू चिन्हित गर्ने उडान र होटल बुकिङका लागि।

सामान्य सन्दर्भ विफलताहरू

सन्दर्भ विषाक्तता

के हो: जब एउटा हल्युसिनेसन (LLM द्वारा उत्पन्न गलत जानकारी) वा त्रुटि सन्दर्भमा प्रवेश गर्छ र बारम्बार उद्धृत हुन्छ, जसले एजेन्टलाई असम्भव लक्ष्य तर्फ धकेल्न वा बेहूदा रणनीतिहरू विकास गराउन सक्छ।

के गर्ने: सन्दर्भ मान्यकरणक्वारेन्टाइन लागू गर्नुहोस्। दीर्घकालीन स्मृतिमा थप्नुअघि जानकारी मान्य गर्नुहोस्। यदि सम्भावित पोइजनिङ पत्ता लाग्यो भने, नराम्रो जानकारी फैलिन नदिन नयाँ ताजा सन्दर्भ थ्रेडहरू सुरु गर्नुहोस्।

यात्रा बुकिङ उदाहरण: तपाइँको एजेन्टले एउटा सानो स्थानीय विमानस्थलबाट दुरीको अन्तर्राष्ट्रिय शहरमा सिधा उडान भएको हल्युसिनेट गर्यो जुन वास्तवमा अन्तर्राष्ट्रिय उडान प्रदान गर्दैन। यो अवास्तविक उडान विवरण सन्दर्भमा सुरक्षित हुन्छ। पछि, जब तपाइँ एजेन्टलाई बुक गर्न भन्दछु, यसले यो असम्भव मार्गका टिकटहरू खोज्ने प्रयास गर्दै बारम्बार त्रुटि गरिरहन्छ।

समाधान: उडान विवरण एजेन्टको कार्यकारी सन्दर्भमा थप्नु अघि उडानको अस्तित्व र मार्गहरू वास्तविक-समय API संग मान्य गर्ने एउटा चरण लागू गर्नुहोस्। यदि मान्यकरण विफल हुन्छ भने, त्रुटिपूर्ण जानकारी “क्वारेन्टाइन” गरिन्छ र थप प्रयोगमा ल्याइँदैन।

सन्दर्भ विचलन

के हो: जब सन्दर्भ यति ठूलो हुन्छ कि मोडेल जम्मा इतिहासमा अत्यधिक केन्द्रित हुन्छ र तालिमका क्रममा सिकेको प्रयोग नगरी दोहोरिने वा अप्रयोगी कार्यहरूमा लाग्छ। मोडेलहरू सन्दर्भ विन्डो भरिनु अघि नै गल्ती गर्न थाल्न सक्छन्।

के गर्ने: सन्दर्भ सारांशकरण प्रयोग गर्नुहोस्। आवधिक रूपमा जम्मा भएको जानकारीलाई छोटो सारांशमा संकुचित गर्नुहोस्, महत्वपूर्ण विवरणहरू राख्दै दोहोरिने इतिहास हटाउने। यसले फोकस “रिसेट” गर्न मद्दत गर्छ।

यात्रा बुकिङ उदाहरण: तपाईंले लामो समयसम्म विभिन्न सपना यात्रा गन्तव्यहरू बारे छलफल गर्दै आउनुभएको छ, जसमा दुई वर्षअघि गरेको ब्याकप्याकिङ यात्रा को विस्तृत वर्णन पनि समावेश छ। जब तपाइँ अन्ततः “अर्को महिनाको लागि सस्तो उडान खोजिदिनुहोस्” भन्छु, एजेन्ट पुराना अप्रासंगिक विवरणहरूमा अट्किएर तपाइँको वर्तमान अनुरोध बेवास्ता गर्दै बारम्बार तपाइँको ब्याकप्याकिङ गियर वा पुराना यात्रा मार्गहरूबारे सोधिरहन्छ।

समाधान: निश्चित संख्या टर्नहरू पछि वा सन्दर्भ बढ्दा, एजेन्टले भर्खरका र सान्दर्भिक भागहरूको सारांश बनाउनु पर्छ – तपाइँको वर्तमान यात्रा मिति र गन्तव्यमा केन्द्रित – र त्यो सङ्कुचित सारांशलाई अर्को LLM कलमा प्रयोग गरी कम सान्दर्भिक पुराना कुराहरू फ्याँक्नुहोस्।

सन्दर्भ भ्रम

के हो: अनावश्यक सन्दर्भ, प्राय: धेरै उपलब्ध उपकरणहरूको रूपमा, मोडेललाई खराब जवाफहरू उत्पन्न गराउन वा अप्रासंगिक उपकरणहरू कल गर्न लगाउँछ। साना मोडेलहरूमा यो विशेष गरी बढी हुन्छ।

के गर्ने: RAG प्रविधिहरू प्रयोग गरी उपकरण लोडआउट व्यवस्थापन लागू गर्नुहोस्। उपकरण विवरणहरूलाई भेक्टर डाटाबेसमा संग्रह गरेर प्रत्येक विशिष्ट कार्यका लागि केवल सबैभन्दा सान्दर्भिक उपकरणहरू मात्र चयन गर्नुहोस्। अनुसन्धानले 30 भन्दा कम उपकरणहरूमा सीमित राख्ने सल्लाह दिन्छ।

यात्रा बुकिङ उदाहरण: तपाइँको एजेन्टसँग दर्जनौ उपकरणहरूको पहुँच छ: book_flight, book_hotel, rent_car, find_tours, currency_converter, weather_forecast, restaurant_reservations, आदि। तपाइँले सोध्नुहुन्छ, “पेरिसमा घुम्नका लागि सबैभन्दा राम्रो तरिका के हो?” उपकरणहरूको मात्राका कारण, एजेन्टलाइ भ्रम लाग्छ र पेरिस भित्रै book_flight कल गर्ने प्रयास गर्छ, वा तपाइँ सार्वजनिक यातायात प्राथमिकता दिनुहुन्छ भन्ने भएमा पनि rent_car कल गर्न थाल्छ, किनभने उपकरण विवरणहरू ओभरलैप हुन सक्छन् वा यसले उत्तम उपकरण छुट्याउन सक्दैन।

समधान: उपकरण विवरणहरूमा RAG प्रयोग गर्नुहोस्। जब तपाइँ पेरिसमा घुम्ने तरिका सोध्नुहुन्छ, प्रणालीले गतिशील रूपमा केवल सबैभन्दा सान्दर्भिक उपकरणहरू जस्तै rent_car वा public_transport_info तपाइँको क्वेरीका आधारमा पुन:प्राप्त गर्छ, र LLM लाई केन्द्रित “लोडआउट” प्रस्तुत गर्छ।

सन्दर्भ टकराव

के हो: जब सन्दर्भ भित्र विरोधाभासी जानकारी हुन्छ, जसले असंगत तर्क वा खराब अन्तिम जवाफहरू निम्त्याउछ। यो प्राय: सूचना चरणबद्ध रूपमा आउँदा हुन्छ र सुरुमा लिइएको गलत मान्यताहरू सन्दर्भमा बाँकी रहन्छ।

के गर्ने: सन्दर्भ प्रुनिङअफलोडिङ प्रयोग गर्नुहोस्। प्रुनिङले नयाँ विवरणहरू आउँदा पुरानो वा विरोधाभासी जानकारी हटाउने जनाउँछ। अफलोडिङले मोडेललाई मुख्य सन्दर्भ नभरिन सक्ने “स्क्र्याचप्याड” कार्यक्षेत्र दिन्छ।

यात्रा बुकिङ उदाहरण: तपाईंले सुरुमा आफ्नो एजेन्टलाई भन्नुभयो, “म अर्थव्यवस्थामा उड्न चाहन्छु।” पछि संवादमा, तपाईंले मन बदल्नुभयो र भन्नुभयो, “सत्यमा, यस यात्राका लागि बिजनेस क्लास लिऊँ।” यदि दुबै निर्देशनहरू सन्दर्भमा रहिरहे भने, एजेन्टले विरोधाभासी खोज नतिजा प्राप्त गर्न सक्छ वा कुन प्राथमिकतालाई अगाडी राख्ने निर्णयमा अलमल्ल हुन सक्छ।

समाधान: सन्दर्भ प्रुनिङ लागू गर्नुहोस्। जब नयाँ निर्देशनले पुरानोलाई विरोध गर्दछ, पुरानो निर्देशन हटाइन्छ वा स्पष्ट रूपमा सन्दर्भमा ओभरराइड गरिन्छ। वैकल्पिक रूपमा, एजेन्टले विवादास्पद प्राथमिकताहरू मिलाउन स्क्र्याचप्याड प्रयोग गर्न सक्छ र केवल अन्तिम, संगत निर्देशनले यसको कार्यलाई मार्गदर्शन गर्ने सुनिश्चित गर्छ।

सन्दर्भ इन्जिनियरिङबारे थप प्रश्नहरू छन्?

Join the Microsoft Foundry Discord to meet with other learners, attend office hours and get your AI Agents questions answered.


अस्वीकरण: यो कागजात AI अनुवाद सेवा Co-op Translator प्रयोग गरी अनुवाद गरिएको हो। हामी शुद्धताको प्रयास गर्छौं तर कृपया ध्यान दिनुहोस् कि स्वचालित अनुवादमा त्रुटि वा अस्पष्टता हुन सक्छ। मूल कागजातलाई यसको मूल भाषामा रहेको संस्करण नै प्रामाणिक स्रोत रूपमा मानिनुपर्छ। संवेदनशील वा महत्वपूर्ण जानकारीका लागि व्यावसायिक मानव अनुवाद सल्लाहयोग्य हुन्छ। यस अनुवादको प्रयोगबाट उत्पन्न हुने कुनै पनि गलतफहमी वा गलत व्याख्याका लागि हामी जिम्मेवार हुने छैनौं।