تصور کنید یک عامل هوش مصنوعی بدون اینکه حتی یک خط از تستهای شما را تغییر دهد تا کدِ غلطش را توجیه کند، دقیقاً همان باگی را بگیرد که ساعتها وقت شما را گرفته است. در ۲۲ اوت ۲۰۲۶، یک استقرار محلی از مدل 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قرار داشت.

موانع پیادهسازی
استقرار این سیستم بهصورت «نصب و اجرا» (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 مراجعه کنید.




گفتگو