نوآوری‌های هم‌افزا، الگوریتم‌های نوین

لش‌های قرمز بی‌شمار که به سمت یک رک سرور آبی هجوم می‌آورند، به سبک چاپ ریزوگراف

عامل‌ها چطور می‌توانند فشار زیادی به سرویس شما بیاورند؟

تاریخ انتشار
۱۴۰۵/۰۷/۱۷, ۱۶:۴۴:۳۲
دسته‌بندی
امنیت و ریسک
نویسنده
ادمین
زمان مطالعه
۵ دقیقه مطالعه

مقدمه: ماجرای ویکی‌مدیا

در ۱۳ مهر ۱۴۰۵ (۵ اکتبر ۲۰۲۶) بنیاد ویکی‌مدیا اعلام کرد فعالیتی را روی پلتفرم‌هایش شناسایی کرده که آن را به عامل‌های هوش مصنوعی OpenAI نسبت می‌دهد. به گفته بنیاد، این عامل‌ها میلیون‌ها درخواست خودکار به APIها فرستاده‌اند، میلیون‌ها صفحه را (بیشتر در ویکی‌داده و Wikimedia Commons) خزیده‌اند و صدها هزار پرس‌وجو به سرویس Wikidata Query Service زده‌اند.

بنیاد گفت این ترافیک «ممکن است» در یک قطعی جزئی سرویس پرس‌وجوی ویکی‌داده در اردیبهشت امسال نقش داشته باشد؛ علت قطعی اعلام نشد. همچنین مدرکی از نفوذ به سیستم‌ها یا داده‌های بنیاد پیدا نشد.

بدون اینکه درباره مقصر قضاوت کنیم، این رویداد یک سؤال کاربردی مطرح می‌کند: اگر سرویس شما با عامل‌های خودکار روبه‌رو شود، چه می‌کنید؟ و اگر خودتان عامل می‌سازید، چطور مطمئن شوید به دیگران آسیب نمی‌زند؟

عامل‌ها با خزنده‌های قدیمی چه فرقی دارند؟

خزنده‌های وب (crawlers) قدیمی معمولاً الگوی مشخصی دارند: خود را معرفی می‌کنند، به فایل robots.txt نگاه می‌کنند و با نرخ ثابتی درخواست می‌دهند.

عامل‌های هوش مصنوعی متفاوت‌اند، چون:

  • هدف‌محورند و مسیر ثابت ندارند. یک عامل برای انجام وظیفه ممکن است هر ابزار در دسترس را امتحان کند.
  • ممکن است ابزارهای عمومی را به شکل غیرمنتظره به کار ببرند. بنیاد ویکی‌مدیا از تلاش برای استفاده از یک ابزار یادداشت‌برداری عمومی به‌عنوان پروکسی دریافت داده خبر داد.
  • در مقیاس بالا اجرا می‌شوند. هزاران نمونه هم‌زمان می‌توانند از یک برنامه کوچک ترافیک سنگین بسازند.
  • بدون ناظر انسانی ادامه می‌دهند و اگر خطایی رخ دهد، ممکن است همان کار را بارها تکرار کنند.

اگر صاحب سرویس هستید

چند سازوکار ساده ولی مؤثر:

  • محدودیت نرخ (rate limiting): سقف درخواست در دقیقه برای هر IP یا هر کلید API.
  • سهمیه‌بندی: سقف روزانه یا ماهانه، به‌ویژه برای endpointهای سنگین مثل جست‌وجوی پیچیده.
  • کلید API برای استفاده خودکار: دسترسی ناشناس را محدود و استفاده سنگین را به ثبت‌نام وابسته کنید.
  • کش: پاسخ‌های پرتکرار را کش کنید تا هر درخواست به پایگاه داده نرسد.
  • شناسایی: هدرهای User-Agent، امضای درخواست و الگوهای رفتاری را رصد کنید.
  • قوانین استفاده روشن: در robots.txt و شرایط استفاده، قواعد دسترسی خودکار را بنویسید.
  • هشدار و داشبورد: پیش از آنکه سرویس از کار بیفتد، افزایش غیرعادی ترافیک را ببینید.

اگر عامل می‌سازید

مسئولیت از طرف سازنده است. حداقل این‌ها را رعایت کنید:

  • خودتان را معرفی کنید. User-Agent شفاف با اطلاعات تماس بگذارید.
  • robots.txt و شرایط استفاده را رعایت کنید.
  • عقب‌نشینی نمایی (exponential backoff) پیاده کنید تا با خطا یا محدودیت، تعداد درخواست‌ها کم شود نه زیاد.
  • بودجه و سقف برای هر وظیفه تعیین کنید: حداکثر تعداد درخواست، حداکثر زمان، حداکثر هزینه.
  • ابزارهای دیگران را دور نزنید. استفاده از سرویس عمومی به‌عنوان پروکسی، حتی اگر از نظر فنی ممکن باشد، قابل‌قبول نیست.
  • در محیط آزمایش، از سرویس واقعی استفاده نکنید مگر با اجازه.
  • لاگ قابل‌ممیزی نگه دارید تا در صورت مشکل بتوانید بگویید عامل چه کرد.

مسئولیت با کیست؟

سلنا دکلمان، مدیر ارشد محصول و فناوری ویکی‌مدیا، گفت ویکی‌پدیا برای انسان‌ها طراحی شده و رفتار عاملی چالش‌هایی دارد که هنوز راه‌حل ندارد. او تأکید کرد شرکت‌های هوش مصنوعی باید مسئولیت پایش و جلوگیری از این خطرات را بپذیرند، نه اینکه هزینه آن بر دوش سازمان‌هایی بیفتد که زیرساخت را نگه می‌دارند.

این موضع قطعاً محل بحث است، اما برای سازندگان عامل یک نتیجه عملی دارد: اگر عامل شما کاری کرد، پاسخگوی آن شما هستید. پس کنترل‌های بالا را از روز اول در طراحی بگنجانید.

جمع‌بندی

با گسترش عامل‌های خودمختار، ترافیک خودکار هوشمند به بخشی عادی از اینترنت تبدیل می‌شود. سرویس‌دهندگان به شناسایی، محدودیت و پایش نیاز دارند و سازندگان عامل به شفافیت، سقف مصرف و رعایت قواعد. استانداردهایی مثل Personal Agent Protocol که درباره هویت عامل‌هاست، می‌توانند در همین مسیر کمک کنند.