𝗠𝗶𝗴𝗿𝗮𝘁𝗶𝗻𝗴 𝗔𝗜 𝗔𝗴𝗲𝗻𝘁𝘀 𝗪𝗶𝘁𝗵𝗼𝘂𝘁 𝗗𝗼𝘄𝗻𝘁𝗶𝗺𝗲 -> തടസ്സമില്ലാതെ AI ഏജന്റുകളെ മൈഗ്രേറ്റ് ചെയ്യുക

ഞാൻ രണ്ട് AI ഏജന്റുകളാണ് ഉപയോഗിച്ചിരുന്നത്: OpenClaw, Hermes.

നിശ്ചിത സമയത്തുള്ള ജോലികൾക്ക് (scheduled tasks) OpenClaw നന്നായി പ്രവർത്തിച്ചു. സങ്കീർണ്ണമായ കാര്യങ്ങൾ വിശകലനം ചെയ്യാൻ (complex reasoning) Hermes ആണ് കൂടുതൽ അനുയോജ്യം. എന്നാൽ OpenClaw-വിന് ഒരു വലിയ പോരായ്മ ഉണ്ടായിരുന്നു. ജോലികൾ വർദ്ധിക്കുമ്പോൾ അത് ടൈം ഔട്ട് (time out) ആകുകയും ജോലി പാതിവഴിയിൽ ഉപേക്ഷിക്കുകയും ചെയ്യുമായിരുന്നു. എന്നാൽ Hermes ഒരിക്കലും അങ്ങനെ ചെയ്തില്ല. അത് ജോലി ഏറ്റെടുക്കുകയും പൂർത്തിയാക്കുകയും ചെയ്യും.

എല്ലാം Hermes-ലേക്ക് മാറ്റാൻ ഞാൻ തീരുമാനിച്ചു. പെട്ടെന്നുള്ള ഒരു മാറ്റം ഞാൻ ആഗ്രഹിച്ചില്ല. പെട്ടെന്നുള്ള മാറ്റം അപകടസാധ്യതയുള്ളതാണ്. പുതിയ സിസ്റ്റം പരാജയപ്പെട്ടാൽ, എനിക്ക് നോട്ടിഫിക്കേഷനുകൾ ലഭിക്കാതെ വരും.

ഞാൻ ഒരു പാരലൽ മൈഗ്രേഷൻ സ്ട്രാറ്റജി (parallel migration strategy) ആണ് തിരഞ്ഞെടുത്തത്.

ഞാൻ OpenClaw പ്രവർത്തിപ്പിച്ചു കൊണ്ടിരുന്നു. ഒപ്പം ഒരു ഷാഡോ സിസ്റ്റം (shadow system) ആയി Hermes-ഉം ചേർത്തു. ഇത് രണ്ട് ഏജന്റുകളെയും ഒരേസമയം താരതമ്യം ചെയ്യാൻ എന്നെ സഹായിച്ചു.

എന്റെ നോട്ടിഫിക്കേഷൻ സിസ്റ്റം അല്പം കുഴപ്പത്തിലായിരുന്നു. അത് നാല് വ്യത്യസ്ത രീതികൾ ഉപയോഗിച്ചിരുന്നു:

  • Shell scripts
  • Node monitors
  • Bash helpers
  • Python scripts

ഞാൻ കോഡ് വീണ്ടും എഴുതിയില്ല. പകരം പുതിയ രീതി ഒരു കൂട്ടിച്ചേർക്കലായി (additive) മാറ്റി. ഞാൻ hermes_mirror.sh എന്ന പേരിൽ ഒരു സ്ക്രിപ്റ്റ് നിർമ്മിച്ചു. നിലവിലുള്ള ഓരോ ജോലിക്കും ഈ സ്ക്രിപ്റ്റ് ബാക്ക്ഗ്രൗണ്ടിൽ പ്രവർത്തിപ്പിക്കാൻ വേണ്ടി ഒരു വരി വീതം ഞാൻ ചേർത്തു.

ഈ രീതി മൂന്ന് ഗുണങ്ങൾ നൽകി:

  • സുരക്ഷ (Safety): മിറർ പരാജയപ്പെട്ടാലും യഥാർത്ഥ സന്ദേശം അയക്കപ്പെടും.
  • ലാളിത്യം (Simplicity): ഒരു സ്ക്രിപ്റ്റ് എല്ലാ മിററിംഗും നിയന്ത്രിക്കുന്നു.
  • നിയന്ത്രണം (Control): ഒരു വേരിയബിൾ മാറ്റുന്നതിലൂടെ എനിക്ക് എല്ലാ മിററിംഗും നിർത്താൻ കഴിയും.

പിന്നീട് സമയക്രമത്തിൽ (timing) ഞാൻ ഒരു തെറ്റ് വരുത്തി.

രണ്ട് സന്ദേശങ്ങളും ഒരേ സെക്കൻഡിൽ തന്നെ ലഭിക്കണമെന്ന് ഞാൻ ആഗ്രഹിച്ചില്ല. അത് അനാവശ്യമായ ബഹളമുണ്ടാക്കുമെന്ന് ഞാൻ കരുതി. അതിനാൽ Hermes സന്ദേശങ്ങൾക്ക് മൂന്ന് മിനിറ്റ് താമസം (delay) ഞാൻ നിശ്ചയിച്ചു.

ഞാൻ ഒരു ടെസ്റ്റ് നടത്തി. OpenClaw സന്ദേശം ലഭിച്ചു. എന്നാൽ Hermes സന്ദേശം ലഭിച്ചില്ല. സിസ്റ്റം തകരാറിലായെന്ന് ഞാൻ കരുതി.

സിസ്റ്റം തകരാറിലായതല്ല. അത് ആ മൂന്ന് മിനിറ്റ് സമയം കഴിയുന്നതുവരെ കാത്തിരിക്കുകയായിരുന്നു. ഒരു മൈഗ്രേഷനിൽ, "വൈകുന്നത്" എന്നത് "പരാജയപ്പെട്ടത്" പോലെ തോന്നും.

ഞാൻ ആ താമസം 20 സെക്കൻഡായി കുറച്ചു. സന്ദേശങ്ങൾ നഷ്ടപ്പെട്ടതായി തോന്നിക്കാതെ തന്നെ അവ തമ്മിൽ വേർതിരിച്ചു കാണിക്കാൻ ഇത് മതിയായിരുന്നു.

ഓട്ടോമേറ്റഡ് കോഡ് മാറ്റങ്ങളിലെ അപകടത്തെക്കുറിച്ചും ഞാൻ മനസ്സിലാക്കി. എന്റെ Python ഫയലുകളിൽ പുതിയ വരി ചേർക്കാൻ ഞാൻ ഒരു സ്ക്രിപ്റ്റ് ഉപയോഗിച്ചു. ഒരു ഫയൽ ഒഴികെ മറ്റെല്ലാറ്റിലും അത് ശരിയായി പ്രവർത്തിച്ചു. ആ ഫയലിന് വ്യത്യസ്തമായ ഒരു ഇംപോർട്ട് സ്ട്രക്ചർ (import structure) ആയിരുന്നു ഉണ്ടായിരുന്നത്. അത് സിസ്റ്റം ക്രാഷ് ആകാൻ കാരണമായി. സുരക്ഷിതമാണെന്ന് കരുതുന്ന ഫയലുകൾ പോലും എപ്പോഴും പരിശോധിക്കുക.

മൈഗ്രേഷൻ പൂർത്തിയായിട്ടില്ല. ഞാൻ ഓരോ ജോലിയായി മാറ്റിക്കൊണ്ടിരിക്കുകയാണ്. Hermes ഒരു ജോലി വിജയകരമായി ചെയ്യുന്നുണ്ടെന്ന് ഉറപ്പുവരുത്തിയതിന് ശേഷം മാത്രമേ ഞാൻ ഒരു OpenClaw ജോലി നിർത്തലാക്കുന്നുള്ളൂ.

ഒരു മൈഗ്രേഷൻ എന്നത് പെട്ടെന്നുണ്ടാകുന്ന ഒരു സംഭവമാകരുത്. അത് ഒരു പുതിയ സിസ്റ്റത്തിലേക്കുള്ള സുസ്ഥിരമായ യാത്രയായിരിക്കണം.

Source: https://dev.to/henry_dan_81513dd35a2f540/migrating-off-openclaw-without-downtime-and-the-offset-that-made-hermes-look-dead-2gic

ഐച്ഛികമായ പഠന കമ്മ്യൂണിറ്റി: https://t.me/GyaanSetuAi