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

مدل Codex با پروتکل MCP یک باگ Node.js را در ۵۸ ثانیه رفع کرد

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

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

تصور کنید یک عامل هوش مصنوعی بدون اینکه حتی یک خط از تست‌های شما را تغییر دهد تا کدِ غلطش را توجیه کند، دقیقاً همان باگی را بگیرد که ساعت‌ها وقت شما را گرفته است. در ۲۲ اوت ۲۰۲۶، یک استقرار محلی از مدل openai/codex (نسخه ۰.۱۴۹.۰) توانست یک باگ در مخزن Node.js را در دقیقاً ۵۸ ثانیه حل کند. این موفقیت ثابت کرد که عامل‌های کدنویسی می‌توانند در صورت جفت شدن با پروتکل زمینهٔ مدل (Model Context Protocol یا MCP)، در چارچوب‌های سخت‌گیرانه محیط تولیدی عمل کنند.

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

همان‌طور که در بحث‌های گذشته‌ی ما درباره‌ی امنیت مدل‌های بازمتن اشاره کردیم، جداسازی نقش «کارگر» (عامل) از «قاضی» (فرآیند اعتبارسنجی) کلید دستیابی به پایداری است. این رویکرد در واقع مکمل مکانیزم‌هایی است که چگونه اعتبارسنجی آنی در MCP از توقف ناگهانی عامل‌های هوشمند جلوگیری می‌کند.

زمینه: باگ و راهکار

به نقل از گزارش dev.to، این عامل روی یک مخزن فرضی Node.js متمرکز شد که در آن گره‌های خلاصه (summary node)، وضعیت‌های «نادیده گرفته شده» (skipped states) را به‌اشتباه به‌عنوان «شکست» (failures) علامت‌گذاری می‌کردند. پیاده‌سازی اولیه از این کد استفاده می‌کرد: const failed = nodes.filter((node) => node.status !== "succeeded").length;

برای رفع این مشکل، یک تغییر دقیق در یک خط لازم بود: تغییر فیلتر از node.status !== "succeeded" به node.status === "failed". این اصلاح باعث شد پروژه از وضعیت ۰/۲ تست پاس‌شده به ۲/۲ برسد. در این فرآیند، تنها یک فایل منبع تغییر کرد و هیچ‌یک از فایل‌های تست دست‌خورده نشد.

جزئیات: حفاظ‌های فنی

برای تضمین ایمنی و جلوگیری از رفتارهای پیش‌بینی‌نشده، توسعه‌دهنده یک پرامپت سخت‌گیرانه و پیکربندی MCP را پیاده کرد:

  • محدوده نوشتن: دسترسی عامل منحصراً به فایل /workspace/src/run-summary.js محدود شد.
  • اقدامات ممنوعه: ویرایش فایل‌های تست، اجرای دستورات شل (Shell)، انجام کامیت‌های گیت، پوش (Push) کردن کد یا انتشار آن به‌طور کامل ممنوع بود.
  • اعتبارسنجی: عامل از دستور apply_patch برای اعمال کوچک‌ترین تغییر ممکن استفاده کرد. این تغییر پیش از هرگونه بررسی انسانی، توسط یک اجراکننده تست مستقل و دستور git diff تأیید شد.
  • تنظیمات MCP: تنظیمات عملیاتی روی sandbox: workspace-write و approval-policy: never قرار داشت.

نحوه اتصال عامل کدنویسی متن‌باز به گردش کار با MCP

موانع پیاده‌سازی

استقرار این سیستم به‌صورت «نصب و اجرا» (Plug-and-play) نبود و توسعه‌دهنده با سه مشکل سازگاری اصلی مواجه شد:
۱. Bubblewrap: یک خطا رخ داد زیرا Bubblewrap نتوانست یک فضای نام کاربر (User Namespace) ایجاد کند.
۲. Windows Server: سرور mcp-server کدکس در محیط بومی ویندوز توانست یک نشست (Session) ایجاد کند، اما کمکی‌های شل (Shell helper) آن با شکست مواجه شدند.
۳. استقرار Astron: استقرار محلی به یک MCP_BASE_URL صریح و مشخص نیاز داشت.

این مشکلات با اجرای Codex در یک کانتینر لینوکس اختصاصی و اصلاح پروفایل seccomp برای اجازه دادن به syscallهای ضروری مربوط به فضای نام حل شد. پس از این اصلاحات، هر سه گره گردش‌کار (Workflow nodes) با موفقیت کامل شد.

ریسک‌های اکوسیستم

با وجود این چشم‌انداز امیدوارکننده، اکوسیستم MCP تحت نظارت شدید است. یک توسعه‌دهنده با استفاده از ابزار mcp-redteam باگی را در SDK رسمی TypeScript (مورد ۱۹۹۴) کشف کرد. این پس‌رفت (Regression) که در نسخه ۱.۲۵.۰ معرفی شده، باعث می‌شود StreamableHTTPServerTransport بدون وضعیت (Stateless)، پس از اولین درخواست با خطای ۵۰۰ مواجه شود. ابزار تیم قرمز، شش سناریوی خصمانه را مدل‌سازی کرده است که شامل افشای ابزارهای احرازنشده و آسیب‌پذیری RufRoot (CVE-2026-59726 با امتیاز CVSS 10.0) می‌شود.

این تغییر به سمت «اجرای قابل تأیید عامل‌ها»، معیار ابزارهای توسعه را عوض می‌کند. حالا ارزش مدل در خوش‌زبانی توضیحاتش نیست، بلکه در توانایی‌اش برای رعایت مرزهای سخت و به‌جا گذاشتن ردپای بازرسی (Audit trail) است که قابل بازتولید باشد.

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

گام بعدی شما

کاربرانی که قصد تکرار این تجربه را دارند می‌توانند با مراحل زیر شروع کنند:

  • از mcp-proxy برای پل زدن بین stdio و SSE محلی استفاده کنید.
  • مدل‌های خود را روی مخازن کم‌ریسک با تست‌های شکست‌خورده‌ی قطعی (Deterministic) آزمایش کنید.
  • به‌جای تمرکز بر مهندسی پرامپت، روی ساخت سندباکس‌های (Sandboxes) محدودتر و اعتبارسنج‌های خارجی تمرکز کنید.

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

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

این رویکرد با تکیه بر اعتبار پروتکل MCP، ریسک استقرار عامل‌های خودکار در محیط‌های حساس را به‌شدت کاهش می‌دهد. تجربه این پروژه نشان می‌دهد که محدود کردن دسترسی مدل مؤثرتر از تلاش برای بی‌خطا کردن آن است.

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

توسعه‌دهندگان ایرانی می‌توانند با استفاده از نسخه‌های Open-source مدل‌های کدنویسی و پیاده‌سازی MCP در کانتینرهای لینوکس، بدون نیاز به APIهای گران‌قیمت، سیستم‌های اصلاح باگ خودکار بسازند.

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

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

منابع

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

گفتگو

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

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

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

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

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

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

دات‌هوش

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

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