تصور کنید برای فرستادن یک پیام ساده، مجبور باشید یک مرورگر کامل را در پسزمینه باز نگه دارید؛ این دقیقاً همان کابوسی است که توسعهدهندگان باتهای واتساپ با آن دستوپنجه نرم میکنند. کاهش مصرف حافظه از ۵۰۰ مگابایت به ۸۰ مگابایت برای هر نشست، نتیجهای است که با تغییر یک تصمیم معماری به دست آمده است.
طبق گزارشی که در ۳۰ اوت ۲۰۲۶ در وبسایت dev.to منتشر شد، بسیاری از برنامهنویسان در ابتدا از whatsapp-web.js استفاده میکنند. این ابزار برای شبیهسازی کاربر، یک نمونه کامل از مرورگر کرومیوم را اجرا میکند که شبیه به باز کردن یک پنجره سنگین مرورگر برای هر پیام است. اما این روش منجر به قطع شدنهای تصادفی و نشت حافظه (Memory Leak) — یعنی حالتی که برنامه حافظه را میگیرد اما پس از اتمام کار آن را آزاد نمیکند — میشود و در نهایت سرور را در ساعات پیک ترافیک از کار میاندازد.
برای حل این مشکل، توسعهدهنده مذکور به WAHA مهاجرت کرد. WAHA یک کانتینر مجزای داکر است که واتساپ وب را در لایهای داخلی مدیریت کرده و یک رابط برنامهنویسی کاربردی (REST API) — شبیه به یک پیشخوان سفارش که درخواستها را میگیرد و به آشپزخانه میبرد — در اختیار بات قرار میدهد. همانطور که در تحلیلهای قبلی ما دربارهی بهینهسازی زیرساختهای عاملمحور اشاره کردیم، جداسازی منطق برنامه از لایه اتصال، کلید مقیاسپذیری است.
تغییر فنی: اتوماسیون در برابر API
- معماری: تغییر از مدل رویداد-محور JS به مدل REST و وبهوک (Webhook).
- پایداری: افزایش نرخ پایداری (Uptime) به ۹۹.۷٪ در سه ماه اخیر، در مقایسه با ۹۲٪ در حالت قبلی.
- مقیاسپذیری: امکان اجرای ۵ کسبوکار مختلف روی یک سرور مجازی (VPS) ارزانقیمت ۱۰ دلاری در ماه.
- بازیابی: کاهش زمان راهاندازی مجدد بات به ۲ ثانیه، بدون نیاز به اسکن مجدد کد QR.
بر اساس مستندات این پروژه، نویسنده روی این لایه پایدار، یک محیط اجرای عامل به نام SARA ساخته است. SARA یک عامل (Agent) — شبیه به کارمندی دیجیتال که میتواند ابزارهای مختلف را برای انجام یک هدف به کار بگیرد — است که از طریق استنتاج (Inference) در مدلهای Groq، Cerebras و Mistral، دانش تخصصی حوزههای خردهفروشی و کلینیکها را مدیریت میکند.
این تغییر به معنای پایان عصر «نشستهای شکننده» است. وقتی رابط پیامرسان را به جای یک کتابخانه وابسته، به عنوان یک سرویس زیرساختی مجزا میبینید، میتوانید عاملهای هوش مصنوعی خود را بدون ترس از قطع شدن اتصال در ساعت ۳ صبح مقیاس کنید.
گام بعدی شما
- اگر باتهای واتساپ شما با مشکل کرش کردن مواجه است، معماری REST-based را جایگزین اتوماسیون مرورگر کنید.
- مخزن SARA در گیتهاب را برای یادگیری نحوه جداسازی کاربران (Multi-tenant isolation) در زبان TypeScript بررسی کنید.
- برای کاهش هزینههای سرور، از کانتینرهای داکر برای مدیریت نشستهای واتساپ استفاده کنید.
اما بهینهسازی حافظه تنها نیمی از مسیر است؛ برای درک نحوه افزایش سرعت پاسخدهی عاملها، تحلیل ما درباره استنتاج سریع در Groq را بخوانید.




گفتگو