నేను నా వెబ్‌సైట్‌లో ఒక డిజిటల్ ట్విన్‌ను నడుపుతున్నాను. ఇది నా జీవితం మరియు నైపుణ్యాల గురించి ప్రశ్నలకు సమాధానం ఇస్తుంది. నేను దానికి ఒక కఠినమైన నియమాన్ని ఇచ్చాను: ఎప్పుడూ విషయాలను సృష్టించకూడదు. నాకు లేని నైపుణ్యం గురించి ఎవరైనా అడిగితే, అది తనకు తెలియదని ఒప్పుకోవాలి. నెలల తరబడి, సిస్టమ్ సరిగ్గా పనిచేస్తుందని నేను నమ్మాను. ఇక్కడక్కడా నేను స్వయంగా పరీక్షించాను, సమాధానాలు కూడా బాగున్నాయి. ఆ తర్వాత నేను ఒక సరైన ఎవాల్యుయేషన్ హార్నెస్ (evaluation harness) నిర్మించాను. వచ్చిన గణాంకాలు నన్ను షాక్‌కు గురిచేశాయి. 35 ప్రశ్నలలో, తొమ్మిది ప్రశ్నలకు పూర్తిగా అబద్ధపు సమాధానాలు వచ్చాయి. సమాధానం చెప్పలేని విధంగా రూపొందించిన ఎనిమిది ప్రశ్నలలో, మోడల్ కేవలం నాలుగు మాత్రమే తిరస్కరించింది. నా యాంటీ-హాలూసినేషన్ ప్రాంప్ట్ (anti-hallucination prompt) సుమారు పావు వంతు సమయం విఫలమైంది. అంటే, నేను వినియోగదారులకు అబద్ధాలు చెప్పే ఒక ఉత్పత్తిని అందిస్తున్నాను.

ఒక అత్యంత సరళమైన రిట్రీవల్ సెటప్

నేను Pinecone లేదా ఏదైనా భారీ వెక్టర్ డేటాబేస్‌ను ఉపయోగించలేదు. మొత్తం సెటప్ ఒక సాధారణ JSON ఫైల్‌పై ఆధారపడి ఉంది. నా కోడ్ నా ప్రొఫైల్‌ను విడివిడి విభాగాలుగా విభజిస్తుంది. ఒక ప్రశ్న వచ్చినప్పుడు, సిస్టమ్ క్వెరీకి మరియు ప్రతి టెక్స్ట్ చంక్‌కు మధ్య ఉన్న కోసైన్ సిమిలారిటీని (cosine similarity) లెక్కిస్తుంది, అత్యంత దగ్గరి ఫలితాలను ఎంచుకుంటుంది మరియు వాటిని ప్రాంప్ట్‌లోకి కాంటెక్స్ట్‌గా చేరుస్తుంది. ఆ తర్వాత మోడల్ ఆ విండోలో ఉన్న సమాచారం ఆధారంగా మాత్రమే సమాధానాన్ని రూపొందిస్తుంది.

పరిమితమైన వాస్తవాలను అందించే చిన్న వ్యక్తిగత సైట్‌కు, ఈ విధానం వేగంగా ఉంటుంది మరియు ఖర్చు కూడా దాదాపు సున్నా. రిమోట్ వెక్టర్ స్టోర్‌కు నెట్‌వర్క్ రౌండ్-ట్రిప్ అవసరం లేదు, ఇండెక్సింగ్ ఓవర్‌హెడ్ లేదు మరియు సంక్లిష్టమైన ఆర్కెస్ట్రేషన్ లేదు. మీరు ఫైల్‌ను చదువుతారు, చంక్‌లకు స్కోర్ ఇస్తారు, ప్రాంప్ట్‌ను నిర్మిస్తారు మరియు పని పూర్తి చేస్తారు. కానీ బ్యాకెండ్‌లో సరళత ఉండటం వల్ల అవుట్‌పుట్‌లో నిజాయితీ ఉంటుందని గ్యారెంటీ లేదు. మోడల్ సొంతంగా ఏదైనా సృష్టించాలని (improvise) నిర్ణయించుకున్నప్పుడు, ఒక తేలికపాటి పైప్‌లైన్ కూడా తీవ్రమైన సమస్యలను సృష్టించవచ్చు. "ఇది కాంటెక్స్ట్" మరియు "దీని గురించి నేను చెప్పేది ఇది" అనే రెండింటి మధ్య ఉండే అంతరం లోనే హాలూసినేషన్లు (hallucinations) నివసిస్తాయి. మీరు మీ పని చరిత్ర గురించి ఒక పేరాను మోడల్‌కు ఇచ్చినా, మీరు ఎప్పుడూ తాకని ప్రోగ్రామింగ్ లాంగ్వేజ్ గురించి అది నమ్మశక్యంగా అబద్ధం చెప్పవచ్చు.

నా నమ్మకాన్ని దెబ్బతీసిన గణాంకాలు

నెలల తరబడి, నేను మాన్యువల్ స్పాట్-చెకింగ్‌ను సరిపోతుంది అనుకున్నాను. నేను చాట్‌ను ఓపెన్ చేసి, నాకు ముందే తెలిసిన సమాధానం ఉన్న ప్రశ్నను అడిగి, సమాధానం సరిగ్గా ఉంటే తల ఊపేవాడిని. అదే నా టెస్టింగ్ స్ట్రాటజీ. నేను స్వయంగా ఇంటర్‌ఫేస్‌ను ఉపయోగిస్తున్నాను కాబట్టి అది చాలా సమగ్రంగా అనిపించింది. కానీ అది కాదు.

చివరకు నేను క్రమబద్ధంగా నడిచే ఎవాల్యుయేషన్ హార్నెస్‌ను రాసినప్పుడు, పరిస్థితి మారింది. టెస్ట్ సూట్ ఆ డిజిటల్ ట్విన్‌కు 35 ప్రశ్నలను పంపింది. తొమ్మిది సమాధానాలలో అబద్ధాలు ఉన్నాయి. నా ప్రొఫైల్‌లో ఎక్కడా సమాధానం లేని ఎనిమిది ప్రశ్నలను కూడా నేను చేర్చాను. మోడల్ వాటన్నింటినీ తిరస్కరించాలి. కానీ అది కేవలం నాలుగు మాత్రమే తిరస్కరించింది. ఎప్పుడూ అబద్ధాలు చెప్పకూడదనే కఠినమైన భాషతో నేను రూపొందించిన నా యాంటీ-హాలూసినేషన్ ప్రాంప్ట్, సుమారు 25 శాతం సమయం విఫలమైంది. నాలుగులో ఒకటి. అది కేవలం చిన్న పొరపాటు కాదు. అది ఒక విఫలమైన ఉత్పత్తి.

స్నేహపూర్వక ప్రశ్నలతో పరీక్షించడం ఆపండి

మీ స్వంత ఉత్పత్తిని కేవలం ఉపయోగిస్తూ మాత్రమే మీరు బగ్‌లను (bugs) కనుగొనలేరు. వాటిని విచ్ఛిన్నం చేయడానికి ప్రయత్నించడం ద్వారా మాత్రమే మీరు కనుగొనగలరు. నా మాన్యువల్ టెస్ట్‌లు చాలా స్నేహపూర్వకంగా ఉన్నాయి. నాకు ఖచ్చితమైన సమాధానం తెలిసిన ప్రశ్నలను మాత్రమే నేను అడిగాను, అంటే నేను తెలియకుండానే మోడల్‌ను సురక్షితమైన ప్రాంతం వైపు నడిపిస్తున్నాను. నేను ఎప్పుడూ అంచులను (edges) పరీక్షించలేదు. నాకు ఉండాలని కోరుకునే నైపుణ్యాల గురించి లేదా ఎప్పుడూ జరగని అనుభవాల గురించి నేను ఎప్పుడూ అడగలేదు.

నిజమైన టెస్టింగ్ కోసం అడ్వర్సరియల్ ఇంటెంట్ (adversarial intent) అవసరం. AI విఫలం కావడానికి వీలుగా మీరు ప్రశ్నలను రూపొందించాలి. సందర్శకుడి ముందు అది తప్పు చేయకుండా ఉండాలంటే, ల్యాబ్‌లోనే అది తప్పు చేసేలా చూడాలి. మీరు ఇప్పటికే నమ్మే అంశాలను మాత్రమే ధృవీకరించే టెస్ట్ సూట్ కేవలం ఒక డెమో మాత్రమే. మీరు యాక్టివ్‌గా ఎడ్జ్ కేసెస్ (edge cases) మరియు ట్రాప్ ప్రశ్నలను సృష్టించకపోతే, మీరు టెస్టింగ్ చేయడం లేదు. మీరు కేవలం ఆశించడం చేస్తున్నారు.

ప్రాముఖ్యత కలిగిన రెండు తప్పులు

ప్రాంప్టింగ్ అనేది గ్యారెంటీ కాదు. AI హాలూసినేట్ చేయవద్దని చెప్పే సుదీర్ఘమైన, వివరణాత్మకమైన సూచన కేవలం ఒక ఆదేశంలా కనిపించే సలహా మాత్రమే. మోడల్ చాలా వరకు దానిని అనుసరించవచ్చు, కానీ గణాంక ఒత్తిడి (statistical pressure) దానిని వేరే దిశకు నెట్టినప్పుడు అది ఆ సూచనను విస్మరిస్తుంది. టెంపరేచర్ (Temperature), టోకెన్ ప్రాబబిలిటీ (token probability), మరియు ట్రైనింగ్ డేటా యొక్క స్వభావం అన్నీ మీ సిస్టమ్ ప్రాంప్ట్‌లోని ఒక వాక్యం కంటే బలంగా పనిచేస్తాయి. మీరు విధేయతను ఆశతో కాకుండా డేటాతో కొలవాలి. ఒక బలమైన సూచన అనేది ధృవీకరించబడిన వాస్తవం కాదు. అది ఒక అభ్యర్థన మాత్రమే, మరియు అభ్యర్థనలు తిరస్కరించబడవచ్చు. మీ మొత్తం సేఫ్టీ స్ట్రాటజీ కేవలం ప్రాంప్ట్‌ను బలంగా రాయడంపైనే ఆధారపడి ఉంటే, మీరు టిష్యూ పేపర్‌తో గార్డ్‌రైల్ (guardrail) నిర్మించినట్లు లెక్క. మోడల్ ఎంత తరచుగా, ఏ పరిస్థితుల్లో విధేయత చూపుతుంది మరియు విఫలమైనప్పుడు ఎందుకు విఫలమవుతుంది అనే అంశాలను లెక్కించే ఎవాల్యుయేషన్ హార్నెస్ మీకు అవసరం. మీ మాట తీరుతో (tone of voice) గణాంకాలకు సంబంధం లేదు.

ఎవల్యూషన్ లూప్ లోపభూయిష్టంగా ఉంది. ఇది నన్ను దాదాపుగా దారి తప్పించేలా చేసిన ఒక సూక్ష్మమైన ఉచ్చు. నా అసలు టెస్టింగ్ టూల్ రిట్రీవల్ ప్రాసెస్‌ను రెండుసార్లు నిర్వహించింది. మొదటి రన్‌లో గ్రౌండ్ ట్రూత్‌తో సరిపోల్చడానికి కాంటెక్స్ట్‌ను సేకరించింది. రెండవ రన్‌లో అసలైన సమాధానం జనరేషన్ కోసం కాంటెక్స్ట్‌ను సేకరించింది. వాస్తవానికి, దీని అర్థం ఏమిటంటే జడ్జ్ చూసిన చంక్స్, మోడల్ చూసిన చంక్స్ కంటే భిన్నంగా ఉండవచ్చు. AIకి అసలు అందకపోవచ్చు ఉన్న డేటా ఆధారంగా జడ్జ్ సమాధానాన్ని గ్రేడ్ చేస్తున్నాడు. తప్పు ఇన్‌పుట్‌ను గ్రేడ్ చేసే మూల్యాంకనం, అసలు మూల్యాంకనం లేకపోవడం కంటే దారుణమైనది. ఇది మీకు తప్పుడు భద్రతా భావాన్ని కలిగిస్తుంది. మీరు స్కోర్‌ను చూస్తారు, అధిక పాస్ రేటును చూసి రిలాక్స్ అవుతారు. అదే సమయంలో మీ వినియోగదారులు...