ડાઉનટાઇમ વગર AI એજન્ટ્સનું માઈગ્રેશન

હું બે AI એજન્ટ્સ ચલાવતો હતો: OpenClaw અને Hermes.

OpenClaw શેડ્યૂલ કરેલા કાર્યો માટે સારું કામ કરતું હતું. Hermes જટિલ તર્ક (complex reasoning) માટે વધુ સારું કામ કરતું હતું. જોકે, OpenClaw માં એક મોટી ખામી હતી. જ્યારે કાર્યોનો ભાર વધતો, ત્યારે તે ટાઈમ આઉટ થઈ જતું અને કામ અધૂરું છોડી દેતું. Hermes એવું ક્યારેય કરતું નહોતું. તે કાર્યને પકડી રાખતું અને કામ પૂરું કરતું.

મેં બધું જ Hermes પર ખસેડવાનું નક્કી કર્યું. મારે અચાનક બદલાવ (sudden switch) નહોતો જોઈતો. અચાનક બદલાવ જોખમી છે. જો નવું સિસ્ટમ નિષ્ફળ જાય, તો હું મારા નોટિફિકેશન્સ ગુમાવી દઉં.

મેં સમાંતર માઈગ્રેશન વ્યૂહરચના (parallel migration strategy) પસંદ કરી.

મેં OpenClaw ચાલુ રાખ્યું. મેં Hermes ને શેડો સિસ્ટમ (shadow system) તરીકે ઉમેર્યું. આનાથી મને બંને એજન્ટ્સની બાજુ-બાજુમાં સરખામણી કરવાની મંજૂરી મળી.

મારી નોટિફિકેશન સિસ્ટમ અસ્તવ્યસ્ત હતી. તે ચાર અલગ-અલગ પદ્ધતિઓનો ઉપયોગ કરતી હતી:

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

મેં કોડ ફરીથી લખ્યો નહીં. મેં નવી ડિલિવરીને એડિટિવ (additive) બનાવી. મેં hermes_mirror.sh નામની એક સ્ક્રિપ્ટ બનાવી. મેં દરેક હાલના કાર્યમાં એક લાઇન ઉમેરી જેથી આ સ્ક્રિપ્ટ બેકગ્રાઉન્ડમાં ચાલી શકે.

આ અભિગમથી ત્રણ ફાયદા થયા:

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

પછી મેં સમય (timing) બાબતે એક ભૂલ કરી.

હું નહોતો ઈચ્છતો કે બંને સંદેશાઓ બરાબર એક જ સેકન્ડે આવે. મને લાગ્યું કે તેનાથી ઘોંઘાટ (noisy) થશે. મેં Hermes સંદેશાઓ માટે ત્રણ મિનિટનો વિલંબ (delay) સેટ કર્યો.

મેં એક ટેસ્ટ કર્યો. OpenClaw નો સંદેશ આવ્યો. Hermes નો સંદેશ ન આવ્યો. મને લાગ્યું કે સિસ્ટમ બગડી ગઈ છે.

સિસ્ટમ બગડી નહોતી. તે ફક્ત ત્રણ મિનિટના ટાઈમરની રાહ જોઈ રહી હતી. માઈગ્રેશનમાં, "મોડું થવું" એ "નિષ્ફળતા" જેવું લાગે છે.

મેં વિલંબ ઘટાડીને 20 સેકન્ડ કર્યો. સંદેશાઓ ખોવાઈ ગયા હોય તેવું લાગે વગર તેમને અલગ કરવા માટે આ પૂરતું હતું.

મેં ઓટોમેટેડ કોડ ફેરફારોના જોખમ વિશે પણ શીખ્યું. મેં મારી Python ફાઇલોમાં નવી લાઇન ઉમેરવા માટે એક સ્ક્રિપ્ટનો ઉપયોગ કર્યો. તે લગભગ બધું જ માટે કામ કરી ગયું, સિવાય કે એક ફાઇલ. તે ફાઇલમાં અલગ ઇમ્પોર્ટ સ્ટ્રક્ચર (import structure) હતું. તેના કારણે ક્રેશ (crash) થયું. હંમેશા દરેક ફાઇલ તપાસો, ભલે તે તમને સુરક્ષિત લાગતી હોય.

માઈગ્રેશન હજુ પૂરું થયું નથી. હું એક સમયે એક જ કાર્ય ખસેડી રહ્યો છું. જ્યારે હું Hermes દ્વારા સફળતાપૂર્વક ડિલિવરી થતું જોઉં, ત્યારે જ હું OpenClaw ના કાર્યને બંધ કરું છું.

માઈગ્રેશન એ કોઈ એક ક્ષણની ઘટના ન હોવી જોઈએ. તે નવા સિસ્ટમ તરફનો એક સ્થિર ચાલ હોવો જોઈએ.

સ્ત્રોત: https://dev.to/henry_dan_81513dd35a2f540/migrating-off-openclaw-without-downtime-and-the-offset-that-made-hermes-look-dead-2gic

વૈકલ્પિક લર્નિંગ કોમ્યુનિટી: https://t.me/GyaanSetuAi