ai-agents-for-beginners

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

Context Engineering

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

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

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

परिचय

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

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

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

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

सिकाइका लक्ष्यहरू

यो पाठ समाप्त गरेपछि, तपाईं जान्ने हुनुहुनेछ कसरी:

सन्दर्भ इन्जिनियरिङ परिभाषित गर्ने र यसलाई प्रम्प्ट इन्जिनियरिङबाट फरक गर्ने।

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

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

प्रसिद्ध सन्दर्भ त्रुटिहरू जस्तै विषाक्तता, ध्यान भंग, भ्रम, र द्वन्द्व चिन्नु र समाधान विधिहरू लागू गर्नु।

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

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

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

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

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

Types of Context

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

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

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

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

उपकरणहरू: बाह्य क्रियाकलापहरूको परिभाषाहरू, API र MCP सर्भरहरू जसलाई एजेन्टले कल गर्न सक्छ, र तिनले उपयोग गर्दा प्राप्त प्रतिक्रिया (परिणाम)।

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

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

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

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

Context Engineering Best Practices

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

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

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

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

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

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

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

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

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

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

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

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

सन्दर्भ निरीक्षण

यी रणनीतिहरू लागू गरेपछि, के अर्को मोडेल कलले वास्तवमा के प्राप्त गर्‍यो भनेर जाँच्न योग्य हुन्छ। उपयोगी डिबगिङ प्रश्न हो:

के एजेन्टले धेरै सन्दर्भ, गलत सन्दर्भ, वा आवश्यक सन्दर्भलाई नछोपेको भए?

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

लक्ष्य धेरै सन्दर्भ राख्नु होइन। यो पर्याप्त प्रमाण छोड्नु हो जसले विकासकर्तालाई कुन सन्दर्भ रणनीति चल्यो र के यसले अर्को मोडेल कल इच्छित तरिकाले परिवर्तन गर्‍यो भनेर बताउन सकोस्।

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

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

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

• यहाँ बीचमा बताइएका सन्दर्भ इन्जिनियरिङ रणनीतिहरू प्रयोग गर्ने एजेन्ट बढी गर्छ। जवाफ दिनुअघि यसको सिस्टमले:

  ◦ उपलब्ध मितिहरूको लागि तपाईंको क्यालेन्डर जाँच्छ (सञ्चालन डेटा प्राप्त गर्दै)।

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

 ◦ फ्लाइट र होटल बुकिंगका लागि उपलब्ध उपकरणहरू पहिचान गर्छ

सामान्य सन्दर्भ त्रुटिहरू

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

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

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

यात्रा बुकिंग उदाहरण: तपाईंको एजेन्टले सानो स्थानीय विमानस्थलबाट बहुदूर अन्तर्राष्ट्रिय शहरमा सिधा उडान भएको झूटो कल्पना (हल्युसिनेशन) गर्छ जहाँ वास्तवमा міжнарод उडान हुँदैन। यो अस्तित्वहीन उडान विवरण सन्दर्भमा बचत हुन्छ। पछि, जब तपाईंले बुक गर्न भन्नुहुन्छ, एजेन्टले लगातार यो असम्भव मार्गको टिकट खोज्न खोज्छ र बारम्बार त्रुटिहरू हुन्छ।

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

सन्दर्भ ध्यान भंग

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

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

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

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

सन्दर्भ भ्रम

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

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

यात्रा बुकिंग उदाहरण: तपाईंको एजेन्टसँग दर्जनौं उपकरणहरूको पहुँच छ: 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 लाई केन्द्रित “लोडआउट” प्रदान गर्छ।

सन्दर्भ द्वन्द्व

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

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

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

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

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

अन्य सिक्नेहरूलाई भेट्न, अफिस आवरमा सहभागी हुन र आफ्नो AI एजेन्टहरूको प्रश्नहरूको उत्तर पाउन Microsoft Foundry Discord मा सामेल हुनुहोस्।

अघिल्लो पाठ

Agentic Protocols

अर्को पाठ

Memory for AI Agents


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