𝗠𝗶𝗴𝗿𝗮𝘁𝗶𝗻𝗴 𝗔𝗜 𝗔𝗴𝗲𝗻𝘁𝘀 𝗪𝗶𝘁𝗵𝗼𝘂𝘁 𝗗𝗼𝘄𝗻𝘁𝗶𝗺𝗲

నేను OpenClaw మరియు Hermes అనే రెండు AI ఏజెంట్లను ఉపయోగించేవాడిని.

OpenClaw షెడ్యూల్ చేసిన పనులకు బాగా పనిచేసేది. Hermes సంక్లిష్టమైన రీజనింగ్ (reasoning) కోసం మెరుగ్గా పనిచేసేది. అయితే, OpenClawలో ఒక ప్రధాన లోపం ఉంది. పనులు భారంగా మారినప్పుడు, అది టైమ్ అవుట్ అయ్యి పనిని మధ్యలోనే ఆపేసేది. Hermes ఎప్పుడూ అలా చేయలేదు. అది పనిని నిలిపి ఉంచి, పూర్తి చేసేది.

నేను అన్నింటినీ Hermesకి మార్చాలని నిర్ణయించుకున్నాను. నేను అకస్మాత్తుగా మార్చాలని అనుకోలేదు. అకస్మాత్తుగా మార్చడం ప్రమాదకరం. కొత్త సిస్టమ్ విఫలమైతే, నేను నా నోటిఫికేషన్లను కోల్పోతాను.

నేను పారలల్ మైగ్రేషన్ (parallel migration) వ్యూహాన్ని ఎంచుకున్నాను.

నేను OpenClawని నడుపుతూనే ఉంచాను. Hermesని ఒక షాడో సిస్టమ్ (shadow system)గా జోడించాను. ఇది రెండు ఏజెంట్లను పక్కపక్కనే పోల్చడానికి నాకు వీలు కల్పించింది.

నా నోటిఫికేషన్ సిస్టమ్ గందరగోళంగా ఉంది. ఇది నాలుగు వేర్వేరు పద్ధతులను ఉపయోగించేది:

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

నేను కోడ్‌ను తిరిగి రాయలేదు. నేను కొత్త డెలివరీని అడిటివ్ (additive)గా మార్చాను. నేను hermes_mirror.sh అనే ఒక స్క్రిప్ట్‌ను సృష్టించాను. బ్యాక్‌గ్రౌండ్‌లో ఈ స్క్రిప్ట్‌ను పిలవడానికి ప్రతి ఉన్న జాబ్‌కు ఒక లైన్ జోడించాను.

ఈ విధానం మూడు ప్రయోజనాలను అందించింది:

  • భద్రత: ఒకవేళ మిర్రర్ విఫలమైతే, అసలు సందేశం vẫn వెళ్తుంది.
  • సరళత: ఒకే స్క్రిప్ట్ అన్ని మిర్రరింగ్‌లను నిర్వహిస్తుంది.
  • నియంత్రణ: ఒక వేరియబుల్‌ను మార్చడం ద్వారా నేను అన్ని మిర్రరింగ్‌లను ఆపివేయవచ్చు.

ఆ తర్వాత టైమింగ్‌ విషయంలో నేను ఒక తప్పు చేశాను.

రెండు సందేశాలు సరిగ్గా ఒకే సెకనులో రాకూడదని నేను అనుకున్నాను. అలా అయితే గందరగోళంగా ఉంటుందని నేను భావించాను. 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