પ્રોમ્પ્ટ એન્જિનિયર્સ માટે કોન્ટેક્સ્ટ એન્જિનિયરિંગ (𝗖𝗼𝗻𝘁𝗲𝘅𝘁 𝗘𝗻𝗴𝗶𝗻𝗲𝗲𝗿𝗶𝗻𝗴 𝗳𝗼𝗿 𝗣𝗿𝗼𝗺𝗽𝘁 𝗘𝗻𝗴𝗶𝗻𝗲𝗲𝗿𝘀)
લોકો કહે છે કે પ્રોમ્પ્ટ એન્જિનિયરિંગ હવે કામનું નથી રહ્યું. તેઓ કહે છે કે કોન્ટેક્સ્ટ એન્જિનિયરિંગે તેનું સ્થાન લઈ લીધું છે. આ ખોટું છે.
પ્રોમ્પ્ટ એન્જિનિયરિંગ એ કોન્ટેક્સ્ટ એન્જિનિયરિંગનો માત્ર એક ભાગ છે. પ્રોમ્પ્ટિંગ એટલે તમે જે કહો છો તે. કોન્ટેક્સ્ટ એન્જિનિયરિંગ એટલે મોડેલ જે કંઈ પણ જુએ છે તે બધું. આમાં સિસ્ટમ પ્રોમ્પ્ટ્સ, ટૂલ ડેફિનેશન, રિટ્રીવ્ડ ડોક્યુમેન્ટ્સ અને મેમરીનો સમાવેશ થાય છે.
તમારો પ્રોમ્પ્ટ એ એક મોટા કોયડાનો માત્ર એક ભાગ છે. હવે કાર્યક્ષેત્ર (surface area) વધુ મોટું થઈ ગયું છે.
બધું જ ઉકેલવા માટે વિશાળ કોન્ટેક્સ્ટ વિન્ડોઝનો ઉપયોગ કરવાનો પ્રયાસ કરશો નહીં. મિલિયન-ટોકન વિન્ડોનો અર્થ એ નથી કે મિલિયન ટોકન્સ જેટલું ઉપયોગી ધ્યાન (attention) મળશે. વધુ ઇનપુટ ખરેખર મોડેલના પ્રદર્શનને બગાડી શકે છે.
તમારે મુખ્ય બે સમસ્યાઓથી સાવધ રહેવું જોઈએ:
• Lost in the middle (વચ્ચે ખોવાઈ જવું): મોડેલ્સ પ્રોમ્પ્ટની શરૂઆત અને અંત પર સૌથી વધુ ધ્યાન કેન્દ્રિત કરે છે. જ્યારે મહત્વપૂર્ણ ડેટા વચ્ચે હોય ત્યારે તેઓ સંઘર્ષ કરે છે. • Context rot (કોન્ટેક્સ્ટનું ક્ષય થવું): ઇનપુટની લંબાઈ વધવાની સાથે તર્ક (reasoning) અને યાદશક્તિ (recall) ઘટતી જાય છે. જ્યારે વિન્ડો ભરાઈ જાય ત્યારે મોડેલ માટે સાદા કાર્યો પણ મુશ્કેલ બની જાય છે.
ધ્યેય એવા ઓછામાં ઓછા હાઈ-સિગ્નલ ટોકન્સ શોધવાનો છે જે કામ પૂરું કરી શકે. તમારી કોન્ટેક્સ્ટ વિન્ડોને એક બજેટની જેમ ગણો.
તમારા બજેટનું સંચાલન કરવા માટે આ છ પેટર્નનો ઉપયોગ કરો:
• Attention budgeting: બિનજરૂરી અને પુનરાવર્તિત લખાણ દૂર કરો. માત્ર હાઈ-સિગ્નલ કન્ટેન્ટનો જ ઉપયોગ કરો. • Retrieval placement: સુસંગત ડેટા શરૂઆતમાં અથવા અંતમાં મૂકો. મહત્વપૂર્ણ માહિતી વચ્ચે રાખવાનું ટાળો. • Tool-result formatting: સંક્ષિપ્ત ડેટા પરત કરો. વિન્ડોમાં મોટા API ઓબ્જેક્ટ્સ ન નાખો. • Schema design: સ્ટ્રક્ચર્ડ આઉટપુટનો ઉપયોગ કરો. ભૂલો રોકવા માટે નેસ્ટિંગ લેવલ (nesting levels) ઓછું રાખો. • System vs. turn separation: મુખ્ય નિયમો સિસ્ટમ પ્રોમ્પ્ટમાં રાખો. ચોક્કસ ડેટા યુઝર ટર્ન્સમાં રાખો. • Memory and compaction: સ્ટેટને વિન્ડોની બહાર સેવ કરો. થ્રેડને જીવંત રાખવા માટે જૂના ડેટાનો સારાંશ (summarize) બનાવો.
કોન્ટેક્સ્ટ એન્જિનિયરિંગ એ માત્ર RAG નથી. તે યોગ્ય સ્થાન અને સંયમ વિશે છે. જો તમે પહેલેથી જ સારું પ્રોમ્પ્ટિંગ કરો છો, તો તમે ફરીથી શરૂઆત નથી કરી રહ્યા. તમે તમારા પ્રોમ્પ્ટ દ્વારા ખર્ચવામાં આવતા બજેટનું સંચાલન કરવાનું શીખી રહ્યા છો.
Source: https://dev.to/anoopk/context-engineering-for-people-who-already-know-how-to-prompt-2pj1
Optional learning community: https://t.me/GyaanSetuAi