𝗖𝗼𝗻𝘁𝗲𝘅𝘁 𝗘𝗻𝗴𝗶𝗻𝗲𝗲𝗿𝗶𝗻𝗴 𝗳𝗼𝗿 𝗣𝗿𝗼𝗺𝗽𝘁 𝗘𝗻𝗴𝗶𝗻𝗲𝗲𝗿𝘀

ప్రాంప్ట్ ఇంజనీరింగ్ అంతమైపోయిందని కొందరు అంటారు. కాంటెక్స్ట్ ఇంజనీరింగ్ దాని స్థానాన్ని భర్తీ చేసిందని వారు చెబుతారు. ఇది తప్పు.

కాంటెక్స్ట్ ఇంజనీరింగ్‌లో ప్రాంప్ట్ ఇంజనీరింగ్ అనేది కేవలం ఒక భాగం మాత్రమే. ప్రాంప్టింగ్ అంటే మీరు చెప్పేది. కాంటెక్స్ట్ ఇంజనీరింగ్ అంటే మోడల్ చూసేవన్నీ. ఇందులో సిస్టమ్ ప్రాంప్ట్‌లు (system prompts), టూల్ నిర్వచనాలు (tool definitions), రిట్రీవ్ చేయబడిన డాక్యుమెంట్లు (retrieved documents) మరియు మెమరీ (memory) ఉంటాయి.

మీ ప్రాంప్ట్ అనేది ఒక పెద్ద పజిల్ యొక్క ఒక చిన్న భాగం మాత్రమే. ఇప్పుడు ఆ పరిధి మరింత పెరిగింది.

ప్రతి సమస్యను పరిష్కరించడానికి భారీ కాంటెక్స్ట్ విండోలను (context windows) ఉపయోగించాలని ప్రయత్నించకండి. మిలియన్-టోకెన్ విండో అంటే మిలియన్ టోకెన్ల విలువైన సమాచారం అని అర్థం కాదు. ఎక్కువ ఇన్‌పుట్ ఇవ్వడం వల్ల మోడల్ పనితీరు నిజానికి దెబ్బతినవచ్చు.

మీరు రెండు ప్రధాన సమస్యల పట్ల జాగ్రత్తగా ఉండాలి:

• Lost in the middle: మోడల్స్ ప్రాంప్ట్ యొక్క ప్రారంభం మరియు ముగింపుపై బాగా దృష్టి పెడతాయి. ముఖ్యమైన డేటా మధ్యలో ఉన్నప్పుడు అవి ఇబ్బంది పడతాయి. • Context rot: ఇన్‌పుట్ పొడవు పెరిగేకొద్దీ రీజనింగ్ (reasoning) మరియు రీకాల్ (recall) సామర్థ్యం తగ్గుతాయి. విండో నిండిపోయినప్పుడు సాధారణ పనులు కూడా మోడల్‌కు కష్టమవుతాయి.

పనిని పూర్తి చేసే అత్యంత తక్కువ సంఖ్యలో ఉన్న 'హై-సిగ్నల్ టోకెన్ల'ను (high-signal tokens) కనుగొనడమే లక్ష్యం. మీ కాంటెక్స్ట్ విండోను ఒక బడ్జెట్‌లా పరిగణించండి.

మీ బడ్జెట్‌ను నిర్వహించడానికి ఈ ఆరు పద్ధతులను ఉపయోగించండి:

• Attention budgeting: అనవసరమైన మరియు పునరావృతమయ్యే టెక్స్ట్‌ను తొలగించండి. కేవలం హై-సిగ్నల్ కంటెంట్‌ను మాత్రమే ఉపయోగించండి. • Retrieval placement: సంబంధిత డేటాను ప్రారంభంలో లేదా చివరలో ఉంచండి. కీలకమైన సమాచారాన్ని మధ్యలో ఉంచడం మానుకోండి. • Tool-result formatting: సంక్షిప్త డేటాను మాత్రమే తిరిగి ఇవ్వండి. పెద్ద API ఆబ్జెక్ట్‌లను నేరుగా విండోలోకి పంపకండి. • Schema design: స్ట్రక్చర్డ్ అవుట్‌పుట్‌లను (structured outputs) ఉపయోగించండి. లోపాలను నివారించడానికి నెస్టింగ్ స్థాయిలను (nesting levels) తక్కువగా ఉంచండి. • System vs. turn separation: ప్రధాన నియమాలను సిస్టమ్ ప్రాంప్ట్‌లో ఉంచండి. నిర్దిష్ట డేటాను యూజర్ టర్న్స్‌లో (user turns) ఉంచండి. • Memory and compaction: స్టేట్‌ను (state) విండో వెలుపల సేవ్ చేయండి. సంభాషణ కొనసాగేలా పాత డేటాను సారాంశం (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