پرش به محتوای اصلی
پرش به محتوای مقاله

«حذف توصیفات دستی برنامه‌نویس»؛ هدف جدید اپل در پیش‌نمایش ۲۴۷ سافاری

·۱۲ تیر ۱۴۰۵۷ دقیقه مطالعه۱ بازدید
لوگوی MCP Safari: ابزاری برای توسعه‌دهندگان وب برای اتصال مرورگر به هوش مصنوعی
لوگوی MCP Safari: ابزاری برای توسعه‌دهندگان وب برای اتصال مرورگر به هوش مصنوعی
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

تبدیل مرورگر سافاری به یک ابزار مستقیم (Tool) برای عامل‌های AI از طریق MCP؛ اکنون مدل‌ها می‌توانند بدون واسطه انسانی، DOM را بخوانند، اسکرین‌شات بگیرند و لاگ‌های شبکه را تحلیل کنند.

تصور کنید برنامه‌نویسی هستید که ساعت‌ها وقت خود را صرف توصیف یک باگ بصری برای هوش مصنوعی می‌کند، در حالی که مدل می‌توانست خودش صفحه را ببیند. این کابوس تکراری با یک تغییر ساختاری به پایان رسید. در ۳ ژوئیه ۲۰۲۶، اپل سرور پروتکل زمینهٔ مدل (MCP) — شبیه به یک مترجم همه‌کاره که اجازه می‌دهد مدل‌های هوش مصنوعی با نرم‌افزارهای دیگر حرف بزنند — را در نسخه Safari Technology Preview 247 منتشر کرد. طبق اعلام اپل، این اقدام دسترسی برنامه‌نامه‌ای مستقیم به پنجره‌های فعال مرورگر را برای عامل (Agent) — دستیارهای هوشمندی که می‌توانند به‌جای جواب ساده، اقدامات عملی انجام دهند — فراهم می‌کند.

همان‌طور که در تحلیل‌های پیشین ما درباره‌ی استانداردسازی ابزارهای هوش مصنوعی اشاره کردیم، MCP اکنون در حال تبدیل شدن به استاندارد جهانی برای متصل کردن مدل‌های زبانی بزرگ (LLM) — مثل کتابخانه‌داری که میلیاردها صفحه را خوانده و حالا با همان لحن جواب می‌دهد — به منابع دادهٔ خارجی است. این تحول در راستای چشم‌انداز گسترده‌تری است که در آن سیستم‌عامل iOS 27 با بهره‌گیری از معماری‌های هوشمند به یک عامل جامع تبدیل شده است تا تعامل کاربر با دستگاه را بازتعریف کند. پیش از این، توسعه‌دهندگان در یک چرخه خسته‌کننده و کسالت‌آور بودند: پیدا کردن یک باگ در مرورگر، کپی کردن لاگ‌های کنسول و چسباندن آن‌ها در یک پرامپت. این جریان کاری تکه‌تکه شده، بار شناختی بالایی ایجاد می‌کرد و چرخه تکرار و اصلاح کد را به‌شدت کند می‌کرد.

با پیاده‌سازی این سرور MCP، اپل به هر کلاینت سازگاری — مانند Claude یا Codex — اجازه می‌دهد تا با مرورگر سافاری به عنوان یک «ابزار» تعامل کند. در این حالت، عامل دیگر صرفاً بر اساس حدس و گمان درباره کدهای برنامه‌نویسی تصمیم نمی‌گیرد، بلکه مستقیماً وضعیت واقعی صفحه رندر شده را مشاهده می‌کند و بدین ترتیب، شکاف میان محیط ویرایشگر کد (IDE) و تجربه نهایی کاربر را می‌پوشاند.

پایان «رقص عیب‌یابی»

به نقل از مستندات اپل، فرآیند دستی فعلی توسعه‌دهندگان شبیه به یک «رقص عیب‌یابی» (debugging dance) است. در این رقص، برنامه‌نویس ابتدا خطا را در مرورگر می‌بیند، سپس کنسول را برای شکار خطا باز می‌کند، به تب استایل‌ها می‌رود تا تشخیص دهد چه چیزی شکسته است و در نهایت به محیط کدنویسی برمی‌گردد تا اصلاحیه را اعمال کند. اگر در این مسیر از هوش مصنوعی به‌صورت دستی استفاده شود، توسعه‌دهنده مجبور است اسکرین‌شات بگیرد و مشکل را با جزئیات برای عامل شرح دهد.

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

کنترل مستقیم بر مرورگر

بر اساس گزارش منتشر شده در وب‌سایت webkit.org، سرور MCP سافاری مجموعه‌ای جامع از ابزارها را ارائه می‌دهد که به یک عامل اجازه می‌دهد دقیقاً مانند یک توسعه‌دهنده از راه دور عمل کند. عامل اکنون قادر است اقدامات زیر را انجام دهد:

  • مدیریت نشست (Session): ایجاد تب‌های جدید با دستور create_tab (که می‌تواند به‌طور اختیاری یک URL را بارگذاری کند)، جابه‌جایی بین تب‌ها با استفاده از switch_tab یا بستن یک تب از طریق close_tab. همچنین می‌تواند از navigate_to_url برای بارگذاری یک صفحه و بازگرداندن محتوای آن استفاده کند.
  • بازرسی DOM: استخراج محتوای صفحه در قالب‌های متنوع — از جمله HTML، Markdown و JSON — از طریق get_page_content. ابزار page_info نیز اطلاعات فعلی شامل URL، عنوان صفحه و وضعیت بارگذاری را ارائه می‌دهد.
  • اجرای منطق: استفاده از evaluate_javascript برای اجرای کدها در داخل صفحه و دریافت نتایج فوری. عامل همچنین می‌تواند با page_interactions توالی‌هایی از اقدامات مانند کلیک کردن، تایپ کردن، اسکرول، نگه داشتن مکان‌نما روی المان (Hover) یا رویدادهای فشردن کلید (KeyPress) را اجرا کند.
  • تأیید بصری: ثبت اسکرین‌شات‌های PNG از صفحه فعلی با استفاده از ابزار screenshot برای تأیید چیدمان (Layout) و شناسایی رگرسیون‌های بصری.

قابلیت‌های عمیق عیب‌یابی

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

تحلیل شبکه (Network Analysis) نیز به‌طور قابل توجهی عمیق‌تر شده است. عامل‌ها می‌توانند از list_network_requests برای مشاهده خلاصه‌ای از URLها، متدها، کدهای وضعیت (Status Codes) و زمان‌بندی درخواست‌ها استفاده کنند. سپس می‌توانند با get_network_request جزئیات کامل، شامل هدرها، بدنه (Body) و زمان‌بندی دقیق برای یک درخواست ثبت‌شده خاص را بازیابی کنند.

برای طراحی واکنش‌گرا (Responsive)، ابزار set_emulated_media به عامل اجازه می‌دهد تا یک نوع مدیای CSS، مانند حالت «چاپ» (print) را شبیه‌سازی کند. ابزار set_viewport_size تضمین می‌کند که عامل بتواند رفتار سایت را در ابعاد مختلف صفحه (بر حسب پیکسل‌های CSS) بدون دخالت انسان تست کند. برای مدیریت بارگذاری‌های نامتقارن (Asynchronous)، ابزار wait_for_navigation به عامل اجازه می‌دهد تا پیش از بازگرداندن URL و عنوان نهایی، منتظر بماند تا بارگذاری صفحه کاملاً به پایان برسد.

حل نقاط درد وب

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

تحلیل عملکرد (Performance Analysis) اکنون خودکار شده است. عامل می‌تواند کدهای جاوااسکریپت را برای استخراج معیارهایی نظیر زمان‌بندی ناوبری (Navigation Timing) و زمان بارگذاری منابع اجرا کند تا دقیقاً مشخص کند کدام اسکریپت باعث کندی صفحه شده است.

ممیزی دسترسی‌پذیری (Accessibility Auditing) نیز در این سیستم ادغام شده است. عامل‌ها می‌توانند برای یافتن مشکلات رایج دسترسی‌پذیری، مانند نبود برچسب‌های مناسب (Labels)، ویژگی‌های نادرست ARIA یا کنتراست رنگ ضعیف اسکن انجام دهند و مشکلات انطباق را پیش از آنکه یک تست‌کننده انسانی سایت را باز کند، شناسایی کنند.

در نهایت، عامل‌ها می‌توانند وضعیت‌های پیچیده کاربر را تأیید کنند. این شامل پرس‌وجوی المان‌ها از طریق سلکتورها برای تأیید درست کار کردن جریان پرداخت (Checkout)، بررسی وضعیت یک فرم یا تأیید تعاملات خاص کاربر است.

حریم خصوصی و امنیت محلی

برای رفع نگرانی‌های مربوط به حریم خصوصی، اپل سرور MCP را به‌گونه‌ای طراحی کرده است که کاملاً روی دستگاه محلی کاربر اجرا شود. این سرور هیچ‌گونه تماس شبکه‌ای خارجی (Outbound Network Call) را به طور مستقل برقرار نمی‌کند.

این ابزار به اطلاعات شخصی ذخیره‌شده در سافاری، مانند داده‌های AutoFill یا سایر فعالیت‌های مرورگر دسترسی ندارد. داده‌هایی نظیر اسکرین‌شات‌ها، لاگ‌های کنسول و محتوای صفحات مستقیماً به عاملی که کاربر اجرا می‌کند ارسال می‌شوند و نه به سرورهای اپل. با این حال، اپل به کاربران هشدار می‌دهد که تنها از عامل‌های مورد اعتماد خود استفاده کنند، زیرا عامل کنترل قابل توجهی بر نشست (Session) مرورگر به دست می‌آورد.

راه‌اندازی و یکپارچه‌سازی

برای استفاده از این ابزار، نصب Safari Technology Preview الزامی است و باید گزینه «Show features for web developers» در تنظیمات پیشرفته (Advanced) فعال باشد. سپس کاربران باید به مسیر Safari Settings > Developer رفته و گزینه «Remote automation and external agents» را فعال کنند.

برای کاربران Claude، راه‌اندازی تنها با یک دستور در ترمینال انجام می‌شود:
claude mcp add safari-mcp-stp -- "/Applications/Safari Technology Preview.app/Contents/MacOS/safaridriver" --mcp

برای کاربران Codex، دستور به شرح زیر است:
codex mcp add safari-mcp-stp -- "/Applications/Safari Technology Preview.app/Contents/MacOS/safaridriver" --mcp

سایر عامل‌ها می‌توانند این ابزار را از طریق فایل‌های mcp.json یا config.json با استفاده از مسیر /Applications/Safari Technology Preview.app/Contents/MacOS/safaridriver و آرگومان --mcp پیکربندی کنند. اگرچه در مثال‌ها نام سرور safari-mcp-stp ذکر شده، اما کاربران می‌توانند هر نام دلخواهی، مثلاً safari را برای آن انتخاب کنند.

پس از اتصال، عامل باید به‌طور خودکار سرور را شناسایی کند. توسعه‌دهندگان می‌توانند از پرامپت‌های سطح بالایی مانند «باگ‌های سایت من را در سافاری پیدا کن» یا «سایت من چقدر دسترسی‌پذیر است؟» برای شروع فرآیند عیب‌یابی خودکار استفاده کنند. برای مثال، کاربر ممکن است به عامل بگوید: «در صفحه پروازها در سافاری مشکلی وجود دارد، می‌توانی بفهمی چه اتفاقی افتاده است؟» عامل سپس می‌تواند به‌طور خودکار چندین باگ، مانند یک انیمیشن شکسته در نمایش نتایج یا یک لاگ نادرست در استارت‌آپ سرور API را پیدا کرده و پیشنهاد اصلاح همه آن‌ها را بدهد.

این تحول، نقش برنامه‌نویس را از یک «مهندس پرامپت» (Prompt Engineer) به یک «بازبین» (Reviewer) تغییر می‌دهد. به‌جای توصیف مفصل مشکل، توسعه‌دهنده صرفاً آدرس URL را به عامل می‌دهد و اصلاحات نهایی را تأیید می‌کند.

این یکپارچه‌سازی سیگنالی برای حرکت به سمت توسعه «حلقه-بسته» (Closed-loop) است؛ جایی که هوش مصنوعی چرخه «مشاهده $ \rightarrow $ فرضیه $ \rightarrow $ اصلاح $ \rightarrow $ تأیید» را مدیریت می‌کند، بدون اینکه انسان مجبور باشد به‌عنوان پل انتقال داده عمل کند.

توسعه‌دهندگان تشویق شده‌اند تا بازخوردهای خود را از طریق تماس با Saron Yitbarek، Jen Simmons یا Jon Davis در پلتفرم‌های BlueSky و Mastodon ارسال کنند یا گزارش‌های باگ WebKit را برای کمک به بهبود این ابزار ثبت نمایند.

گام بعدی شما

  • اگر توسعه‌دهنده وب هستید، نسخه پیش‌نمایش سافاری را نصب کرده و MCP را با Claude تست کنید تا سرعت دیباگ خود را بسنجید.
  • روی خودکارسازی «ممیزی دسترسی‌پذیری» تمرکز کنید؛ این یکی از سریع‌ترین راه‌ها برای کاهش زمان تست دستی است.
  • بررسی کنید که آیا Agentهای شما می‌توانند از ابزار set_viewport_size برای تست‌های Responsive استفاده کنند یا خیر.

اما داستان سخت‌افزاری این تحول حتی شگفت‌انگیزتر است — به تحلیل ما درباره‌ی تراشه‌های Blackwell مراجعه کنید.

چرا این موضوع مهم است؟

این ابزار با تکیه بر اعتبار استانداردهای MCP، زنجیره تولید نرم‌افزار را از توصیف دستی به مشاهده مستقیم تغییر می‌دهد. نتیجه آن کاهش چشمگیر زمان چرخه عیب‌یابی و افزایش دقت در اصلاحات بصری است.

تأثیر برای ایران

برنامه‌نویسان ایرانی که از مک‌بوک استفاده می‌کنند، می‌توانند با نصب نسخه Preview سافاری از این قابلیت بهره ببرند، هرچند اتصال به کلاینت‌هایی مثل Claude نیازمند ابزارهای دور زدن محدودیت‌های جغرافیایی است.

·نگاه ما
تحریریه دات‌هوش

اپل با این اقدام، کنترل مرورگر را از یک رابط گرافیکی به یک رابط برنامه‌نامه‌ای برای مدل‌ها تبدیل کرد. این یعنی مرز بین IDE و مرورگر در حال محو شدن است و ما به سمتی می‌رویم که کدها نه توسط انسان، بلکه توسط عامل‌هایی که خروجی واقعی را می‌بینند، اصلاح می‌شوند. این مدل توسعه، مهندسی پرامپت را به حاشیه می‌برد و جایگزین آن را «مدیریت خروجی» قرار می‌دهد.

منابع

این گزارش با خط‌لولهٔ خودکار دات‌هوش از منابع معتبر جهانی تدوین و زیر نظر تحریریه منتشر شده است. روش کار ما

گفتگو

پنج‌شنبه‌های هوش‌محور

بسته‌ی هفتگی دات‌هوش

۵ خبر، ۲ ابزار، ۱ پرامپت در هر شماره. به‌زودی راه‌اندازی می‌شود — هر پنج‌شنبه صبح.

خبر کلیدی
ابزار کاربردی
پرامپت حرفه‌ای
تحلیل پژوهش
به‌زودی
زاویه‌ی ایرانی
به‌زودی
تمرین این هفته
به‌زودی

راهنماهای دات‌هوش

راهنماهای کاربردیِ دات‌هوش برای کار با هوش مصنوعی — از همین‌جا شروع کنید:

دات‌هوش

راهنمای فارسی هوش مصنوعی — با نگاه به ایران

اخبار روزانه، معرفی ابزارها و مدل‌ها، و آموزشِ کار با هوش مصنوعی؛ همیشه با این پرسش که از ایران چه چیزی کار می‌کند و چه چیزی نه.