Kesinti Olmadan AI Ajanlarını Taşımak

Eskiden iki AI ajanı çalıştırıyordum: OpenClaw ve Hermes.

OpenClaw zamanlanmış görevler için iyi çalışıyordu. Hermes ise karmaşık muhakeme süreçlerinde daha başarılıydı. Ancak OpenClaw'ın büyük bir kusuru vardı. Görevler ağırlaştığında zaman aşımına uğruyor ve işi yarıda bırakıyordu. Hermes bunu hiç yapmazdı. Görevi tutar ve işi bitirirdi.

Her şeyi Hermes'e taşımaya karar verdim. Ani bir geçiş yapmak istemiyordum. Ani geçişler risklidir. Eğer yeni sistem hata verirse, bildirimlerimi kaybederim.

Paralel bir taşıma stratejisi seçtim.

OpenClaw'ı çalıştırmaya devam ettim. Hermes'i bir gölge sistem olarak ekledim. Bu, her iki ajanı yan yana karşılaştırmama olanak sağladı.

Bildirim sistemim karmaşıktı. Dört farklı yöntem kullanıyordu:

  • Shell script'leri
  • Node monitörleri
  • Bash yardımcıları
  • Python script'leri

Kodu yeniden yazmadım. Yeni teslimatı eklemeli hale getirdim. hermes_mirror.sh adında bir script oluşturdum. Mevcut her bir işe, bu script'i arka planda çağırması için tek bir satır ekledim.

Bu yaklaşım üç fayda sağladı:

  • Güvenlik: Eğer yansıtma başarısız olursa, orijinal mesaj yine de gönderilir.
  • Basitlik: Tüm yansıtma işlemlerini tek bir script yönetir.
  • Kontrol: Tek bir değişkeni değiştirerek tüm yansıtma işlemlerini durdurabilirim.

Sonra zamanlama konusunda bir hata yaptım.

İki mesajın tam olarak aynı saniyede gelmesini istemiyordum. Bunun gürültü yaratacağını düşündüm. Hermes mesajları için üç dakikalık bir gecikme ayarladım.

Bir test yaptım. OpenClaw mesajı geldi. Hermes mesajı ise gelmedi. Sistemin bozulduğunu sandım.

Sistem bozulmamıştı. Sadece üç dakikalık zamanlayıcının dolmasını bekliyordu. Bir taşıma sürecinde "geç kalmak", "başarısız olmak" gibi görünür.

Gecikmeyi 20 saniyeye indirdim. Bu, mesajların kaybolmuş gibi görünmesini engellerken onları birbirinden ayırmak için yeterliydi.

Ayrıca otomatik kod değişikliklerinin tehlikesi hakkında bir şey öğrendim. Python dosyalarıma yeni satırı enjekte etmek için bir script kullandım. Bir dosya hariç hemen hemen her şey için işe yaradı. O dosya farklı bir import yapısına sahipti ve çökmesine neden oldu. Güvenli olduğunu düşündüğünüz dosyalar dahil her dosyayı her zaman kontrol edin.

Taşıma işlemi henüz bitmedi. Her seferinde tek bir işi taşıyorum. Bir OpenClaw işini, ancak Hermes'in onu başarıyla ilettiğini gördükten sonra devreden çıkarıyorum.

Bir taşıma işlemi tek bir an olmamalıdır. Yeni bir sisteme doğru istikrarlı bir yürüyüş olmalıdır.

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

İsteğe bağlı öğrenme topluluğu: https://t.me/GyaanSetuAi