تصور کنید یک عامل هوش مصنوعی در ساعت ۲ صبح برای بررسی داشبورد مشتری شما فعال میشود، اما با یک کپچای جدید روبهرو میشود که هرگز ندیده است. بهجای اینکه ساعتها بعد بفهمید دادهها قدیمی هستند و عامل در سکوت شکست خورده، گوشی شما زنگ میزند تا همان لحظه مشکل را حل کنید.
این رویکرد «شکست هدفمند»، BrowserAct را به رتبه اول محصولات روز در Product Hunt در ۲۵ ژوئن ۲۰۲۶ رساند. این موفقیت با آمارهای چشمگیری همراه بود: ۶۲۹ رای مثبت و جهش تعداد ستارههای گیتهاب از ۲۳۰۰ به ۳۶۰۰ مورد. در حالی که اکثر توسعهدهندگان برای حذف کامل خطاها میجنگند، BrowserAct مداخله انسانی را نه یک شکست، بلکه یک قابلیت محوری میبیند. این انتخاب طراحی نه تنها منجر به کسب رتبه ۳ در هفته شد، بلکه ۶۹ کامنت در پست سازنده برانگیخت و ثابت کرد که این ابزار میتواند محصولات شرکتهای تثبیتشده با تیمهای بسیار بزرگتر را شکست دهد. این رویکرد سریع در عرضه و تمرکز بر حل مشکل واقعی، یادآور استراتژیهایی است که در بررسی سرعت عرضه در برابر کمالگرایی در توسعه سایتهای AI تحلیل کردیم.
اتوماسیون مرورگر در سال ۲۰۲۶ به یک بازی موش و گربه بین عاملها و سیستمهای ضدبات تبدیل شده است. اکثر ابزارها بر اساس «مسیر خوشبینانه» (Happy Path) برنامهریزی میشوند؛ یعنی عامل یا موفق میشود یا بهطور ناگهانی و بدون خبر متوقف میشود. همانطور که در تحلیل قبلی ما دربارهی ابزارهای رشد سریع مثل Stormchaser اشاره کردیم، موفقیت BrowserAct از حل مشکل «پوسیدگی خاموش» (Silent Rot) میآید؛ مشکلی که جریانهای کاری استخراج داده و محیطهای عاملمحور (Agentic) در محیط عملیاتی را تخریب میکند.
واقعیت اتوماسیون مرورگر در سال ۲۰۲۶
وضعیت فعلی صنعت از طریق نقاط درد خاصی که توسعهدهندگان با آن مواجهاند، آشکار میشود. بررسی رشتهتوی Product Hunt نشان میدهد که جامعه کاربران از ابزارهای موجود ضربه خوردهاند. توسعهدهندگان دیگر به دنبال ویژگیهای ساده نیستند، بلکه درباره بقا در محیطهای متخاصم وب میپرسند. اینها درخواستهای ساده برای ویژگی جدید نیستند، بلکه زخمهای توسعهدهندگانی هستند که قبلاً شکست خوردهاند. این چالشها مشابه موانعی است که Browse.sh برای رهایی از وابستگی به رابطهای گرافیکی در اتوماسیون وب با آنها دست و پنجه نرم میکرد.
دغدغههای کلیدی مطرح شده توسط جامعه کاربران عبارتند از:
- تغییر لنگرهای معنایی (Semantic Re-anchoring): دیوید پرسید: «آیا BrowserAct وقتی DOM تغییر میکند (Drift)، عناصر را بهصورت معنایی دوباره لنگر میاندازد؟»
- جایگاه رقابتی: گال دایان سوال کرد: «در کجاست که BrowserAct نسبت به Browser Use و Browserbase برتری مییابد؟»
- پوسیدگی کپچا (CAPTCHA Decay): کوان تسوی اشاره کرد که نرخ حل کپچاها بهسرعت کاهش مییابد و پرسید: «چگونه مدیریت کپچا را در طول زمان حفظ میکنید؟»
- بلاکهای نرم خاموش (Silent Soft-blocks): دی پانکار سارکار به مشکلی اشاره کرد که در آن سایتها بهجای نمایش خطا، محتوای تخریب شده یا قدیمی ارائه میدهند و پرسید: «چگونه با بلاکهای نرم خاموش برخورد میکنید؟»
- پایداری نشست (Session Persistence): آرت استاوکا پرسید: «آیا وضعیت نشست (Session State) در صورت تغییر مکان یا IP در میانهی جریان کاری، زنده میماند؟»
اینها شکستهای سیستمی در پارادایم فعلی اتوماسیون هستند. برای معمار ابری مانند Sarvar، که این ابزار را بهمدت شش هفته در محیط عملیاتی برای نظارت بر داشبوردها و استخراج داده از صفحات محافظتشده با Cloudflare اجرا کرده است، این سوالات دقیقاً همان موانع عملیاتی دنیای واقعی هستند. تجربه Sarvar شامل اجرای عاملهایی است که باید سایتهای واقعی را پشت دیوارهای Cloudflare و صفحات ورود (Login walls) پیمایش کنند.
مکانیسم دفاعی سهلایه
BrowserAct رویکرد «اثرانگشت بگیر و دعا کن» را با یک مدل ارتقای لایهای جایگزین کرده است. طبق گزارش عملیاتی Sarvar، سیستم شکستها را به این ترتیب مدیریت میکند:
- لایه محیطی (Environment Layer): این خط اول دفاع است. از اثرانگشتها (Fingerprints)، چرخش TLS، پچ کردن Navigator و پنهانسازی حالت headless برای دور زدن شناسایی اولیه استفاده میکند. در تستهای واقعی روی سایتهایی مانند nowsecure.nl و شناسگرهای بات Cloudflare در طول چندین هفته، این لایه ۹۰٪ موارد را مدیریت کرد. لایه محیطی از هفته اول تا پایان تستها در سایتهای مورد بررسی افت کیفیت نداشته است.
- لایه اجرایی (Execution Layer): زمانی که لایه محیطی دور زده شود اما یک چالش (Challenge) صادر شود، این لایه بهطور خودکار کپچاهایی مانند reCAPTCHA، Turnstile و DataDome را حل میکند.
- لایه انسانی (Human Layer): وقتی اتوماسیون نمیتواند چالش را حل کند، یک انسان میتواند بهصورت زنده از طریق «کمک از راه دور» (Remote-assist) وارد شود. این تضمین میکند که نشست هرگز بهطور دائمی مسدود نشود.

ساروار اشاره میکند که در شش هفته اجرای چند صد درخواست در روز (نه دهها هزارتا)، هیچ نشستی بهطور دائمی مسدود نشده است. اگر لایه ۱ شکست بخورد، لایه ۲ آن را میگیرد. اگر لایه ۲ هم شکست بخورد، انسان وارد میشود. این در تضاد با ابزارهایی مثل Puppeteer است که در آنها شناسایی اثرانگشت معمولاً به معنای مرگ نشست بدون هیچ جایگزینی است.
حل مشکل تحویل به انسان (Human Handoff)
ابزارهای سنتی اغلب با یک دیوار کپچا یا تایید دو مرحلهای (2FA) به عنوان یک رویداد پایاندهنده نشست برخورد میکنند. BrowserAct این موضوع را از طریق یک URL کمک از راه دور مدیریت میکند. وقتی عامل به دیوار ورود میرسد، تابع remote-assist را فراخوانی کرده و یک لینک تولید میکند. یک انسان میتواند این لینک را در دستگاه موبایل باز کند، 2FA را تکمیل کرده و تب را ببندد. سپس عامل از همان وضعیت نشست، کوکیها و موقعیت دقیق صفحه، فعالیت خود را از سر میگیرد.



این مکانیسم یک بازیابی دستی ۴۰ ثانیهای (در تلاش اول) را به یک جریان کاری زیر ۱۵ ثانیه تبدیل میکند. این امر تضمین میکند که نشستهای احرازشده، مانند داشبوردهای Grafana مشتریان، برای روزها باقی بمانند. برای مثال، نشستی که دوشنبه تایید شده بود، چهارشنبه بدون نیاز به ورود مجدد فعال بود. در Playwright، یک توسعهدهنده معمولاً باید کوکیها را سریالایز کرده و کانتکست را از ابتدا بسازد؛ اما اینجا، نشست فقط منتظر میماند.
نکته حیاتی این است که ابزار از تله «DOM قدیمی» (Stale DOM) میپرهیزد. همانطور که مجی (Maggie) از تیم BrowserAct در Product Hunt توضیح داد: «ما صفحه بعد از تحویل را به عنوان منبع حقیقت جدید در نظر میگیریم، بهجای اینکه سعی کنیم فرضیات قدیمی DOM را بازپخش کنیم.» وقتی یک انسان ورود به گیتهاب را دستی تکمیل میکند، عامل صفحه فعلی را به عنوان حقیقت جدید میخواند و خطاهای «عنصر پیدا نشد» و ارجاعات قدیمی حذف میشوند.
زیرساخت محلی-اول و بهرهوری هزینه
برخلاف Browserbase که نشستها را در ابر اجرا میکند، BrowserAct روی دستگاه محلی یا سرور بدون رابط گرافیکی (Headless) کاربر اجرا میشود. این تضمین میکند که نشستهای احرازشده و دادههای حساس مشتری هرگز زیرساخت محلی را ترک نمیکنند. برای معمارانی که حسابهای AWS مشتری و داشبوردهای داخلی را مدیریت میکنند، این رویکرد local-first یک الزام امنیتی غیرقابل مذاکره است. ساروار این ابزار را روی یک سرور لینوکس، بهصورت headless و بدون نیاز به نمایشگر اجرا کرد.

این معماری همچنین یک فرمت خروجی «عامل-محور» (Agent-native) را ممکن میکند. بهجای ارسال HTML خام — که مانند یک «سوپ DOM» عمل کرده و مقادیر عظیمی از توکنها را مصرف میکند — BrowserAct متنی پاک و نمایهشده شامل عناصر شمارهگذاری شده ارائه میدهد که عامل میتواند روی آنها عمل کند. این کار مارکآپها را حذف کرده و فقط آنچه را که عامل نیاز دارد به او میدهد.

ساروار اندازهگیری کرد که HTML خام میتواند ۳ تا ۵ برابر بیشتر از این خروجی نمایهشده توکن بسوزاند. در چند نشست در روز، این هزینه ناچیز است، اما در صدها نشست، این به معنای پول واقعی است. هر توکنی که یک عامل برای تجزیه و تحلیل سوپ DOM هزینه میکند، توکنی است که نمیتواند برای حل مشکل اصلی صرف کند.
عملکرد و مقیاس عملیاتی
BrowserAct بهجای یک پروژه جانبی، به عنوان یک زیرساخت معرفی شده است. مقیاس پلتفرم با اعداد قابل توجهی پشتیبانی میشود:
- حجم: بیش از ۵۰۰ میلیون صفحه اتوماتیک و ۱۰ میلیون کپچای حل شده.
- همزمانی (Concurrency): بیش از ۱۰ هزار نشست همزمان در پلتفرم.
- اعتبار: امتیاز ۴.۸ از ۵ در G2.
- اکوسیستم: موجود در AWS Marketplace با همکاریهای استراتژیک با AWS، Azure و GCP.

اطمینان از اینکه ابزار ناپدید نخواهد شد، برای قراردادهای عملیاتی که در سه ماهه چهارم (Q4) تمدید میشوند، حیاتی است. با این حال، این قابلیتهای پنهان (Stealth) هزینههایی دارند. چون مرورگر باید یک محیط کاربر واقعی را شبیهسازی کند، زمان استارتآپ کندتر از نمونههای خام Puppeteer است. راهاندازی یک مرورگر Stealth چند ثانیه زمان میبرد، در حالی که Chrome خام تقریباً آنی است. برای تکوظیفهها این قابل قبول است، اما برای حلقههای تنگ که نیاز به پاسخ زیر یک ثانیه دارند، این تاخیر محسوس است.
کاربران همچنین گزارش میدهند که پیامهای خطا — بهویژه در مورد پیکربندی پروکسی یا تداخل نامهای نشست — میتوانند بسیار کوتاه و مبهم باشند. برای مثال، تداخل نام نشست (که نیاز به نامهای منحصر به فرد جهانی حتی در بین مرورگرهای مختلف دارد) ممکن است فقط یک خطای کلی «نشست ایجاد نشد» برگرداند. در یک مورد، حل این تداخل نیاز به ۱۰ دقیقه جستجو در مستندات داشت.
قیمتگذاری و پیادهسازی
ادغام با سیستم از طریق یک CLI انجام میشود؛ این یعنی هر عاملی که قادر به اجرای دستورات شل است (مانند Claude Code، Cursor یا Kiro) میتواند بدون نیاز به SDK اختصاصی، کتابخانه پایتون یا اتصال WebSocket، آن را هدایت کند. این ادغام تقریباً ۵ دقیقه زمان میبرد. در دنیایی که توسعهدهندگان هر چند ماه یکبار عامل خود را عوض میکنند، این رویکرد CLI-first از وابستگی به یک فریمورک خاص (Lock-in) جلوگیری میکند.
ساختار قیمتگذاری مبتنی بر اعتبار (Credit) به شرح زیر است:
- راهاندازی مرورگر Stealth: حدود ۱۰۰ اعتبار (تقریباً ۰.۰۶۴ دلار برای هر مرورگر)
- گامهای جریان کاری (Workflow step): حدود ۵ اعتبار (تقریباً ۰.۰۰۳ دلار برای هر گام)
- ترافیک پروکسی: ۵۰۰۰ اعتبار برای هر گیگابایت (تقریباً ۳.۲۰ دلار برای هر گیگابایت)
در حالی که یک لایه رایگان اتوماسیون پایه Chrome را بدون نیاز به ثبتنام پوشش میدهد، کاربران با حجم بالا که صدها نشست همزمان با پروکسیهای پویا اجرا میکنند، باید بودجه خود را با دقت تخمین بزنند. ذکر شده است که برای جمعآوری دادههای با فرکانس بالا در مقیاس عظیم، این ابزار ممکن است در مقایسه با ابزارهای سادهتر استخراج داده که نیاز به ضد-شناسایی ندارند، بیش از حد (Overkill) باشد. اگر یک سایت API دارد، آن مسیر همچنان ترجیحی است.
تغییر در منطق اتوماسیون
این تغییر از «اتوماسیون کامل» به «مدیریت شکست»، نحوه طراحی جریانهای کاری توسط توسعهدهندگان را تغییر میدهد. معماران سیستم با اعتماد به این موضوع که موارد استثنایی (Edge cases) بهجای کرش خاموش، یک اعلان (Ping) صادر میکنند، میتوانند از برنامهریزی فقط برای مسیرهای ایدهآل دست کشند و اعتماد کنند که سیستم بهطور خاموش نمیشکند. این تضاد میان ابزارهای ویروسی و زیرساختی، ما را به یاد شکست برخی ابزارهای AI با وجود استفادههای اولیه زیاد میاندازد، جایی که تداوم کاربردی فدای هایپ اولیه شد.
سناریوی ساعت ۲ صبح را در نظر بگیرید: داشبورد نظارتی یک مشتری هشدار میدهد؛ یک عامل سعی میکند آن را بررسی کند اما با یک نوع کپچای جدید مواجه میشود که قبلاً ندیده است. بهجای شکست خاموش — که منجر به کشف دادههای قدیمی در ۶ ساعت بعد میشد — سیستم به گوشی کاربر پیام میدهد. کپچا در حالی که کاربر نیمهواب است حل میشود و عامل فوراً ادامه میدهد.
برای کسانی که پورتالهای امنیتی سازمانی یا عملیاتهای چند-حسابی را مدیریت میکنند، مدل ایزولاسیون از نشت کوکیها و تداخل اثرانگشتها جلوگیری میکند. هر نشست از طریق چندین پروفایل مرورگر بهطور همزمان، هویت خاص خود را میگیرد. این امر از شکستهای بحرانی اعتماد مرتبط با اثرانگشتهای مشترک بین مشتریان مختلف جلوگیری کرده و ایزولاسیون نشست را به عنوان یک استراتژی مدیریت ریسک میبیند.
اگر در حال ساخت عاملهایی هستید که باید با پورتالهای محافظتشده تعامل داشته باشند، گام منطقی بعدی این است که ارزیابی کنید آیا استک فعلی شما «بلاکهای نرم خاموش» را — جایی که سایتها بهجای خطا، محتوای قدیمی میدهند — مدیریت میکند یا خیر. اگرچه ساروار اشاره میکند که شخصاً با این سناریو مواجه نشده و نمیداند آیا شناسایی آن در سطح پلتفرم وجود دارد یا خیر، اما طراحی اصلی — اتوماتیک کردن آنچه کار میکند، درخواست کمک هنگام گیر کردن و بازگشت به همان وضعیت — نشاندهنده یک تغییر محوری در معماری عاملمحور است.




گفتگو