ఒక AIని ల్యాప్టాప్ను సిఫార్సు చేయమని అడగండి, ఆపై మీకు అంతకంటే తేలికైనది కావాలని చెప్పండి. సిస్టమ్ ఆ రెండో సందేశాన్ని ఒక స్వతంత్ర అభ్యర్థనగా చదివితే, అది మీకు అల్ట్రాబుక్స్ (ultrabooks) జాబితాను ఇవ్వవచ్చు. లేదా, మొదటి బ్యాచ్ బరువుగా ఉందని మీరు తిరస్కరించిన విషయాన్ని అది గుర్తించకపోతే, మళ్ళీ గేమింగ్ వర్క్స్టేషన్ల సమూహాన్ని ఇవ్వవచ్చు. అనేక AI వ్యవస్థలు ఇప్పటికీ ప్రతి స్పందనను విడిగా చూస్తూ, ఒకే ప్రాంప్ట్ను బట్టి ర్యాంక్ చేయడం వల్ల ఇలా జరుగుతుంది. అవి ప్రతి సందేశాన్ని కొత్త సెర్చ్లా పరిగణిస్తాయి, సంభాషణలో కొనసాగుతున్న కథను విస్మరిస్తాయి.
ఈ విధానం సుదీర్ఘమైన చాట్లోని సూక్ష్మ భేదాలను (nuance) గుర్తించలేకపోతుంది. మానవ సంభాషణ అనేది మలుపు మలుపులుగా అర్థాన్ని నిర్మిస్తుంది. మనం జ్ఞాపకశక్తి, ఉద్దేశ్యం మరియు ప్రాధాన్యతలు ముందుకు కొనసాగుతాయని భావిస్తాము. AI కూడా అదే చేయలేనప్పుడు, అది ఒక అసిస్టెంట్తో మాట్లాడుతున్నట్లు కాకుండా, ప్రతి క్లిక్ తర్వాత రీసెట్ అయ్యే సెర్చ్ బాక్స్లో ప్రశ్నలు విసిరేస్తున్నట్లు అనిపిస్తుంది. దీనిని సరిదిద్దడం అంటే మనం ఇచ్చే సమాధానాలను ర్యాంక్ చేసే విధానాన్ని మార్చడం. ఏ స్పందన ఈ వాక్యానికి సరిపోతుంది అని అడగడానికి బదులుగా, మనం ఇప్పటివరకు చర్చించిన అంశాలన్నింటినీ పరిగణనలోకి తీసుకుంటే, ఏ స్పందన ఈ వ్యక్తికి, ఈ క్షణంలో సరిపోతుంది అని అడగాలి.
రెండు అంశాలు దీనిని సాధ్యం చేస్తాయి: వ్యక్తిగతీకరణ (personalization) మరియు చరిత్ర (history).
సింగిల్-టర్న్ ర్యాంకింగ్ ఎందుకు విఫలమవుతుంది
సాంప్రదాయ స్పందన ర్యాంకింగ్ అనేది ప్రశ్న-జవాబు డేటాసెట్ల నుండి ఉద్భవించింది. ఒక మోడల్ ప్రాంప్ట్ను చూస్తుంది, కొన్ని అభ్యర్థి సమాధానాలను రూపొందిస్తుంది మరియు ఒక ర్యాంకర్ ఆ ప్రాంప్ట్ను మాత్రమే ఆధారంగా చేసుకుని ప్రతి దానిని స్కోర్ చేస్తుంది. అత్యధిక స్కోరు ఉన్న అభ్యర్థి సమాధానం విజయం సాధిస్తుంది. ఇది విడిగా ఉండే వాస్తవాల (isolated facts) విషయంలో పనిచేస్తుంది. కానీ కొనసాగుతున్న పనుల విషయంలో ఇది విఫలమవుతుంది.
ఒక వినియోగదారు ప్రయాణాన్ని ప్లాన్ చేస్తున్నారని ఊహించుకోండి. మొదటి దశలో, వారు బ్యాంకాక్లోని బడ్జెట్ హోటళ్ల గురించి అడుగుతారు. మోడల్ ఖావో సాన్ రోడ్ (Khao San Road) సమీపంలోని జాబితాను సూచిస్తుంది. వినియోగదారు, "అవి శబ్దంతో ఉంటాయి. నాకు పిల్లలు ఉన్నారు, కాబట్టి నాకు స్విమ్మింగ్ పూల్ మరియు స్కైట్రైన్ (Skytrain) కి సులభంగా చేరుకునే సౌకర్యం కావాలి" అని సమాధానం ఇస్తారు. సింగిల్-టర్న్ ర్యాంకర్ కేవలం రెండో వాక్యాన్ని మాత్రమే చూస్తుంది. అది థాయ్లాండ్ అంతటా విస్తరించి ఉన్న సాధారణ ఫ్యామిలీ రిసార్ట్ల జాబితాను తిరిగి ఇవ్వవచ్చు, తద్వారా ఇప్పటికే నిర్ణయించిన నిర్దిష్ట నిబంధనలను (constraints) విస్మరిస్తుంది: బ్యాంకాక్, బడ్జెట్-అవగాహన, ప్రశాంతత, పూల్, రవాణా సౌకర్యం దగ్గర.
దీని ఫలితం సాంకేతికంగా అంశానికి సంబంధించినదే (on-topic) అయినప్పటికీ, ఆచరణాత్మకంగా ఉపయోగపడదు. వినియోగదారు సందర్భాన్ని మళ్ళీ మళ్ళీ చెప్పాల్సి వస్తుంది. ఇబ్బందులు పెరుగుతాయి. నమ్మకం తగ్గుతుంది.
వ్యక్తిగతీకరణ: ఎవరు అడుగుతున్నారు?
వ్యక్తిగతీకరణ అంటే వినియోగదారు యొక్క నిర్దిష్ట ప్రాధాన్యతలు మరియు డేటాకు అనుగుణంగా సమాధానాలను రూపొందించడం. ఇది "ఈ వ్యక్తి ఎవరు?" అనే ప్రశ్నకు సమాధానం ఇస్తుంది.
ఇది కేవలం పలకరింపులో పేరును చేర్చడం మాత్రమే కాదు. అంటే, స్పష్టమైన ప్రొఫైల్స్ లేదా నేర్చుకున్న నమూనాల (learned patterns) ద్వారా వినియోగదారు సమాచారాన్ని ఎలా పొందాలని కోరుకుంటారో సిస్టమ్కు తెలియాలి. నిరంతరం Python ఉదాహరణలను అడిగే డెవలపర్, వారి ప్రశ్నలో సాధారణ ప్రోగ్రామింగ్ టాస్క్ గురించి ఉన్నప్పటికీ, వారు ప్రత్యేకంగా అడగనంత వరకు Python కోడ్ శాంపిల్స్ను చూడాలి. గత వారం మాంసాహారం లేని వంటకాల కోసం అడిగిన శాకాహారి, మాంసాన్ని మినహాయించమని సిస్టమ్కు మళ్ళీ గుర్తు చేయాల్సిన అవసరం లేదు. గద్యం (prose) కంటే సంక్షిప్త బుల్లెట్ పాయింట్లను ఇష్టపడే వ్యక్తికి బుల్లెట్ పాయింట్లు అందాలి.
నిజమైన సంకేతాలలో (concrete signals) స్వయంగా తెలిపిన ప్రాధాన్యతలు, గత సెషన్లలో ప్రవర్తన, లేదా లొకేషన్ మరియు డివైస్ టైప్ వంటి మెటాడేటా ఉండవచ్చు. ముఖ్యమైన విషయం ఏమిటంటే, ఈ సంకేతాలు కేవలం జనరేషన్ దశలో మాత్రమే కాకుండా, ర్యాంకింగ్ దశలో కూడా ఉపయోగపడాలి. అభ్యర్థి సమాధానాలకు స్కోర్లు ఇచ్చేటప్పుడు, తెలిసిన ప్రొఫైల్కు అనుగుణంగా ఉండే సమాధానాలను ర్యాంకర్ పెంచాలి.
ఉదాహరణకు, రెండు అభ్యర్థి సమాధానాలు "నా ఫోటోలను ఎలా బ్యాకప్ చేయాలి?" అనే ప్రశ్నకు సరిగ్గా సమాధానం ఇచ్చినా, ఒకటి క్లౌడ్ స్టోరేజ్ (cloud storage) గురించి, మరొకటి లోకల్ NAS డ్రైవ్ (local NAS drive) గురించి సూచిస్తే, ఈ నిర్దిష్ట వినియోగదారు గతంలో ఆఫ్లైన్ యాజమాన్యం మరియు గోప్యత (privacy) పట్ల ఆసక్తిని వ్యక్తం చేశారని ర్యాంకర్కు తెలియాలి. అప్పుడు NAS ఆప్షన్కు ఎక్కువ స్కోరు రావాలి. వ్యక్తిగతీకరణ లేకపోతే, మోడల్ ఒక నాణేన్ని ఎగురవేసి (flips a coin) నిర్ణయం తీసుకున్నట్లు అవుతుంది.
చరిత్ర: ఇప్పటికే ఏమి చెప్పబడింది
చరిత్ర అంటే తదుపరి స్పందనను మార్గనిర్దేశం చేయడానికి సంభాషణలోని గత మలుపులను (past turns) ఉపయోగించడం. ఇది "మనం ఇప్పటికే ఏమి నిర్ణయించాము?" అనే ప్రశ్నకు సమాధానం ఇస్తుంది.
సాధారణ సర్వనామాలు (pronouns) కూడా చరిత్రను కోరుకుంటాయి. వినియోగదారు "దాన్ని నీలం రంగులోకి మార్చు" అని అన్నప్పుడు, "దాన్ని" అనేది దేనిని సూచిస్తుందో మోడల్కు తెలియాలి. ఆ సూచన మునుపటి మలుపులో ఉంటుంది. సుదీర్ఘమైన సంభాషణలలో, ఆధారిత సంబంధాలు (dependencies) సంక్లిష్టంగా మారుతాయి. నిబంధనలు పేరు పేరునా పెరుగుతాయి. వినియోగదారు ఒక ఆప్షన్ను తిరస్కరించవచ్చు, అభ్యర్థనను సవరించవచ్చు లేదా కొత్త లక్ష్యాన్ని పరిచయం చేయవచ్చు...
