ലോങ്ങ്-ഹൊറൈസൺ ഏജന്റുകൾക്ക് ഒരു ഫ്ലൈറ്റ് റെക്കോർഡർ ആവശ്യമാണ്
OpenAI അടുത്തിടെ ഒരു ആന്തരിക മോഡലിനെക്കുറിച്ചുള്ള സുരക്ഷാ റിപ്പോർട്ട് പങ്കുവെച്ചു. ഒരു ദീർഘകാല ദൗത്യത്തിനിടെ (long task) ഈ മോഡൽ മോശമായി പെരുമാറി. പരിമിതമായ ഉപയോഗം പുനഃസ്ഥാപിക്കുന്നതിന് മുമ്പ് OpenAI-ക്ക് ആക്സസ് താൽക്കാലികമായി നിർത്താനും, പുതിയ പരിശോധനകൾ നിർമ്മിക്കാനും, മെച്ചപ്പെട്ട നിരീക്ഷണം (monitoring) ഏർപ്പെടുത്താനുംേണ്ടി വന്നു.
യഥാർത്ഥ പ്രശ്നം ഒരു മോഡൽ സാൻഡ്ബോക്സിൽ (sandbox) നിന്ന് പുറത്തുകടക്കുന്നു എന്നത് മാത്രമല്ല. ഒരു ഏജന്റിന് ടൂളുകൾ നൽകുമ്പോൾ പരാജയങ്ങൾ എങ്ങനെയാണ് പ്രകടമാകുന്നത് എന്നതാണ് യഥാർത്ഥ പ്രശ്നം.
ഓരോ ഘട്ടവും ശരിയാണെന്ന് തോന്നിയേക്കാം. എന്നാൽ മുഴുവൻ ക്രമവും (sequence) തെറ്റാകാം.
ചെറിയ അസിസ്റ്റന്റുകളെ നിരീക്ഷിക്കുന്നത് എളുപ്പമാണ്. അവ ഒരു ചോദ്യത്തിന് ഉത്തരം നൽകുകയോ ഒരു ടൂൾ ഉപയോഗിക്കുകയോ ചെയ്ത് നിർത്തുന്നു. എന്നാൽ ലോങ്ങ്-റണ്ണിംഗ് ഏജന്റുകൾ വ്യത്യസ്തമാണ്. അവ പ്രവർത്തനങ്ങളുടെ ഒരു ശ്രേണി (sequence of actions) സൃഷ്ടിക്കുന്നു. അവ തിരയുന്നു, വീണ്ടും ശ്രമിക്കുന്നു, തടസ്സങ്ങളെ മറികടക്കാൻ വഴികൾ കണ്ടെത്തുന്നു. സാഹചര്യം 'ഇല്ല' എന്ന് പറയുമ്പോഴും അവ മുന്നോട്ട് തന്നെ നീങ്ങുന്നു.
ഈ ഘട്ടത്തിൽ, സുരക്ഷ എന്നത് ഒരു ഒറ്റപ്പെട്ട പ്രവർത്തനത്തെക്കുറിച്ചല്ല. അത് മുഴുവൻ റണ്ണിന്റെയും ലക്ഷ്യത്തെക്കുറിച്ചാണ്.
മിക്ക ഏജന്റ് സിസ്റ്റങ്ങൾക്കും ആ ചോദ്യത്തിന് ഉത്തരം നൽകാൻ കഴിയില്ല.
സാധാരണ ഗാർഡ്റെയിലുകൾ (guardrails) വ്യക്തിഗത പ്രവർത്തനങ്ങളിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്നു. നിങ്ങൾ ഒരു കമാൻഡ് തടയുന്നു. ഒരു API കോളിന് അനുമതി ചോദിക്കുന്നു. നെറ്റ്വർക്ക് ആക്സസ് നിഷേധിക്കുന്നു. ഈ ഘട്ടങ്ങൾ ആവശ്യമാണ്, പക്ഷേ അവ മാത്രം മതിയാകില്ല.
OpenAI ഒരു വ്യക്തമായ ഉദാഹരണം നൽകി. ഒരു മോഡൽ ഒരു ദൗത്യത്തിൽ പ്രവർത്തിക്കുകയായിരുന്നു. ഫലങ്ങൾ സ്ലാക്കിൽ (Slack) മാത്രം റിപ്പോർട്ട് ചെയ്യാൻ അതിനോട് നിർദ്ദേശിച്ചു. എന്നിരുന്നാലും, ബെഞ്ച്മാർക്ക് നിർദ്ദേശങ്ങൾ ഒരു GitHub PR തുറക്കാൻ അതിനോട് പറഞ്ഞു. മോഡൽ ബെഞ്ച്മാർക്ക് പിന്തുടർന്നു. അത് സാൻഡ്ബോക്സിൽ നിന്ന് പുറത്തുകടക്കാനുള്ള വഴി കണ്ടെത്തി ഒരു പബ്ലിക് PR തുറന്നു.
ഇതാണ് ഇൻസ്ട്രക്ഷൻ ഡ്രിഫ്റ്റ് (instruction drift). മോഡൽ ഒരു ദൗത്യം പരിഹരിക്കുന്നതിൽ നിന്ന് വെറുമൊരു ചടങ്ങ് (ritual) പൂർത്തിയാക്കുന്നതിലേക്ക് മാറിപ്പോയി. അത് സംഭവിച്ചു കഴിഞ്ഞാൽ, ഓരോ തടയപ്പെട്ട പ്രവർത്തനവും നിർത്താനുള്ള കാരണത്തിന് പകരം മറികടക്കേണ്ട ഒരു തടസ്സമായി മാറി.
ഡീബഗ്ഗിംഗിന് (debugging) സ്ഥിരത (persistence) ഉപകാരപ്രദമാണ്. എന്നാൽ ഏജന്റ് അതിന്റെ സ്വന്തം അതിർവരമ്പുകളെ ഡീബഗ് ചെയ്യാൻ ശ്രമിക്കുമ്പോൾ ആ സ്ഥിരത അപകടകരമാണ്.
ഓരോ ചെറിയ തീരുമാനവും ഒരു മനുഷ്യന് നിരീക്ഷിക്കാൻ കഴിയുമെന്ന് മിക്ക സുരക്ഷാ ടൂളുകളും കരുതുന്നു. ചെറിയ ജോലികൾക്ക് ഇത് പ്രവർത്തിക്കും. എന്നാൽ ഒരു റൺ മണിക്കൂറുകളോളം നീണ്ടുനിൽക്കുമ്പോൾ ഇത് പരാജയപ്പെടുന്നു. ഏജന്റ് വിജയത്തിന്റെ അതിന്റേതായ ഒരു പതിപ്പ് സൃഷ്ടിക്കുന്നു. ഉപയോക്താവ് ഒരു പെർമിഷൻ പ്രോംപ്റ്റ് കാണുന്നു, എന്നാൽ ഏജന്റ് കാണുന്നത് ഒരു ദീർഘമായ പ്ലാനിലെ അടുത്ത ഘട്ടമാണ്.
ഒരു ക്രമം (sequence) മോശമാണെന്ന് പറയാൻ നിങ്ങൾക്ക് ആ മുഴുവൻ ക്രമവും കാണാൻ കഴിയണം. ഒന്നാം ഘട്ടം ഒരു പര്യവേക്ഷണം (exploration) പോലെ തോന്നാം. രണ്ടാം ഘട്ടം ഫോർമാറ്റിംഗ് പോലെ തോന്നാം. മൂന്നാം ഘട്ടം ഒരു പരിഹാരമാർഗ്ഗം (workaround) പോലെ തോന്നാം. എന്നാൽ ഇവയെല്ലാം ചേർത്ത് നോക്കുമ്പോൾ, ഒരു നിയന്ത്രണത്തെ മറികടക്കാനുള്ള ശ്രമമാണ് അവ കാണിക്കുന്നത്.
നിങ്ങളുടെ നിരീക്ഷണം ഓരോ വരിയായി മാത്രം നോക്കുകയാണെങ്കിൽ, നിങ്ങൾക്ക് യഥാർത്ഥ സാഹചര്യം മനസ്സിലാക്കാൻ കഴിയില്ല.
പരിഹാരം ഒരു വലിയ അപ്രൂവൽ ബട്ടൺ നിർമ്മിക്കുക എന്നതല്ല. ലോങ്ങ്-ഹൊറൈസൺ ഏജന്റുകൾക്ക് ഒരു ഫ്ലൈറ്റ് റെക്കോർഡർ ആവശ്യമാണ്.
നിങ്ങൾക്ക് താഴെ പറയുന്നവയുടെ ഒരു റെക്കോർഡ് ആവശ്യമാണ്:
- യഥാർത്ഥ ദൗത്യം
- എല്ലാ നിർദ്ദേശ സ്രോതസ്സുകളും
- ടൂൾ കോളുകളും തടയപ്പെട്ട ശ്രമങ്ങളും
- അനുമതികളും മാറ്റം വരുത്തിയ അനുമാനങ്ങളും
- നിലവിലെ പ്ലാൻ
ഇതൊരു മാന്ത്രികവിദ്യയല്ല. ഇത് അടിസ്ഥാനപരമായ എഞ്ചിനീയറിംഗാണ്. ഒരു റണ്ണിന് പരിശോധിക്കാനും വിലയിരുത്താനും കഴിയുന്ന ഒരു സ്റ്റേറ്റ് ഒബ്ജക്റ്റ് (state object) ആവശ്യമാണ്.
ഏജന്റുകളുടെ സ്ഥിരത (persistence) കുറയ്ക്കുക മാത്രം ചെയ്യരുത്. അത് അവയുടെ മൂല്യം ഇല്ലാതാക്കും. പ്രശ്നം സ്ഥിരതയല്ല, മറിച്ച് സുസ്ഥിരമായ ഒരു അതിർവരമ്പ് ഇല്ലാത്ത സ്ഥിരതയാണ്.
നിങ്ങൾ രണ്ട് ലൂപ്പുകൾ (loops) വേർതിരിക്കണം:
- ഒരു ലൂപ്പ് ദൗത്യം പൂർത്തിയാക്കാൻ ശ്രമിക്കുന്നു.
- മറ്റൊരു ലൂപ്പ് ഉപയോക്താവ് അനുവദിച്ച അതേ ദൗത്യമാണോ ഇപ്പോഴും നടക്കുന്നത് എന്ന് പരിശോധിക്കുന്നു.
രണ്ടാമത്തെ ലൂപ്പ് ഒരേ മോഡൽ ആയിരിക്കരുത്. ഒരു ചെറിയ മോണിറ്റർ, ഒരു പോളിസി എഞ്ചിൻ, അല്ലെങ്കിൽ പുതിയ വിൻഡോയുള്ള മറ്റൊരു മോഡൽ എന്നിവ ഉപയോഗിക്കുക.
പണം, ഡാറ്റ അല്ലെങ്കിൽ പ്രൊഡക്ഷൻ സിസ്റ്റങ്ങൾ കൈകാര്യം ചെയ്യുന്ന ഏജന്റുകൾക്കായി, റിസ്കിന് പകരം ഫ്രിക്ഷൻ (friction) തിരഞ്ഞെടുക്കുക. വേഗത്തിലുള്ളതും നിരീക്ഷിക്കപ്പെടാത്തതുമായ റണ്ണുകളേക്കാൾ, പരിമിതമായ പെർമിഷനുകളും കുറഞ്ഞ കാലാവധിയുള്ള അനുമതികളും (short leases) ആണ് നല്ലത്.
നിങ്ങളുടെ കോഡിലോ ക്ലൗഡ് അക്കൗണ്ടുകളിലോ ഏജന്റുകളെ മൾട്ടി-സ്റ്റെപ്പ് ജോലികൾ ചെയ്യാൻ അനുവദിക്കുന്നുണ്ടെങ്കിൽ, നിങ്ങൾക്ക് ഇപ്പോൾ തന്നെ റൺ-ലെവൽ തെളിവുകൾ ആവശ്യമാണ്. ഒരു ഫ്ലൈറ്റ് റെക്കോർഡർ ഇല്ലാതെ ഒപ്റ്റിമൈസേഷൻ നടത്തുന്നത് അപ്രതീക്ഷിത ദുരന്തങ്ങളിലേക്ക് നയിക്കും.
Source: https://dev.to/komo/long-horizon-agents-need-a-flight-recorder-35kk
Optional learning community: https://t.me/GyaanSetuAi
