آیا URL تو پرامپت، خروجی مدل رو عوض میکنه؟
خلاصهٔ کاملتر
نویسنده این تحقیق میگه ایدهش از اینجا شروع شده که تو پرامپتهای ابزارهای ایجنتی، صرف اومدن اسم یه تکنولوژی مثل React بهنظر میرسیده خروجی رو به سمت همون تکنولوژی میکشونه. سؤال اصلی این بوده که آیا یه URL هم همین اثر رو داره: آیا مدل بر اساس محتوای واقعی پشت اون لینک، یا حتی فقط شکل ظاهری خود متن URL، جوابش عوض میشه؟
برای تست این موضوع، نویسنده یه سیستم ساخته که چندتا مدل رو با انواع مختلف URL امتحان میکنه: توضیح ساده بدون URL، فقط یه URL مبهم (مثل شناسهی عددی صفحات ChromeStatus)، URL بههمراه توضیح، متن کامل صفحه، و چندتا کنترل مثل یه URL جعلی یا یه URL واقعی ولی بیربط. نتیجهی اولیه این بوده که URLهای مبهم مثل شناسههای عددی ChromeStatus تقریباً هیچ اثری ندارن، در حالی که خیلی از URLهای دیگه اثر خیلی خوبی داشتن.
بررسی دقیقتر نشون داده که ChromeStatus یه اپلیکیشن جاوااسکریپتیه و خزندههایی مثل ClaudeBot و GPTBot که جاوااسکریپت رو اجرا نمیکنن، فقط یه پوستهی HTML تقریباً خالی از این صفحات میگیرن، نه محتوای واقعی فیچر. نویسنده همین الگو رو تو یه صفحهی clinicaltrials.gov هم دیده: نسخهی قدیمی این صفحه سمت سرور رندر میشده و کامل تو Common Crawl بوده، ولی بعد از مهاجرت به یه اپلیکیشن تکصفحهای جاوااسکریپتی، نسخهی جدیدش تقریباً خالیه. با اینحال، چون نسخهی قدیمی زمانی که هنوز سمت سرور رندر میشده تو دیتای آموزشی جا افتاده، مدلها هنوز حدود نصف مواقع میتونن این صفحه رو تشخیص بدن.
در مقابل، شناسههای معروف و پرارجاع مثل مقالهی معروف arXiv «Attention Is All You Need»، RFCهای کلاسیک، یا CVEهای شناختهشده مثل Heartbleed، حتی فقط از روی URL خام هم بهخوبی بازیابی میشن، چون این شناسهها بههمراه محتواشون بهقدر کافی تو دیتای آموزشی تکرار شدن که تو وزنهای مدل حک بشن. نویسنده تأکید میکنه این یه طیفه نه یه سوییچ روشن/خاموش: هرچی شناسه معروفتر باشه، بازیابی بهتره، و برای موارد گمنامتر تقریباً به صفر میرسه.
آزمایش دوم و شاید جالبتر این بوده که آیا صرف حضور یه URL تو پرامپت، بدون اینکه از مدل خواسته بشه ازش استفاده کنه، خروجی رو کج میکنه یا نه. نویسنده تو یه پرامپت خنثی (پیشنهاد یه حادثهی امنیتی برای یه سخنرانی)، یه لینک بیربط بهعنوان «یه تب که الان بازه» جا داده. نتیجه این بوده که گذاشتن یه CVE معروف، احتمال انتخاب همون موضوع رو از حدود ۷ درصد به ۴۵ درصد رسونده، و گذاشتن اسم توصیفی همون آسیبپذیری (بهجای لینک) این عدد رو به ۸۳ درصد رسونده؛ در حالی که یه لینک تصادفی و بیربط تقریباً هیچ اثری نداشته.
نویسنده همچنین با ساختن یه سایت ردیاب، ترافیک چندتا خزندهی معروف رو بررسی کرده: ClaudeBot فایلهای CSS و جاوااسکریپت رو دانلود میکنه ولی هیچکدوم رو اجرا نمیکنه؛ GPTBot یه قدم جلوتره و حتی CSS رو پارس میکنه ولی بازم جاوااسکریپت اجرا نمیکنه؛ اما OAI-SearchBot، خزندهی جستجوی OpenAI، برخلاف خزندهی آموزشی همون شرکت، واقعاً جاوااسکریپت صفحه رو اجرا میکنه. طبق یه نمونهگیری از Common Crawl، حدود نیم درصد صفحات فقط یه پوستهی خالی جاوااسکریپتی هستن، و این نرخ هم سال به سال داره بیشتر میشه، بهخصوص تو سایتهای پرترافیک و مدرنتر وب.
نتیجهی نهایی نویسنده اینه که یه URL فقط وقتی روی خروجی مدل اثر میذاره که خودش و محتواش قبلاً تو دیتای آموزشی جا افتاده باشه؛ برای URLهای تازه یا مبهم، نباید روی همین اثر حساب کرد. توصیهی نویسنده به صاحبهای سایت اینه که اگه براشون مهمه محتواشون تو مدلها دیده بشه، محتوا رو سمت سرور رندر کنن یا حداقل قبل از اجرای جاوااسکریپت تو HTML بذارن؛ خود نویسنده هم برای ChromeStatus یه نسخهی جایگزین سمتسرور ساخته تا این مشکل رو برای اون سایت خاص حل کنه.
نکات کلیدی:
- URL خام فقط وقتی خروجی مدل رو تغییر میده که محتواش قبلاً تو دیتای آموزشی افتاده باشه
- سایتهای جاوااسکریپتی مثل ChromeStatus چون خزنده فقط پوستهی خالی میگیره، عملاً تو مدلها دیده نمیشن
- شناسههای معروف مثل arXiv، RFC و CVE حتی از روی URL خام هم بهخوبی بازیابی میشن
- فقط گذاشتن یه لینک معروف تو پرامپت (بدون درخواست صریح) هم خروجی مدل رو به سمت اون موضوع میکشونه
- بین خزندهها، فقط OAI-SearchBot جاوااسکریپت اجرا میکنه؛ ClaudeBot و GPTBot این کارو نمیکنن




