اجرای وظایف MCP در پسزمینه چگونه کار میکند؟
در Claude Code 2.1.319، اگر سرور MCP یک فراخوانی ابزار را بهصورت Task اجرا کند، فرایند بلافاصله به پسزمینه منتقل میشود. Claude Code پس از پایان کار، نتیجه را خودکار به مدل اطلاع میدهد؛ بنابراین نشست ترمینال بیدلیل منتظر نمیماند.
- شروع فوری: وظیفه MCP بدون مسدودکردن نوبت جاری به پسزمینه میرود.
- ادامه کار: Claude میتواند همزمان سراغ تحلیل یا عملیات مستقل بعدی برود.
- تحویل نتیجه: خروجی پس از تکمیل دوباره وارد جریان اجرای Claude Code میشود.
این قابلیت برای وظایف زمانبر مانند واکشی داده، اجرای پردازش خارجی یا عملیات سرویسهای متصل به MCP مفید است. در نتیجه، اجرای موازی بهتر میشود و زمان انتظار در گردشکارهای چندابزاری کاهش مییابد.
البته هر فراخوانی MCP الزاماً پسزمینهای نیست؛ سرور باید آن را در قالب Task اجرا کند. همچنین اگر مرحله بعد به خروجی همان وظیفه وابسته باشد، Claude باید دریافت نتیجه را پیش از ادامه بخش وابسته در نظر بگیرد.
برای مشاهده رفتار واقعی، یک Task طولانی اجرا کنید و پیامهای ترمینال را بررسی کنید: انتقال به پسزمینه باید سریع اعلام شود و نتیجه پس از پایان برگردد. اگر با این ابزار آشنا نیستید، راهنمای Claude Code چیست؟ نقطه شروع مناسبی است.
غیرفعالکردن اجرای پسزمینه MCP با متغیر محیطی
در Claude Code 2.1.319 میتوان اجرای پسزمینه وظایف MCP را با متغیر محیطی CLAUDE_CODE_DISABLE_MCP_TASK_BACKGROUND
- مناسب برای عیبیابی و مشاهده مستقیم خطاهای MCP
- کاربردی برای فرایندهایی که ترتیب اجرای مراحل در آنها مهم است
- احتمال افزایش زمان انتظار و مسدودماندن موقت جریان ترمینال
در لینوکس یا macOS، پیش از اجرای Claude Code متغیر را در همان نشست ترمینال فعال کنید:
export CLAUDE_CODE_DISABLE_MCP_TASK_BACKGROUND=1
claude
در PowerShell ویندوز نیز میتوانید از دستور زیر استفاده کنید:
$env:CLAUDE_CODE_DISABLE_MCP_TASK_BACKGROUND="1"
claude
این تنظیم زمانی مفید است که یک ابزار MCP خروجی مرحله قبل را برای ادامه کار لازم دارد یا اجرای پسزمینه، بررسی زمانبندی و لاگها را دشوار میکند. برای استفاده دائمی، آن را به تنظیمات محیطی سیستم یا فایل پیکربندی شِل اضافه کنید؛ البته پیش از استقرار، تأثیر آن بر سرعت گردش کار را بسنجید.
برای بازگشت به رفتار پیشفرض، متغیر را حذف کنید؛ در Bash با unset CLAUDE_CODE_DISABLE_MCP_TASK_BACKGROUND و در PowerShell با Remove-Item Env:CLAUDE_CODE_DISABLE_MCP_TASK_BACKGROUND. اگر با مفاهیم این ابزار آشنا نیستید، راهنمای Claude Code چیست؟ نقطه شروع مناسبی است.
کنترل درخواستهای مجوز با denyInsteadOfPrompting
در Claude Code 2.1.319، تنظیم permissions.denyInsteadOfPrompting فراخوانی ابزاری را که نیازمند پرسش مجوز است، بهجای توقف برای تأیید کاربر رد میکند. سپس نوبت جاری ادامه مییابد تا گردشکارهای خودکار پشت پنجره مجوز معطل نمانند.
- رد خودکار: درخواست نیازمند تأیید، بدون نمایش پرسش مجوز متوقف میشود.
- ادامه نوبت: Claude میتواند راهحل جایگزین پیشنهاد دهد یا عملیات مجاز بعدی را انجام دهد.
- پوشش گسترده: این رفتار در نشست ترمینال، Subagentها و همتیمیهای Claude Code اعمال میشود.
این کنترل برای اجرای بدونناظر، محیط CI و تیمهایی مفید است که نمیخواهند فرایند منتظر پاسخ انسانی بماند. بااینحال، فعالسازی آن به معنی اعطای مجوز بیشتر نیست؛ ابزار فاقد مجوز صریحاً رد میشود و عملیات حساس اجرا نخواهد شد.
برای نمونه، اگر یک Subagent قصد اجرای فرمانی خارج از سیاست دسترسی را داشته باشد، Claude Code بهجای بازکردن درخواست تأیید، آن فراخوانی را رد میکند. مدل ممکن است مسیر کمخطرتر و سازگار با مجوزهای موجود را انتخاب کند، اما موفقیت جایگزین تضمینشده نیست.
پیش از فعالسازی، ابزارهای ضروری را صریحاً مجاز کنید و گزارشهای شکست را زیر نظر بگیرید؛ وگرنه ردهای خودکار ممکن است وظایف معتبر را ناقص کنند. برای شناخت تغییرات امنیتی مرتبط نیز مطلب امنیت و کنترل بیشتر در Claude Code مفید است.
تفاوت کلیدی این گزینه با حالت عادی در نحوه مدیریت توقف است: حالت عادی منتظر تصمیم کاربر میماند، اما denyInsteadOfPrompting رویکرد «رد امن و ادامه اجرا» را بهکار میگیرد. بنابراین برای اتوماسیون قابلپیشبینی مناسبتر است، نه نشستهایی که تأیید تعاملی در آنها اهمیت دارد.
بهینهسازی تأخیر Claude API با دستور latency-optimize
در Claude Code 2.1.319، دستور /claude-api latency-optimize بخشهایی از کد Claude API را که باعث انتظار کاربر میشوند شناسایی میکند. سپس تنظیمات سریعتر را در برابر ارزیابیهای پروژه آزمایش میکند تا کاهش تأخیر، کیفیت پاسخ را بیدلیل قربانی نکند.
- شناسایی گلوگاه: یافتن نقاط کند در مسیر درخواست تا دریافت پاسخ
- آزمایش تنظیمات: بررسی گزینههای سریعتر با تکیه بر evalهای موجود
- تصمیم مطمئنتر: مقایسه سرعت و کیفیت پیش از اعمال تغییرات
برای استفاده، پروژهای را باز کنید که فراخوانی Claude API و مجموعه ارزیابی قابلاجرا دارد؛ سپس در Claude Code دستور زیر را وارد کنید:
/claude-api latency-optimize
خروجی را بهعنوان پیشنهاد بهینهسازی بررسی کنید، نه تغییری که باید بدون بازبینی وارد محیط تولید شود. زمان پاسخ، نرخ خطا، کیفیت خروجی و هزینه مصرف را پیش و پس از تغییر اندازه بگیرید؛ بهویژه اگر برنامه از ابزارها، پاسخ جریانی یا چند فراخوانی زنجیرهای استفاده میکند.
کیفیت eval مستقیماً بر اعتبار پیشنهادها اثر دارد؛ بنابراین سناریوهای واقعی، ورودیهای طولانی و حالتهای خطا را پوشش دهید. برای تصمیمگیری کاملتر، راهنمای محدودیتهای API هوش مصنوعی و مطلب بررسی هزینه API نیز مفید هستند.
منابع خبر
تاریخ انتشار منبع اصلی:
ناشر: گپجیپیتی · سیاست تحریریه و اصلاحات · تماس با تحریریه
گردشکار هوشمندت را سریعتر کن
با دسترسی به ابزارهای هوش مصنوعی، کارهای فنی و روزمرهات را سریعتر و روانتر انجام بده.