Kuhamisha AI Agents Bila Downtime

Nilikuwa nikitumia AI agents wawili: OpenClaw na Hermes.

OpenClaw ilifanya kazi vizuri kwa kazi zilizopangwa. Hermes ilifanya kazi vizuri zaidi kwa uwezo wa kufikiri tata. Hata hivyo, OpenClaw ilikuwa na kasoro kubwa. Kazi zilipozidi uzito, ilikuwa inachukua muda mrefu sana (time out) na kuacha kazi hiyo. Hermes haikuwahi kufanya hivi. Ilishikilia kazi na kuimaliza.

Niliamua kuhamisha kila kitu kwenda kwa Hermes. Sikutaka mabadiliko ya ghafla. Mabadiliko ya ghafla ni hatari. Ikiwa mfumo mpya utafeli, nitapoteza arifa zangu.

Nilichagua mkakati wa uhamisho wa sambamba (parallel migration strategy).

Niliendelea kuendesha OpenClaw. Nikaongeza Hermes kama mfumo wa kivuli (shadow system). Hii iliniwezesha kulinganisha aina zote mbili za agents bega kwa bega.

Mfumo wangu wa arifa ulikuwa uliovurugika. Ulitumia njia nne tofauti:

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

Sikuandika upya kodi. Nilifanya utoaji mpya uwe wa kuongeza (additive). Nilitengeneza script moja iliyoitwa hermes_mirror.sh. Nikaongeza mstari mmoja kwenye kila kazi iliyopo ili kuita script hii kwa nyuma.

Mtazamo huu ulitoa faida tatu:

  • Usalama: Ikiwa mfano (mirror) utafeli, ujumbe wa asili bado utatumwa.
  • Urahisi: Script moja inasimamia mirroring yote.
  • Udhibiti: Naweza kusitisha mirroring yote kwa kubadilisha variable moja.

Kisha nikafanya kosa la muda (timing).

Sikutaka ujumbe huo miwili ufike kwa sekunde moja ile ile. Nilidhani ingekuwa na kelele nyingi. Niliweka ucheleweshaji wa dakika tatu kwa ujumbe wa Hermes.

Nilifanya jaribio. Ujumbe wa OpenClaw ulifika. Ujumbe wa Hermes haukufika. Nilidhani mfumo ulikuwa umeharibika.

Mfumo haukuwa umeharibika. Ulikuwa unangoja tu muda wa dakika tatu. Katika uhamisho, "kuchelewa" huonekana kama "kufeli."

Nilipunguza ucheleweshaji hadi sekunde 20. Hii ilitosha kutenganisha ujumbe bila kuwafanya waonekane kama yamepotea.

Pia nilijifunza kuhusu hatari ya mabadiliko ya kodi ya kiotomatiki. Nilitumia script kuingiza mstari mpya kwenye faili zangu za Python. Ilifanya kazi kwa karibu kila kitu, isipokuwa faili moja. Faili hiyo ilikuwa na muundo tofauti wa import. Ilisababisha mfumo kusimama (crash). Kila wakati kagua kila faili, hata zile unazozifikiri ni salama.

Uhamisho haujamalizika. Ninahamisha kazi moja baada ya nyingine. Ninaondoa kazi ya OpenClaw pale tu ninapoona Hermes imeifikisha kwa mafanikio.

Uhamisho haupaswi kuwa tukio la mara moja. Unapaswa kuwa hatua thabiti kuelekea mfumo mpya.

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

Jumuiya ya kujifunza ya hiari: https://t.me/GyaanSetuAi