Migrasi Agen AI Tanpa Downtime
Saya dulu menjalankan dua agen AI: OpenClaw dan Hermes.
OpenClaw bekerja dengan baik untuk tugas-tugas terjadwal. Hermes bekerja lebih baik untuk penalaran yang kompleks. Namun, OpenClaw memiliki kelemahan utama. Ketika tugas menjadi berat, ia akan mengalami time out dan membatalkan pekerjaan tersebut. Hermes tidak pernah melakukan ini. Ia menahan tugas tersebut dan menyelesaikan pekerjaannya.
Saya memutuskan untuk memindahkan semuanya ke Hermes. Saya tidak ingin melakukan peralihan secara mendadak. Peralihan mendadak itu berisiko. Jika sistem baru gagal, saya akan kehilangan notifikasi saya.
Saya memilih strategi migrasi paralel.
Saya tetap menjalankan OpenClaw. Saya menambahkan Hermes sebagai sistem bayangan (shadow system). Ini memungkinkan saya untuk membandingkan kedua agen secara berdampingan.
Sistem notifikasi saya berantakan. Ia menggunakan empat metode berbeda:
- Shell scripts
- Node monitors
- Bash helpers
- Python scripts
Saya tidak menulis ulang kodenya. Saya membuat pengiriman baru bersifat aditif. Saya membuat satu skrip bernama hermes_mirror.sh. Saya menambahkan satu baris ke setiap pekerjaan yang ada untuk memanggil skrip ini di latar belakang.
Pendekatan ini memberikan tiga manfaat:
- Keamanan: Jika mirror gagal, pesan asli tetap terkirim.
- Kesederhanaan: Satu skrip mengelola semua mirroring.
- Kontrol: Saya dapat menghentikan semua mirroring dengan mengubah satu variabel.
Kemudian saya membuat kesalahan dalam pengaturan waktu.
Saya tidak ingin kedua pesan tiba pada detik yang sama persis. Saya pikir itu akan mengganggu. Saya mengatur penundaan tiga menit untuk pesan-pesan Hermes.
Saya menjalankan pengujian. Pesan OpenClaw tiba. Pesan Hermes tidak tiba. Saya pikir sistemnya rusak.
Sistemnya tidak rusak. Ia hanya sedang menunggu pengatur waktu tiga menit tersebut. Dalam sebuah migrasi, "terlambat" terlihat seperti "gagal."
Saya mengurangi penundaan menjadi 20 detik. Ini sudah cukup untuk memisahkan pesan-pesan tersebut tanpa membuatnya terlihat hilang.
Saya juga belajar tentang bahaya perubahan kode otomatis. Saya menggunakan skrip untuk menyuntikkan baris baru ke dalam file Python saya. Itu berhasil untuk hampir semuanya, kecuali satu file. File tersebut memiliki struktur impor yang berbeda. Hal itu menyebabkan crash. Selalu periksa setiap file, bahkan file yang Anda pikir aman.
Migrasinya belum selesai. Saya memindahkan satu per satu pekerjaan. Saya baru akan menghentikan pekerjaan OpenClaw setelah saya melihat Hermes mengirimkannya dengan sukses.
Migrasi seharusnya bukan sebuah momen tunggal. Ia seharusnya menjadi langkah yang stabil menuju sistem baru.
Komunitas belajar opsional: https://t.me/GyaanSetuAi