Anthropic, Claude Code యొక్క సిస్టమ్ ప్రాంప్ట్‌లోని 80% భాగాన్ని తొలగించింది, కానీ కోడ్ వ్రాయడంలో దాని సామర్థ్యంలో ఎటువంటి తగ్గుదల లేదని నివేదించింది. లార్జ్ లాంగ్వేజ్ మోడల్స్ (LLMs) మరింత సమర్థవంతంగా మారుతున్న కొద్దీ, మోడల్స్‌ను సరైన మార్గంలో ఉంచడానికి డెవలపర్లు ఉపయోగించే భారీ scaffolding ను పనితీరు దెబ్బతినకుండా తగ్గించవచ్చని ఈ ప్రయోగం చూపుతోంది.

మొదటగా ఆ ప్రాంప్ట్ ఎందుకు ముఖ్యమైంది

Claude Code ప్రారంభించినప్పుడు, దాని సిస్టమ్ ప్రాంప్ట్‌లో డజన్ల కొద్దీ నియమాలు ఉన్నాయి. బగ్స్ కనిపించినప్పుడల్లా ఇంజనీర్లు కొత్త లైన్లను జోడించారు కానీ, సరిగ్గా పనిచేస్తున్న వాటిని తొలగించడం చాలా అరుదుగా జరిగేది. కాలక్రమేణా ఆ ప్రాంప్ట్ ఒక చిక్కుముడి పడిన, స్థిరమైన (static) డాక్యుమెంట్‌గా మారిపోయింది.

మోడల్ గ్యాప్ తగ్గుతోంది

ఆ అదనపు నియమాలు ఒక “మోడల్ గ్యాప్”ను దాచిపెట్టాయి – అంటే మోడల్ చేయగలిగే సామర్థ్యానికి మరియు అప్లికేషన్‌కు కావాల్సిన అవసరానికి మధ్య ఉన్న తేడా. 2024లో, మోడల్ కోడ్‌కు అనవసరమైన కామెంట్లు చేయకుండా ఉండటానికి డెవలపర్లు కఠినమైన పరిమితులను వివరించాల్సి వచ్చేది. నేడు, అదే మోడల్ “match the existing code style” వంటి ఒకే ఒక్క సూచన ద్వారా కావలసిన శైలిని అర్థం చేసుకోగలదు. ఆ నియమాలు సహాయం నుండి శబ్దం (noise) గా మారిపోయాయి.

కాంటెక్స్ట్ ఇంజనీరింగ్‌లో ఏమి మారుతోంది

Anthropic చేసిన ఈ తగ్గింపు, డెవలపర్లు ప్రాంప్ట్‌లను ఎలా రూపొందిస్తున్నారనే దానిలో వస్తున్న విస్తృత మార్పును ప్రతిబింబిస్తుంది:

  • One-time critical instructions – ఒక నియమాన్ని ఒక్కసారి చెప్పండి మరియు మోడల్ దానిని గుర్తుంచుకోనివ్వండి.
  • Tool-driven parameters instead of few-shot examples – టూల్ స్కీమాలో ఇన్‌పుట్ మరియు అవుట్‌పుట్ రూపాలను వివరించండి మరియు మోడల్‌ను వాటిని నింపనివ్వండి.
  • Progressive disclosure – ప్రస్తుత దశకు అవసరమైన కాంటెక్స్ట్‌ను మాత్రమే ఇవ్వండి, అవసరమైతే తర్వాత మరిన్ని జోడించండి.
  • Move static guidance to tool descriptions – “use camelCase for variables” వంటివి సిస్టమ్ ప్రాంప్ట్‌లో కాకుండా టూల్ స్పెసిఫికేషన్‌లో ఉండాలి.
  • Replace hardcoded rules with heuristics – నియమాన్ని నిబంధనలేకుండా అమలు చేయడం కంటే, అది ఎప్పుడు వర్తిస్తుందో మోడల్‌నే నిర్ణయించుకోనివ్వండి.

ఈ పద్ధతులు పనిచేయడానికి కారణం, గతంలో స్పష్టమైన వివరణలు అవసరమైన అనేక సంప్రదాయాలను (conventions) మోడల్ ఇప్పటికే తెలుసుకుని ఉండటం.

అతిగా తగ్గించడం వల్ల కలిగే ప్రమాదం

అధునాతన (frontier) మోడల్స్‌కు ప్రయోజనకరంగా ఉండే ఈ ప్రూనింగ్ (pruning), చిన్న మోడల్స్‌కు నష్టం కలిగించవచ్చు. Haiku వంటి మోడల్స్ ఇంకా సరైన మార్గంలో ఉండటానికి సమగ్రమైన ప్రాంప్ట్‌లపై ఆధారపడుతున్నాయని Anthropic పేర్కొంది. తక్కువ సామర్థ్యం ఉన్న మోడల్ నుండి ఎక్కువ గైడెన్స్‌ను తొలగించడం వల్ల, అసలు ప్రాంప్ట్ నివారించడానికి ప్రయత్నించిన తప్పులు (అస్థిరమైన నేమింగ్, అధిక కామెంట్లు లేదా మిస్ అయిన ఎడ్జ్ కేసులు) మళ్ళీ వచ్చే అవకాశం ఉంది.

మీ స్వంత ప్రాంప్ట్‌లను ఎలా ఆడిట్ చేయాలి

మీరు కోడ్-జనరేషన్ పైప్‌లైన్‌ను నిర్వహిస్తుంటే, ప్రాంప్ట్ ఆడిట్ ద్వారా అనవసరమైన అంశాలను గుర్తించవచ్చు. ఒక ఆచరణాత్మక చెక్‌లిస్ట్ ఇలా ఉంటుంది:

  • Re-fit instruction density – మీరు నిజంగా ఉపయోగించే మోడల్‌కు తగినంత గైడెన్స్‌ను మాత్రమే ఇవ్వండి.
  • Delete duplicated instructions – ఒక నియమం సిస్టమ్ ప్రాంప్ట్ మరియు టూల్ డిస్క్రిప్షన్ రెండింటిలోనూ ఉంటే, దానిని ఒక్కసారి మాత్రమే ఉంచండి.
  • Turn worked examples into richer schemas – నిర్దిష్ట ఉదాహరణల స్థానంలో ఎన్యూమరేటెడ్ పారామీటర్ రకాలు లేదా enums ఉపయోగించండి.
  • Externalize situational details – పెద్ద రిఫరెన్స్ బ్లాక్‌లను మోడల్ అవసరమైనప్పుడు పొందేలా వేరువేరు ఫైళ్లలోకి మార్చండి.
  • Strip rules covering vanished behaviors – మోడల్ ఇకపై అనవసరమైన కామెంట్లు జోడించకపోతే, “no-comment” నియమాన్ని తీసివేయండి.

కేవలం ఊహల మీద ఆధారపడకండి. ఒక సాధారణ “3-Test Rule”ని ఉపయోగించండి: ఐదు వాస్తవిక కోడింగ్ పనులను నిర్వహించండి, ప్రతి తొలగింపుకు ముందు మరియు తర్వాత ఫలితాలను పోల్చండి మరియు ఏవైనా రిగ్రెషన్లను (regressions) గమనించండి.

  1. Baseline – పూర్తి ప్రాంప్ట్‌తో పనితీరును కొలవండి.
  2. Delete – ఒక లైన్ లేదా బ్లాక్‌ను తొలగించండి.
  3. Re-run – అదే ఐదు పనులను నిర్వహించండి.

అవుట్‌పుట్ మారితే, ఆ లైన్ ఇంకా ప్రాముఖ్యత కలిగి ఉందని అర్థం. మారకపోతే, ఆ లైన్‌ను సురక్షితంగా తొలగించవచ్చు.

డెవలపర్లు తదుపరి ఏమి గమనించాలి

ప్రస్తుతానికి, దీని సారాంశం స్పష్టంగా ఉంది: సిస్టమ్ ప్రాంప్ట్ అనేది నిరంతరం మారుతూ ఉండే (living) డాక్యుమెంట్. ప్రతి లైన్‌కు ఒక కాలపరిమితి ఉంటుందని భావించండి, క్రమబద్ధంగా ఆడిట్ చేయండి మరియు మోడల్ యొక్క పెరుగుతున్న సామర్థ్యాన్ని ఉపయోగించుకోండి.

Source: dev.to/ialijr/your-system-prompt-has-a-shelf-life-maintaining-prompts-as-models-improve-cd9