আমার Cron 'OK' বললেও কিছুই করেনি
গত মঙ্গলবার, আমার OpenClaw এজেন্ট একটি সিকিউরিটি অডিট চালিয়েছিল।
ড্যাশবোর্ডে সবুজ আলো দেখাচ্ছিল। সেখানে স্ট্যাটাস দেখাচ্ছিল: ok। কোনো এরর বা অ্যালার্ট ছিল না।
কিন্তু এজেন্ট কিছুই করেনি।
টাস্ক চলাকালীন এজেন্টটি ক্র্যাশ করেছিল। একটি MiniMax overload error ঘটেছিল। বাইরের ফ্রেমওয়ার্কটি এটি ধরতে পারেনি। এজেন্ট ব্যর্থ হওয়া সত্ত্বেও ফ্রেমওয়ার্কটি কাজটির সফল সমাপ্তি দেখেছে।
আমি তিন দিন পর যখন ম্যানুয়ালি সেশন ট্রান্সক্রিপ্ট চেক করলাম, তখন এই এররটি খুঁজে পেলাম।
এই ধরণের সাইলেন্ট ক্র্যাশগুলো খুঁজে বের করার জন্য আমার একটি উপায়ের প্রয়োজন ছিল। এটি সমাধান করতে আমি ৩০ লাইনের একটি রিভিউ স্ক্রিপ্ট তৈরি করেছি।
সমস্যা
ফ্রেমওয়ার্কগুলো নেটওয়ার্ক টাইমআউট এবং অথেন্টিকেশন (auth) ফেইলর শনাক্ত করতে পারে। কিন্তু একটি এজেন্ট টার্নের ভেতরে কী ঘটছে তা তারা শনাক্ত করতে পারে না। যখন একটি সাব-এজেন্ট ক্র্যাশ করে, সিস্টেমটি প্রায়শই একটি নির্দিষ্ট মেসেজ তৈরি করে: "[assistant turn failed before producing content]"।
ফ্রেমওয়ার্কের কাছে এটি একটি সাধারণ মেসেজ বলে মনে হয়। স্ট্যাটাস "ok" হিসেবেই থাকে। এটি একটি সাইলেন্ট ফেইলর (silent failure)। এটি খুঁজে বের করা সবচেয়ে কঠিন ধরণের এরর।
সমাধান
আমি শুধুমাত্র স্ট্যাটাস কোড চেক করার পরিবর্তে আসল ট্রান্সক্রিপ্ট কন্টেন্ট চেক করার জন্য একটি স্ক্রিপ্ট যোগ করেছি।
স্ক্রিপ্টটি সেই নির্দিষ্ট ফেইলর স্ট্রিংটি খোঁজে। এটি টেক্সট থেকে সঠিক এরর মেসেজটি বের করার জন্য একটি regular expression-ও ব্যবহার করে।
এটি স্ক্রিপ্টটিকে আসল কারণ দেখাতে সাহায্য করে, যেমন:
- overloaded_error
- rate_limit_exceeded
- context_length_exceeded
একবার এরর ডিটেইলস দেখার পর, আমি মূল কারণটি খুঁজে পেলাম। একটি মডেল ফলব্যাক চেইনের কারণে এই ক্র্যাশগুলো ঘটছিল। আমি সেই ফ্রি ফলব্যাক মডেলটি সরিয়ে ফেলেছি যা ক্যাসকেডিং ফেইলর (cascading failures) ঘটাচ্ছিল। এটি সরিয়ে ফেলার ফলে আমার ক্রনগুলো আরও দ্রুত এবং নির্ভরযোগ্য হয়ে উঠেছে।
ফলাফল
স্ক্রিপ্টটি এখন প্রতি রাতে চলে। এটি আগের দিনের ট্রান্সক্রিপ্টগুলো চেক করে। যদি এটি কোনো সাইলেন্ট ক্র্যাশ খুঁজে পায়, তবে এটি আমার Telegram-এ একটি অ্যালার্ট পাঠায়।
আমি এখন আর এরর খুঁজে পেতে দিনের পর দিন অপেক্ষা করি না। আমি প্রতিদিন সকালে সেগুলো দেখতে পাই।
শিক্ষা
একটি সবুজ ড্যাশবোর্ড মানেই এই নয় যে আপনার এজেন্ট কাজ করেছে। ফ্রেমওয়ার্ক স্ট্যাটাস এবং এজেন্টের আউটপুট সম্পূর্ণ আলাদা জিনিস।
আপনি যদি অটোমেটেড এজেন্ট চালান, তবে শুধুমাত্র স্ট্যাটাস কোডের ওপর নির্ভর করবেন না। ট্রান্সক্রিপ্টগুলো চেক করুন। আপনার হয়ে ট্রান্সক্রিপ্ট চেক করার জন্য একটি টুল তৈরি করুন। সাইলেন্ট ফেইলরগুলোই সবচেয়ে বেশি ক্ষতি করে।
ঐচ্ছিক লার্নিং কমিউনিটি: https://t.me/GyaanSetuAi