ഞങ്ങളുടെ പത്ത് ഏജന്റുകളുള്ള AI ഫ്ലീറ്റിന് ഞങ്ങൾ $100 ക്രെഡിറ്റ് പരിധി നിശ്ചയിച്ചു, അതേ ദിവസം തന്നെ ത്രോട്ടിൽ (throttle) സംവിധാനം പ്രവർത്തിച്ചു, പരിധി വർദ്ധിപ്പിക്കുന്നത് വരെ എല്ലാ പുതിയ ടാസ്ക്കുകളും അത് നിർത്തിവെച്ചു. ബജറ്റ് ലംഘിക്കപ്പെട്ട ഉടൻ തന്നെ കൺട്രോൾ ലൂപ്പ് പ്രവർത്തിച്ചുവെന്ന് ഈ സംഭവം കാണിക്കുന്നു.
AI ഫ്ലീറ്റുകൾക്ക് ക്രെഡിറ്റ് പരിധി എന്തിനാണ് പ്രസക്തമാകുന്നത്
ഒരു സിംഗിൾ സെർവറിൽ പത്ത് ഓട്ടോണമസ് ഏജന്റുകളെ പ്രവർത്തിപ്പിക്കുന്നത് നിരന്തരമായ API കോളുകൾ ഉണ്ടാക്കുന്നു, അവ ഓരോന്നും ഉപയോഗിക്കുന്ന ടോക്കണുകൾ അനുസരിച്ചാണ് ബില്ല് ചെയ്യപ്പെടുന്നത്. പരമ്പരാഗത ലോഗുകൾ ഏജന്റുകൾ ചെയ്ത കാര്യങ്ങൾ—ക്വറികൾ, മറുപടികൾ, ടൈംസ്റ്റാമ്പുകൾ—എന്നിവ രേഖപ്പെടുത്തുന്നുണ്ടെങ്കിലും, ആ പ്രവർത്തനങ്ങൾ എത്രത്തോളം ചിലവേറിയതാണെന്ന് അവ പറയുന്നില്ല. ഒരു ഫ്ലീറ്റ് വലുതാകുമ്പോൾ, ആ അദൃശ്യമായ ബില്ല് പെട്ടെന്ന് വർദ്ധിക്കുകയും ആരും ശ്രദ്ധിക്കുന്നതിന് മുമ്പ് ബജറ്റ് തീർന്നുപോവുകയും ചെയ്തേക്കാം.
ലോഗുകളെ ഒരു ലെഡ്ജർ (ledger) ആക്കി മാറ്റുക
ലോഗുകളെ വെറും ടെക്സ്റ്റ് ആയി കാണുന്നത് അവസാനിപ്പിക്കുകയും അവയെ ഒരു സാമ്പത്തിക ലെഡ്ജർ ആയി പരിഗണിക്കുകയും ചെയ്യുക എന്നതായിരുന്നു ഞങ്ങളുടെ ആദ്യ പടി. ഓരോ ഏജന്റ് സൈക്കിളും—task → taking → done—ഇപ്പോൾ മൂന്ന് എൻട്രികൾ നൽകുന്നു:
- Money – റിക്വസ്റ്റിലെ ടോക്കൺ എണ്ണത്തിൽ നിന്ന് കണക്കാക്കിയ USD മൂല്യം.
- Promises – നിലവിലുള്ള ബാധ്യതയെ സൂചിപ്പിക്കുന്ന തുറന്ന ടാസ്ക്കുകൾ (open tasks), അതായത് പൂർത്തിയാകുമ്പോൾ ബില്ല് ചെയ്യപ്പെടുന്ന ജോലികൾ.
- Labour – ഏജന്റ് ചെയ്ത യഥാർത്ഥ ജോലി യൂണിറ്റുകൾ.
ലോഗ് ഫയലിൽ “error” എന്ന് തിരയുന്നതിന് പകരം, നമുക്ക് ഇപ്പോൾ യഥാർത്ഥ സാമ്പത്തിക ക്വറി നടത്താം: “Show all promises whose money total exceeds $100.” ഈ ലെഡ്ജർ മറഞ്ഞിരിക്കുന്ന ചിലവിനെ ദൃശ്യമാക്കുകയും തിരയാൻ പാകത്തിലാക്കുകയും ചെയ്യുന്നു.
ക്ലോസ്ഡ്-ലൂപ്പ് കൺട്രോൾ സിസ്റ്റം
ക്രെഡിറ്റ് ലിമിറ്റ് സംവിധാനം തുടർച്ചയായി പ്രവർത്തിക്കുന്ന നാല് ഘട്ടങ്ങളുള്ള ഒരു ലൂപ്പ് പിന്തുടരുന്നു:
- Measure – ഓരോ ഏജന്റ് ടേണും ടോക്കൺ ഉപയോഗവും അതിൽ നിന്നുള്ള ഡോളർ തുകയും രേഖപ്പെടുത്തി ഒരു സ്പെൻഡ് ലോഗിലേക്ക് ഒരു വരി ചേർക്കുന്നു.
- Price – നിലവിലെ നിരക്ക് ഉപയോഗിച്ച് സിസ്റ്റം ടോക്കൺ എണ്ണത്തെ USD-ലേക്ക് മാറ്റുന്നു.
- Alert – ഒരു മോണിറ്റർ ബജറ്റ് നിരീക്ഷിക്കുന്നു. അതിന്റെ അവസ്ഥ none (മുന്നറിയിപ്പില്ല) എന്നതിൽ നിന്ന് warn (പരിധി അടുക്കുന്നു) എന്നതിലേക്കും പിന്നീട് cap (പരിധി എത്തി) എന്നതിലേക്കും മാറുന്നു.
- Throttle – കൺട്രോൾ ഗേറ്റ് നിലവിലെ അവസ്ഥ പരിശോധിക്കുകയും പരിധി (cap) എത്തിയ സാഹചര്യത്തിൽ പുതിയ ടാസ്ക്കുകൾ നൽകുന്നത് തടയുകയും ചെയ്യുന്നു.
ബജറ്റ് വിൻഡോ അഞ്ച് മണിക്കൂർ നീളമുള്ള ഒരു റോളിംഗ് പിരീഡ് ആണ്, അതായത് സിസ്റ്റം എപ്പോഴും ഏറ്റവും പുതിയ അഞ്ച് മണിക്കൂർ ചിലവുകളെയാണ് നോക്കുന്നത്, അല്ലാതെ ഒരു നിശ്ചിത കലണ്ടർ ബ്ലോക്കിനെയല്ല. ഇത് പ്രവർത്തനങ്ങളിലെ പെട്ടെന്നുള്ള വർദ്ധനവിനോട് പ്രതികരിക്കാനും ഒരു ഒറ്റ സ്പൈക്ക് കാരണം ഫ്ലീറ്റ് അനന്തമായി ലോക്ക് ചെയ്യപ്പെടാതിരിക്കാനും സഹായിക്കുന്നു.
ചിലവ് മാത്രം കാണിക്കുന്ന ഒരു ഡാഷ്ബോർഡ് ഒരു കഥ പറയുന്നു; എന്നാൽ ആ സംഖ്യ വായിച്ച് ടാസ്ക്കുകൾ നൽകുന്നത് നിർത്തുന്ന ത്രോട്ടിൽ ആണ് യഥാർത്ഥ നിയന്ത്രണം.
ഡിസൈനിലെ കരുത്ത് (Resilience by design)
ഒരു സിംഗിൾ പോയിന്റ് ഓഫ് ഫെയിലർ (single point of failure) ആയി മാറുന്ന ഒരു സ്പെൻഡ്-കൺട്രോൾ സിസ്റ്റം ഗുണത്തേക്കാളേറെ ദോഷം ചെയ്യും. ഞങ്ങൾ മൂന്ന് സുരക്ഷാ സംവിധാനങ്ങൾ നിർമ്മിച്ചു:
- Fails open – ബജറ്റ് ടൂൾ തകരാറിലായാലും ഏജന്റുകൾ പ്രവർത്തിക്കുന്നത് തുടരും. ചിലവ് പരിശോധിക്കപ്പെടില്ലായിരിക്കാം, പക്ഷേ ഫ്ലീറ്റ് പ്രവർത്തനക്ഷമമായിരിക്കും.
- Manual bypass – ഓപ്പറേറ്റർമാർക്ക് ഒരു പ്രയോറിറ്റി ചാനൽ വഴി ത്രോട്ടലിനെ മറികടക്കാം, പരിധി എത്തിയപ്പോഴും നിർണ്ണായകമായ ജോലികൾ മുന്നോട്ട് കൊണ്ടുപോകാൻ ഇത് സഹായിക്കുന്നു.
- Auto-resume – റോളിംഗ് വിൻഡോ മുന്നോട്ട് നീങ്ങുന്നതിനനുസരിച്ച്, പഴയ ചിലവുകൾ കണക്കുകൂട്ടലിൽ നിന്ന് ഒഴിവാകുന്നു. ആകെ തുക പരിധിയിൽ താഴെയാകുമ്പോൾ, മനുഷ്യ ഇടപെടലില്ലാതെ തന്നെ ഗേറ്റ് സ്വയമേവ വീണ്ടും തുറക്കുന്നു.
പരീക്ഷണം: $100 പരിധിയും നിലവിലുള്ള $156 ചിലവും
ഫ്ലീറ്റിന്റെ സമീപകാല പ്രവർത്തനങ്ങൾ ഇതിനകം $156 ചിലവാക്കിയ സാഹചര്യത്തിൽ, ഞങ്ങൾ $100 പരിധിയോടെ സിസ്റ്റം ആരംഭിച്ചു. ത്രോട്ടിൽ ഉടൻ തന്നെ പ്രവർത്തിക്കുകയും എല്ലാ പുതിയ ടാസ്ക്കുകളും നിർത്തിവെക്കുകയും ചെയ്തു. ഞങ്ങൾ പരിധി $200 ആയി ഉയർത്തിയപ്പോൾ, ഗേറ്റ് വീണ്ടും തുറക്കുകയും കൂടുതൽ മാനുവൽ നടപടികളില്ലാതെ തന്നെ ജോലി പുനരാരംഭിക്കുകയും ചെയ്തു.
ഈ പരീക്ഷണം രണ്ട് കാര്യങ്ങൾ സ്ഥിരീകരിച്ചു:
- കൺട്രോൾ ലൂപ്പ് തത്സമയം പ്രതികരിക്കുന്നു; പരിധി ലംഘനവും അത് നടപ്പിലാക്കുന്നതും തമ്മിൽ കാലതാമസമില്ല.
- ഓപ്പറേറ്റർമാർക്ക് പരിധികൾ വേഗത്തിൽ മാറ്റാൻ കഴിയും, ഇത് കുറഞ്ഞ മുൻഗണനയുള്ള ജോലികൾക്കായി അനാവശ്യമായ സമയം നഷ്ടപ്പെടുന്നത് ഒഴിവാക്കുന്നു.
Takeaway: ഏജന്റ് ലോഗുകളെ ഒരു സാമ്പത്തിക ലെഡ്ജർ ആയി പരിഗണിക്കുന്നതും, ഡിസ്പാച്ച് പൈപ്പ്ലൈനിൽ ഒരു റോളിംഗ്-ബജറ്റ് ത്രോട്ടിൽ ഉൾപ്പെടുത്തുന്നതും അമിത ചിലവിനെതിരെ തൽക്ഷണവും ശക്തവുമായ ഒരു സംരക്ഷണം നൽകുന്നു. ഇത് ഇന്ന് ലഭ്യമായ കുറഞ്ഞ ചിലവിലുള്ളതും കരുത്തുറ്റതുമായ ഒരു നിയന്ത്രണമാണ്; കൂടുതൽ സങ്കീർണ്ണമായ നയങ്ങൾ പിന്നീട് ചേർക്കാവുന്നതാണ്, എന്നാൽ അടിസ്ഥാനപരമായ ഈ ലൂപ്പ് ഏതൊരു AI-ഏജന്റ് ഫ്ലീറ്റിന്റെയും ആദ്യ പ്രതിരോധ നിരയായിരിക്കണം.
