𝗕𝗼𝘂𝗻𝗱𝗲𝗱 𝗥𝗲𝘁𝗿𝗶𝗲𝘀 𝗙𝗼𝗿 𝗔𝗴𝗲𝗻𝘁 𝗧𝗼𝗼𝗹 𝗖𝗮𝗹𝗹𝘀

અમારા એજન્ટ દ્વારા સર્જાયેલી સૌથી ખરાબ ઘટના ખોટો જવાબ આપવી એ નહોતી. તે એક લૂપ (loop) હતી.

એક ટૂલ કોલ નિષ્ફળ ગયો. એજન્ટે ફરી પ્રયાસ (retry) કર્યો. તે પ્રયાસ ફરી નિષ્ફળ ગયો. એજન્ટ સતત પ્રયાસ કરતો રહ્યો. તેના કારણે ટોકન્સનો બગાડ થયો અને એક મિનિટમાં સેંકડો વખત અમારી API પર વિનંતીઓ મોકલવામાં આવી.

એજન્ટે તે જ કર્યું જે અમે તેને કરવાનું કહ્યું હતું. અમે તેને કહ્યું હતું કે જો કોઈ ટૂલ નિષ્ફળ જાય તો ફરી પ્રયાસ કરવો. અમે તેને ક્યારે અટકવું તે કહેવાનું ભૂલી ગયા.

કામચલાઉ ભૂલો માટે રીટ્રાય્સ (retries) સારા છે. સમસ્યા એ છે કે એજન્ટ કામચલાઉ ભૂલ અને કાયમી ભૂલ વચ્ચેનો તફાવત સમજી શકતા નથી. મર્યાદાઓ વગર, એજન્ટ જ્યાં સુધી કંઈક તેને અટકાવે નહીં ત્યાં સુધી નિષ્ફળ થયેલા કોલ માટે ફરી પ્રયાસ કરતો રહે છે.

પરંપરાગત કોડ રીટ્રાય લિમિટનો ઉપયોગ કરે છે. એજન્ટ ટૂલ કોલ્સમાં આ નિર્ણય મોડેલના તર્ક (reasoning) પર છોડી દેવામાં આવ્યો છે. આના કારણે લૂપ અદ્રશ્ય અને અનિયંત્રિત (unbounded) બની ગઈ.

અમે મોડેલની બહાર બે બજેટ ઉમેરીને આ સમસ્યાનું નિરાકરણ કર્યું:

• પ્રતિ-કોલ કેપ (Per-call cap): ચોક્કસ ટૂલને પ્રયાસોની એક નિશ્ચિત સંખ્યા મળે છે. જો તે નિષ્ફળ જાય, તો એજન્ટે બીજો રસ્તો અપનાવવો જોઈએ. • પ્રતિ-સત્ર બજેટ (Per-session budget): સમગ્ર કાર્ય માટે કુલ ટૂલ કોલ્સની મર્યાદા હોય છે. જો એજન્ટ આ મર્યાદા સુધી પહોંચે છે, તો તે અટકી જાય છે અને મદદ માંગે છે.

મર્યાદા પોતે જ ઉકેલ નથી. મર્યાદા પછી શું થાય છે તે મહત્વનું છે.

જો તમે ફક્ત અટકાવી દો, તો એજન્ટ અટકી જશે. તેના બદલે, અમે એજન્ટને એક સ્પષ્ટ સંદેશ આપીએ છીએ. અમે તેને કહીએ છીએ કે કોલ નિષ્ફળ ગયો છે અને તેણે ફરી પ્રયાસ કરવો જોઈએ નહીં. આ લૂપને એક નિર્ણયમાં ફેરવે છે. સામાન્ય રીતે, એજન્ટ પછી નવો અભિગમ પસંદ કરે છે.

અમે આ ઉમેર્યા ત્યારથી, ટૂલના દુરુપયોગને કારણે થતા લૂપ્સ લગભગ અદ્રશ્ય થઈ ગયા છે. જ્યારે તે થાય છે, ત્યારે તે મોટા API બિલ બનાવવાને બદલે વ્યવસ્થિત રીતે સમાપ્ત થઈ જાય છે.

યોગ્ય મર્યાદા શોધવી મુશ્કેલ છે. ખૂબ જ કડક મર્યાદા લાંબા કાર્યોને રોકી દે છે. છૂટી મર્યાદા ખર્ચાળ લૂપ્સને મંજૂરી આપે છે. અમે અમારી મર્યાદાઓ 95મી પર્સન્ટાઇલ (95th percentile) કાર્ય લંબાઈના આધારે સેટ કરીએ છીએ.

શું તમારી પાસે આ બજેટ સેટ કરવાની કોઈ સારી રીત છે? મને કોમેન્ટ્સમાં જણાવો.

Source: https://dev.to/james_oconnor_dev/bounded-retries-for-agent-tool-calls-the-budget-that-stopped-our-infinite-loop-incidents-4354

Optional learning community: https://t.me/GyaanSetuAi