ایجنت هوش مصنوعی که از هر ترفندی استفاده میکنه
خلاصهٔ کاملتر
سایمون ویلیسون تو این پست تجربهی دو روزهش با مدل Claude Fable 5 رو تعریف میکنه و میگه بهترین توصیف براش «بیوقفه فعال» (relentlessly proactive) ـه: کلی ترفند بلده و برای رسیدن به هدفش تقریباً از هر کدومشون استفاده میکنه.
ماجرا با یه باگ ساده شروع شد. نویسنده موقع کار روی Datasette Agent یه اسکرولبار افقی اضافی تو منوی چت دید، ازش اسکرینشات گرفت و فقط با یه دستور یکخطی از Claude خواست با نگاه به وابستگیها علتش رو پیدا کنه. بعد هم رفت سراغ یه کار دیگه و ایجنت رو تنها گذاشت.
وقتی برگشت دید کامپیوترش خودش یه پنجرهی Firefox باز کرده و رفته سراغ همون دیالوگ. نویسنده میگه اصلاً به Claude نگفته بود از اتوماسیون مرورگر استفاده کنه. معلوم شد Fable برای خودش یه روش ساخته: با Python و کتابخونهی pyobjc-framework-Quartz بین همهی پنجرههای باز سیستم میگشت، پنجرهی Safari مورد نظر رو با شمارهش پیدا میکرد و بعد با ابزار خط فرمان screencapture ازش عکس میگرفت.
جالبتر این بود که چطوری اون دیالوگ مودال رو که فقط با کلیک یا میانبر کیبورد باز میشد تریگر میکرد. به گفتهی نویسنده، Claude تمپلیتهای خود Datasette رو ویرایش کرده بود و یه قطعه جاوااسکریپت اضافه کرده بود که موقع لود شدن صفحه، با کمی تأخیر یه رویداد فشردن کلید / رو شبیهسازی میکرد — همون میانبری که دیالوگ رو باز میکنه.
یه قدم آخر هم مونده بود: Claude برای اندازهگیری وضعیت textarea داخل یه Web Component، یه وبسرور کوچیک با کتابخونهی استاندارد http.server پایتون نوشت که هدر Access-Control-Allow-Origin: * میفرستاد، بعد کدی به صفحه تزریق کرد که اندازهها رو با یه درخواست POST به همون سرور بفرسته تا روی دیسک ذخیره بشه و Claude بتونه بخونتش. در نهایت مدل فیکس دو خطی CSS رو پیدا و تأیید کرد. کل این سشن اگه با قیمت کامل API حساب میشد حدود ۱۲ دلار خرج برمیداشت.
نویسنده در پایان میگه این ماجرا یه یادآوری جدیه که ایجنتهای کدنویسی هر کاری که خودت با تایپ دستور تو ترمینال میتونی بکنی رو میتونن انجام بدن، و مدلهای پیشرفته هر ترفندی رو بلدن. به اعتقاد اون اجرای این ایجنتها بیرون از sandbox از اول ایدهی بدی بوده؛ چون اگه همین فعال بودن افراطی با یه حملهی prompt injection ترکیب بشه، حجم خسارتی که میتونه بزنه ترسناکه.
نکات کلیدی:
- Claude Fable 5 فقط با یه اسکرینشات و یه دستور یکخطی، خودش سرور توسعه رو بالا آورد و چند مرورگر مختلف رو امتحان کرد
- برای گرفتن اسکرینشات با pyobjc و ابزار screencapture یه روش اختصاصی ساخت
- تمپلیت سایت رو ویرایش کرد تا میانبر کیبورد رو شبیهسازی کنه و یه وبسرور محلی نوشت تا دادههای اندازهگیری رو جمع کنه
- نویسنده میگه همین فعال بودن افراطی، ایجنت رو در صورت قربانی شدن در برابر prompt injection خیلی خطرناک میکنه — پس باید تو sandbox اجرا بشه




