Automatic Prompt Engineer (APE) ఒక భాషా నమూనా (language model) ఒక నిర్దిష్ట పని కోసం ఉత్తమమైన ప్రాంప్ట్‌ను రాయడానికి, పరీక్షించడానికి మరియు ఎంచుకోవడానికి అనుమతిస్తుంది. ఇది ఒకప్పుడు ప్రయత్న మరియు పొరపాట్ల (trial-and-error) కళగా ఉన్న ప్రక్రియను, పునరావృతమయ్యే డేటా ఆధారిత శోధనగా మారుస్తుంది.

ప్రాంప్ట్ రైటింగ్ ఎందుకు అడ్డంకిగా మారింది

ప్రాంప్ట్ ఇంజనీరింగ్—అంటే ఒక మోడల్ ఏమి చేయాలో చెప్పే ఖచ్చితమైన పదాలను రూపొందించడం—చాలా కాలంగా అంతర్ దృష్టి (intuition) మరియు అదృష్టం యొక్క కలయికగా ఉంది. నిపుణులు ఇక్కడ ఒక పదాన్ని మారుస్తారు, అక్కడ ఒక వాక్యాన్ని మారుస్తారు, మోడల్‌ను రన్ చేస్తారు మరియు అవుట్‌పుట్ "సరైనదిగా అనిపించినప్పుడు" ఆగిపోతారు. ఈ విధానం చాలా సమయం తీసుకుంటుంది, ఇంజనీర్ యొక్క ఊహపై ఆధారపడి ఉంటుంది మరియు పనితీరును పరిమితం చేస్తుంది. ప్రొడక్షన్‌లో దీని అర్థం సుదీర్ఘమైన చక్రాలు (cycles), అస్థిరమైన ఫలితాలు మరియు లాంచ్ చేసిన తర్వాత మాత్రమే బయటపడే దాగి ఉన్న ఖర్చులు.

APE యొక్క మూడు-దశల వర్క్‌ఫ్లో (workflow)

APE ప్రాంప్ట్ సృష్టిని ఒక శోధన సమస్యగా (search problem) పరిగణిస్తుంది. వినియోగదారుడు కొన్ని ఇన్‌పుట్-అవుట్‌పుట్ ఉదాహరణలను అందిస్తారు. ఆ తర్వాత సిస్టమ్ మూడు స్వయంచాలక దశలను నిర్వహిస్తుంది:

  1. Propose (ప్రతిపాదించడం) – మోడల్ ఉదాహరణలను స్కాన్ చేసి, “return the opposite” లేదా “write the antonym” వంటి అభ్యర్థి సూచనల (candidate instructions) సమూహాన్ని అందిస్తుంది.
  2. Score (స్కోరింగ్) – సిస్టమ్ ప్రతి అభ్యర్థి సూచనను చూడని (unseen) ఉదాహరణల సెట్‌పై రన్ చేస్తుంది మరియు ఎన్ని సమాధానాలు ఆశించిన అవుట్‌పుట్‌తో సరిపోలుతాయో లెక్కిస్తుంది, దీనివల్ల ఖచ్చితమైన (accuracy) సంఖ్య వస్తుంది. ఈ దశలో మానవ నిర్ణయం ఉండదు.
  3. Select (ఎంపిక) – అత్యధిక ఖచ్చితత్వం ఉన్న సూచన తుది ప్రాంప్ట్‌గా మారుతుంది.

ఈ ప్రక్రియను మళ్ళీ మళ్ళీ చేయవచ్చు. గెలిచిన ప్రాంప్ట్ కొత్త సీడ్ (seed) గా మారుతుంది మరియు మోడల్ మరిన్ని వైవిధ్యాలను సూచిస్తుంది. నివేదించబడిన రన్‌లలో, 83% స్కోరు సాధించిన ఒక సాధారణ సూచనను, టెస్ట్ సెట్‌లో 100% సాధించేలా మెరుగుపరచడం జరిగింది.

మానవ ప్రయత్నం కంటే ఈ విధానం ఎందుకు శక్తివంతమైనది

  • Coverage (పరిధి) – ఒక LLM సెకన్లలో డజన్ల కొద్దీ పద ప్రయోగాల ప్రత్యామ్నాయాలను రూపొందిస్తుంది, ఇది ఒక వ్యక్తి పరీక్షించగలిగే దానికంటే చాలా ఎక్కువ.
  • Objectivity (నిష్పాక్షికత) – ఎంపిక అనేది పదజాలం ఎంత మెరుగుపరచబడి ఉంది అనే దానిపై కాకుండా, కొలవదగిన ఖచ్చితత్వంపై ఆధారపడి ఉంటుంది. ఒక పాఠ్యపుస్తకం తరహా సూచన కంటే, మోడల్‌కు బాగా అర్థమయ్యే క్లుప్తమైన, వింతగా వినిపించే వెర్షన్ కూడా గెలిచే అవకాశం ఉంది.

స్కోరింగ్ మెట్రిక్ వినియోగదారు నుండి వస్తుంది కాబట్టి—సాధారణంగా ఇది ఎగ్జాక్ట్-మ్యాచ్ చెక్ లేదా యూనిట్ టెస్ట్—కోడ్ జనరేషన్ నుండి సెంటిమెంట్ అనాలిసిస్ వరకు ఏ అవసరానికైనా ఈ సిస్టమ్‌ను సర్దుబాటు చేయవచ్చు.

ఆటోమేషన్ యొక్క ధర

దీనికి ప్రతిఫలంగా కంప్యూట్ (compute) ఖర్చు పెరుగుతుంది. ప్రతి అభ్యర్థిని స్కోర్ చేయడానికి అనేక మోడల్ కాల్స్ అవసరమవుతాయి, కాబట్టి డెవలప్‌మెంట్ దశలో గణనీయమైన API వినియోగం జరుగుతుంది. APE ఆ ఖర్చును ఒకసారి చేసే పెట్టుబడిగా పరిగణిస్తుంది: ఒకసారి సరైన ప్రాంప్ట్ గుర్తించబడిన తర్వాత, మీరు అదనపు ఖర్చు లేకుండా దానిని ఎల్లప్పుడూ మళ్ళీ ఉపయోగించుకోవచ్చు.

రెండు ముందస్తు అవసరాలు కూడా దీని వినియోగాన్ని పరిమితం చేస్తాయి:

  • Labeled examples (లేబుల్ చేయబడిన ఉదాహరణలు) – సిస్టమ్‌కు ప్రాతినిధ్యం వహించే ఇన్‌పుట్‌లు మరియు సరైన అవుట్‌పుట్‌ల సెట్ అవసరం.
  • Scoring function (స్కోరింగ్ ఫంక్షన్) – వినియోగదారులు తమ పనికి "సరైనది" అంటే ఏమిటో నిర్వచించాలి, అది ఎగ్జాక్ట్ స్ట్రింగ్ మ్యాచ్ కావచ్చు, నంబరిక్ టాలరెన్స్ కావచ్చు లేదా కస్టమ్ వాలిడేటర్ కావచ్చు.

ఈ ఆలోచన ఎక్కడ విఫలం కావచ్చు

ప్రారంభ ఉదాహరణల సెట్ చాలా తక్కువగా ఉన్నా లేదా సరైన ప్రాతినిధ్యం లేకపోయినా, ఎంచుకున్న ప్రాంప్ట్ ఓవర్‌ఫిట్ (overfit) అయ్యి నిజ ప్రపంచ వినియోగంలో విఫలం కావచ్చు.

తదుపరి ఏమి చూడాలి

ఈ సాధనం ఒక ప్రత్యామ్నాయాన్ని అందిస్తుంది: కొన్ని ఉదాహరణలను అందించండి, మోడల్‌ను పునరావృతం (iterate) చేయనివ్వండి మరియు సిస్టమ్ తన ప్రయత్నాలలో అత్యధికంగా ర్యాంక్ చేసిన ప్రాంప్ట్‌ను పొందండి. డెమో అసలు ప్రకటనలోని లింక్‌లో ఉంది మరియు లెర్నింగ్ కమ్యూనిటీ టెలిగ్రామ్ (Telegram) లో ఉంది.

ముఖ్య అంశం (Takeaway): ప్రాంప్ట్ ఇంజనీరింగ్‌ను ఆటోమేట్ చేయడం అనేది ఊహల స్థానంలో కొలవదగిన పనితీరును అందిస్తుంది, కానీ దీనికి ముందస్తు డేటా, కంప్యూట్ మరియు స్పష్టమైన విజయ నిర్వచనం అవసరం.