ఏజెంట్ టూల్ కాల్స్ కోసం పరిమితమైన రీట్రైలు (Bounded Retries)
మా ఏజెంట్ వల్ల జరిగిన అత్యంత దారుణమైన సంఘటన తప్పు సమాధానం ఇవ్వడం కాదు. అది ఒక లూప్ (loop).
ఒక టూల్ కాల్ విఫలమైంది. ఏజెంట్ మళ్ళీ ప్రయత్నించింది (retry). ఆ ప్రయత్నం కూడా విఫలమైంది. ఏజెంట్ అలా చేస్తూనే ఉంది. దీనివల్ల టోకెన్లు వృథా అయ్యాయి మరియు ఒక నిమిషంలోనే మా APIని వందల సార్లు హిట్ చేసింది.
మేము ఏజెంట్కు ఏమి చెప్పామో అది అదే చేసింది. ఒక టూల్ విఫలమైతే మళ్ళీ ప్రయత్నించమని మేము చెప్పాము. కానీ ఎప్పుడు ఆగిపోవాలో చెప్పడం మర్చిపోయాము.
తాత్కాలిక లోపాల (temporary errors) కోసం రీట్రైలు మంచివే. కానీ సమస్య ఏమిటంటే, ఏజెంట్లు తాత్కాలిక లోపానికి మరియు శాశ్వత లోపానికి మధ్య తేడాను గుర్తించలేవు. పరిమితులు లేకపోతే, ఏదైనా దానిని ఆపే వరకు ఏజెంట్ విఫలమైన కాల్ను మళ్ళీ మళ్ళీ ప్రయత్నిస్తూనే ఉంటుంది.
సాంప్రదాయ కోడ్ (Traditional code) రీట్రై పరిమితులను ఉపయోగిస్తుంది. కానీ ఏజెంట్ టూల్ కాల్స్ విషయంలో ఈ నిర్ణయం మోడల్ రీజనింగ్ (model reasoning) లోకి మారింది. దీనివల్ల ఆ లూప్ కనిపించకుండా మరియు పరిమితి లేకుండా మారిపోయింది.
మేము మోడల్కు వెలుపల రెండు బడ్జెట్లను జోడించడం ద్వారా దీనిని పరిష్కరించాము:
• Per-call cap: ఒక నిర్దిష్ట టూల్కు నిర్ణీత సంఖ్యలో ప్రయత్నాల పరిమితి ఉంటుంది. అది విఫలమైతే, ఏజెంట్ వేరే మార్గాన్ని ప్రయత్నించాలి. • Per-session budget: మొత్తం టాస్క్కు మొత్తం టూల్ కాల్స్పై ఒక పరిమితి ఉంటుంది. ఏజెంట్ ఈ పరిమితిని చేరుకుంటే, అది ఆగిపోయి సహాయం కోరుతుంది.
పరిమితి మాత్రమే పరిష్కారం కాదు. పరిమితి దాటిన తర్వాత ఏమి జరుగుతుందనేదే ముఖ్యం.
మీరు కేవలం ఆపేస్తే, ఏజెంట్ అక్కడే చిక్కుకుపోతుంది. దానికి బదులుగా, మేము ఏజెంట్కు ఒక స్పష్టమైన సందేశాన్ని ఇస్తాము. కాల్ విఫలమైందని మరియు మళ్ళీ ప్రయత్నించకూడదని మేము చెబుతాము. ఇది లూప్ను ఒక నిర్ణయంగా మారుస్తుంది. సాధారణంగా, ఏజెంట్ అప్పుడు కొత్త విధానాన్ని ఎంచుకుంటుంది.
మేము దీనిని జోడించినప్పటి నుండి, టూల్-దుర్వినియోగం వల్ల వచ్చే లూప్లు దాదాపుగా మాయమయ్యాయి. అవి జరిగినప్పుడు కూడా, భారీ API బిల్లులను సృష్టించడానికి బదులుగా, క్రమబద్ధంగా ముగుస్తాయి.
సరైన పరిమితిని కనుగొనడం కష్టం. చాలా తక్కువ పరిమితి ఉంటే సుదీర్ఘమైన టాస్క్లు విఫలమవుతాయి. ఎక్కువ పరిమితి ఉంటే ఖరీదైన లూప్లు జరుగుతాయి. మేము మా పరిమితులను 95th percentile టాస్క్ నిడివుల ఆధారంగా నిర్ణయించాము.
ఈ బడ్జెట్లను సెట్ చేయడానికి మీ వద్ద ఏదైనా మెరుగైన మార్గం ఉందా? కామెంట్లలో నాకు తెలియజేయండి.
Optional learning community: https://t.me/GyaanSetuAi