𝗪𝗵𝘆 𝗬𝗼𝘂𝗿 𝗔𝗴𝗲𝗻𝘁𝘀 𝗔𝗿𝗲 𝗕𝘂𝗿𝗻𝗶𝗻𝗴 𝗧𝗼𝗸𝗲𝗻𝘀
നിങ്ങളുടെ ഏജന്റുകൾ എന്തിനാണ് ടോക്കണുകൾ പാഴാക്കുന്നത്
നിങ്ങൾ ഒരു കോഡിംഗ് ഏജന്റിനെ വിന്യസിച്ചു (deployed). അത് ടിക്കറ്റുകൾ എടുക്കുകയും PR-കൾ ഫയൽ ചെയ്യുകയും ചെയ്യുന്നു. അത് നന്നായി പ്രവർത്തിക്കുന്നു.
പിന്നീട് ബില്ല് വരുന്നു.
നിങ്ങൾ പ്ലാൻ ചെയ്തതിനേക്കാൾ കൂടുതൽ പണം ഏജന്റ് ചിലവാക്കി. എന്തുകൊണ്ടെന്ന് നിങ്ങൾക്ക് അറിയില്ല. ഓരോ ടിക്കറ്റിനും അത് മോഡലിനെ 50 തവണ വിളിക്കുന്നു. ചില കോളുകൾ സാവധാനത്തിലുള്ള റീട്രൈകൾ (retries) ആണ്. ചിലത് ഒരേ കോൺടെക്സ്റ്റ് തന്നെ വീണ്ടും വീണ്ടും വായിക്കുന്നതാണ്.
ഇതൊരു മോഡൽ പ്രശ്നമല്ല. ഇതൊരു ഇൻഫ്രാസ്ട്രക്ചർ പ്രശ്നമാണ്. ചിലവുകളെക്കുറിച്ചുള്ള വ്യക്തമായ ധാരണ (visibility) നിങ്ങളുടെ ടീമിന് ഇല്ല. ബജറ്റ് തീരുന്നതിന് മുമ്പ് നിയന്ത്രണം വിട്ട ഒരു ഏജന്റിനെ തടയാൻ നിങ്ങൾക്ക് മാർഗമില്ല.
ഏജന്റുകൾ ലൂപ്പുകളാണ് (loops). അവ ഒരു ടാസ്ക് വായിക്കുന്നു, ഒരു ടൂൾ വിളിക്കുന്നു, ഔട്ട്പുട്ട് വായിക്കുന്നു, എന്നിട്ട് അത് ആവർത്തിക്കുന്നു. ഓരോ ഘട്ടത്തിനും ടോക്കണുകൾ ചിലവാകുന്നു. ഓരോ തവണയും ഒരു ഏജന്റ് സിസ്റ്റം പ്രോംപ്റ്റ് വീണ്ടും വായിച്ചാൽ, ചിലവ് വേഗത്തിൽ വർദ്ധിക്കും. ഒരു ചെറിയ ബഗ് നൂറുകണക്കിന് അധിക വായനകളിലേക്ക് നയിച്ചേക്കാം.
നിങ്ങൾ കാണുന്നത് ബില്ലാണ്, കോളുകളല്ല. ഇത് വളരെ വൈകിപ്പോയിക്കഴിഞ്ഞു.
വിജയകരമായ ടീമുകൾ ആദ്യ ദിവസം മുതൽ തന്നെ ചിലവ് നിയന്ത്രണങ്ങൾ (cost controls) നിർമ്മിക്കുന്നു. അവർ ഈ രീതികൾ ഉപയോഗിക്കുന്നു:
- പ്രതിമാസ ബജറ്റ് പരിധികൾ (ceilings) നിശ്ചയിക്കുക.
- ഏത് ഏജന്റും ഏത് ടാസ്കും ആണ് ഓരോ കോളും പ്രേരിപ്പിച്ചത് എന്ന് രേഖപ്പെടുത്തുക (log).
- ഒരു ടാസ്ക് മറ്റൊന്നിനേക്കാൾ കൂടുതൽ ചിലവാകാൻ കാരണമെന്താണെന്ന് കണ്ടെത്തുക.
പ്രൊഡക്ഷനിൽ ഏജന്റുകളെ പ്രവർത്തിപ്പിക്കാൻ നിങ്ങൾക്ക് ഇവ ആവശ്യമാണ്:
- Per-agent tracking: ഓരോ ഉപയോക്താവിനും ഓരോ ടാസ്കിനും എത്ര ചിലവാകുന്നു എന്ന് അറിയുക.
- Virtual keys: ഒരു ഡെവലപ്പർക്ക് മുഴുവൻ ബജറ്റും തീർക്കാൻ കഴിയാത്ത രീതിയിൽ ടീമുകളെ വേർതിരിക്കുക.
- Budget controls: കർശനമായ പരിധികൾ നിശ്ചയിക്കുക. ഒരു പരിധിയിൽ എത്തുമ്പോൾ ഏജന്റ് നിങ്ങളെ അറിയിക്കുകയോ ടാസ്ക്കുകൾ സ്വീകരിക്കുന്നത് നിർത്തുകയോ വേണം.
- Spend visibility: ട്രെൻഡുകളും ടാസ്ക് തിരിച്ചുള്ള ശരാശരി ചിലവും കാണാൻ ഒരു ഡാഷ്ബോർഡ് ഉപയോഗിക്കുക.
- Detailed logs: കോൾ തരങ്ങളുടെ വിതരണം (distribution) കാണുക.
ഇവ ശ്രദ്ധിച്ചില്ലെങ്കിൽ, നിങ്ങൾക്ക് യാതൊരു ധാരണയുമില്ലാതെ പ്രവർത്തിക്കേണ്ടി വരും.
ഇത് ഒഴിവാക്കാൻ LiteLLM ഒരു പ്രത്യേക രീതി ഉപയോഗിക്കുന്നു:
- Brain and sandbox split: റീസണിംഗ് (reasoning) ഒരിടത്തും എക്സിക്യൂഷൻ (execution) മറ്റൊരിടത്തും പ്രവർത്തിക്കുന്നു. ഇത് നിരന്തരമായ റീ-റീഡുകൾ ഒഴിവാക്കുന്നു.
- Clear tool interfaces: നീളമുള്ള ടെക്സ്റ്റുകൾക്ക് പകരം സ്ട്രക്ചർഡ് ഡെഫനിഷനുകൾ ഉപയോഗിക്കുക.
- Gateway tracking: ഓരോ കോളും ഏജന്റിനും ടീമിനും വേണ്ടിയുള്ള ഐഡി (ID) ഉള്ള ഒരു ഗേറ്റ്വേയിലൂടെ കടന്നുപോകുന്നു.
- Enforced budgets: ഒരു ടാസ്ക് തുടങ്ങുന്നതിന് മുമ്പ് ഏജന്റ് അതിന്റെ ബാക്കിയുള്ള ബജറ്റ് പരിശോധിക്കുന്നു.
ഈ ടൂളുകൾ ഇല്ലാതെ നിങ്ങൾ ഏജന്റുകളെ നിർമ്മിച്ചാൽ, ചിലവ് കുതിച്ചുയരാൻ സാധ്യതയുണ്ട്. ഒരു എഡ്ജ് കേസ് (edge case) അല്ലെങ്കിൽ ഒരു ലൂപ്പ് ഉണ്ടാകുന്നത് വരെ ഏജന്റ് നന്നായി പ്രവർത്തിക്കും. പക്ഷേ അപ്പോഴേക്കും പണം തീർന്നുപോയിട്ടുണ്ടാകും.
ഈ ഘട്ടങ്ങൾ ഇപ്പോൾ തന്നെ സ്വീകരിക്കുക:
- നിങ്ങളുടെ അവസാനത്തെ API ബില്ല് പരിശോധിക്കുക (Audit).
- ഓരോ കോളും ഒരു ഏജന്റ് ഐഡിയും (agent ID) ടാസ്ക് ഐഡിയും (task ID) ഉപയോഗിച്ച് രേഖപ്പെടുത്തുക.
- ഇന്ന് തന്നെ ഒരു ബജറ്റ് പരിധി നിശ്ചയിക്കുക.
- പരാജയപ്പെട്ട റീട്രൈകൾ കണ്ടെത്താൻ ടൂൾ കോളുകൾ ലോഗ് ചെയ്യുക.
- എല്ലാ ആഴ്ചയും കോൾ പാറ്റേണുകൾ പരിശോധിക്കുക.
വിശ്വസനീയമായ ഏജന്റുകളെയും ചിലവേറിയ തെറ്റുകളെയും വേർതിരിക്കുന്ന ഒരു ഇൻഫ്രാസ്ട്രക്ചർ നിർമ്മിക്കുക.
Source: https://dev.to/paultwist/why-your-agents-are-silently-burning-tokens-and-how-to-stop-them-7g8
Optional learning community: https://t.me/GyaanSetuAi