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

مکانیزم Plan Mode در Claude Code؛ ترمز دستی برای جلوگیری از تخریب کد

·۲۲ مرداد ۱۴۰۵۶ دقیقه مطالعه۱ بازدید
راهنما
حالت برنامه‌ریزی Claude Code: چه چیزهایی مسدود می‌شود، چه چیزهایی همچنان اجرا می‌شود و تأیید کردن چه تغییری ایجاد می‌کند
حالت برنامه‌ریزی Claude Code: چه چیزهایی مسدود می‌شود، چه چیزهایی همچنان اجرا می‌شود و تأیید کردن چه تغییری ایجاد می‌کند
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

تغییر پیش‌فرض به Auto mode از ۱۴ اوت، باعث می‌شود دستورات شل در زمان برنامه‌ریزی از طریق یک طبقه‌بندی‌کننده (Classifier) مدیریت شوند، نه تأیید دستی تک‌تک؛ این یعنی سرعت برنامه‌ریزی بدون از دست دادن امنیت افزایش می‌یابد.

تصور کنید یک دستیار کدنویس با سرعت برق‌آسا شروع به بازنویسی کل پروژه شما کند، بدون اینکه ابتدا بگوید دقیقاً چه قصدی دارد. Claude Code در حالت برنامه‌ریزی (Plan mode) دقیقاً برای جلوگیری از این کابوس طراحی شده است تا بین مرحله تفکر و تغییر واقعی فایل‌ها، یک ترمز دستی اجباری قرار دهد.

این سازوکار تضمین می‌کند که هیچ کدی تغییر نکند مگر اینکه توسعه‌دهنده استراتژی پیشنهادی را صراحتاً تأیید کرده باشد. این رویکرد مانع از آن می‌شود که هوش مصنوعی زاینده (Generative AI) — شبیه به نویسنده‌ای که بدون نقشه، فصل‌های یک کتاب را بازنویسی می‌کند — تغییرات گسترده و تأییدنشده‌ای در بدنه پروژه ایجاد کند و از ویرایش‌های تکانشی و بدون بررسی جلوگیری نماید. این تلاش برای کنترل خروجی‌های مدل، یادآور رویکردهای مشابهی است که در مکانیزم «دروازه‌های بستار» برای جلوگیری از توهمات عامل‌های کدنویس بررسی شده بود.

این تغییر عملیاتی در زمانی رخ می‌دهد که توسعه‌دهندگان بیش از پیش به ابزارهای کدنویسی عامل‌محور (Agentic) تکیه می‌کنند. همان‌طور که در تحلیل قبلی ما درباره‌ی نظرسنجی اشاره کردیم که در آن ۷۵ درصد توسعه‌دهندگان Claude Code را به OpenAI Codex ترجیح دادند، اکنون تمرکز از «ترجیح مدل خام» به «دقت تجربه کاربری توسعه‌دهنده» تغییر کرده است. برای اکثر برنامه‌نویسان، ترس اصلی این نیست که هوش مصنوعی نتواند کد بزند، بلکه این است که مدل ممکن است یک سیستم حیاتی را بدون داشتن یک نقشه راه شفاف بازنویسی کند.

جزئیات فنی برنامه‌ریزی
بر اساس مستندات تأیید شده در ۱۳ اوت ۲۰۲۶ (code.claude.com/docs/en/permission-modes)، حالت برنامه‌ریزی به مدل دستور می‌دهد که ابتدا تحقیق کند و تغییرات را پیشنهاد دهد، اما آن‌ها را اجرا نکند. در این حالت، Claude می‌تواند فایل‌ها را بخواند و دستورات شل (Shell) را برای بررسی محیط اجرا کند، اما دسترسی به ویرایش فایل‌ها مسدود باقی می‌ماند. این حالت به‌ویژه برای بازسازی‌های بزرگ (Refactor)، مخازن ناآشنا و تغییراتی که در آن‌ها «روش اجرا» و استراتژی کلی مهم‌تر از «تفاوت‌های خطی کد» (Diff) است، کاربرد دارد. برای مدیریت بهینه این فرآیند در پروژه‌های پیچیده، استفاده از ابزارهای حفظ زمینه در Claude Code می‌تواند از تکرار محدودیت‌های فنی جلوگیری کند.

بسیار مهم است که بین «حالت دسترسی» (Permission Mode) و «نوع عامل» (Agent Type) تفاوت قائل شد؛ Plan mode یک تنظیم دسترسی است، در حالی که Agent(Plan) به یک زیر-عامل برنامه‌ریزی مجزا اشاره دارد که برای کارهای تفویض‌شده برنامه‌ریزی استفاده می‌شود.

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

  • فشردن Shift+Tab در محیط CLI برای چرخش بین حالت‌های پیش‌فرض $\rightarrow$ پذیرش ویرایش‌ها (acceptEdits) $\rightarrow$ برنامه‌ریزی (plan). در این حالت عبارت ⏸ plan mode در نوار وضعیت ظاهر می‌شود.
  • استفاده از پیشوند /plan برای دریافت یک پاسخ برنامه‌ریزی‌شده در یک نوبت واحد (Single-turn). این روش برای زمانی مفید است که می‌خواهید بدون تغییر دادن حالت کلی جلسه، تنها یک پاسخ برنامه‌ریزی‌شده دریافت کنید.
  • شروع جلسه با فلگ claude --permission-mode plan (یا استفاده از علامت کوتاه -p برای اجراهای غیرتعاملی).

برای خروج از این حالت بدون تأیید برنامه، کاربران می‌توانند به سادگی دوباره Shift+Tab را فشار دهند. این عمل به عنوان یک «راه خروج» (Escape hatch) عمل می‌کند، به این معنی که شما صرفاً به دلیل ورود به این حالت، متعهد به تولید یک برنامه نهایی نیستید.

چرخش راهبردی ۱۴ اوت
یک تغییر حیاتی در ۱۴ اوت ۲۰۲۶ اجرایی می‌شود: حالت خودکار (Auto mode) به حالت دسترسی پیش‌فرض برای جلسات جدید در پلن‌های Pro، Max و Team تبدیل می‌شود. این تغییر، نحوه عملکرد داخلی حالت برنامه‌ریزی را عوض می‌کند و باعث می‌شود دستوراتی که توسط طبقه‌بندی‌کننده (Classifier) بررسی شده‌اند، به تجربه عادی تبدیل شوند و دیگر به عنوان یک استثنا تلقی نگردند. این تحول در تغییر وضعیت Claude Code به حالت اجرای خودکار از ۱۴ اوت به طور مفصل‌تر تحلیل شده است.

وقتی حالت خودکار در دسترس باشد و تنظیم useAutoModeDuringPlan فعال باشد (که حالت پیش‌فرض است)، دستورات شل در فاز برنامه‌ریزی به طبقه‌بندی‌کننده حالت خودکار ارجاع داده می‌شوند. این یعنی Claude می‌تواند برای تأیید برنامه خود، یک مجموعه تست یا یک Build را اجرا کند بدون اینکه برای هر دستور کوچک از کاربر اجازه بگیرد. دستورات تأییدشده توسط طبقه‌بندی‌کننده اجرا و موارد ردشده مسدود می‌شوند.

بدون حالت خودکار، تنها مجموعه دستورات داخلی «فقط-خواندنی» (Read-only) بدون اجازه اجرا می‌شوند و هر دستور دیگر نیاز به تأیید دستی تک‌تک دارد. لازم به ذکر است که در نسخه‌های v2.1.212 تا v2.1.217، دستورات خارج از مجموعه فقط-خواندنی بدون توجه به در دسترس بودن حالت خودکار، درخواست اجازه می‌کردند، اما در نسخه‌های فعلی، مسیریابی طبقه‌بندی‌کننده دوباره بازیابی شده است.

تأیید و انتقال به اجرا
پس از نهایی شدن برنامه، کاربر بسته به سطح دسترسی حساب خود، نحوه ادامه مسیر را انتخاب می‌کند. گزینه‌ها به شرح زیر است:

  • «بله، و استفاده از حالت خودکار» (Yes, and use auto mode): تأیید برنامه و ادامه جلسه در حالت Auto. اگر حالت خودکار در دسترس نباشد، این گزینه به صورت «بله، پذیرش خودکار ویرایش‌ها» (Yes, auto-accept edits) نمایش داده می‌شود که منجر به حالت acceptEdits می‌گردد.
  • «بله، و نادیده گرفتن دسترسی‌ها» (Yes, and bypass permissions): این گزینه در جلساتی نمایش داده می‌شود که با فعال بودن Bypass شروع شده‌اند.
  • «بله، تأیید دستی ویرایش‌ها» (Yes, manually approve edits): تأیید برنامه، اما کاربر باید هر ویرایش را به صورت تک‌تک بررسی و تأیید کند.
  • «خیر، ادامه برنامه‌ریزی» (No, keep planning): باقی ماندن در حالت Plan برای اصلاح و دقیق‌تر کردن استراتژی.

تأیید برنامه باعث خروج کامل از حالت برنامه‌ریزی و تغییر سطح دسترسی جلسه به گزینه انتخاب شده می‌شود. در واقع Plan mode مانند یک محیط پیش‌نمایش یا Staging عمل می‌کند؛ اگر بخواهید برای وظیفه بعدی دوباره برنامه‌ریزی کنید، باید با Shift+Tab یا پیشوند /plan به این حالت بازگردید.

دو میان‌بر خاص برای تسریع این فرآیند وجود دارد:

  • Ctrl+G: باز کردن برنامه پیشنهادی در ویرایشگر متن پیش‌فرض برای اصلاح دستی مستقیم. این روش اغلب سریع‌تر از درخواست تغییرات از طریق چت است.
  • تنظیم showClearContextOnPlanAccept: این تنظیم گزینه‌ای را اضافه می‌کند تا برنامه تأیید شود و همزمان بستر متنی (Context) برنامه‌ریزی پاک شود. این کار تضمین می‌کند که اگر تاریخچه اکتشافات مدل طولانی بوده، پیاده‌سازی روی یک صفحه پاک شروع شود.

علاوه بر این، پذیرش یک برنامه باعث می‌شود نام جلسه به‌طور خودکار بر اساس محتوای برنامه تنظیم شود، مگر اینکه کاربر قبلاً از طریق /rename یا فلگ --name نامی را مشخص کرده باشد.

نقاط ضعف امنیتی
دو استثنای اصلی وجود دارد که در آن‌ها مسدودسازی‌های حالت برنامه‌ریزی عمل نمی‌کنند:

  • جلسات با دسترسی Bypass: در جلساتی که با --dangerously-skip-permissions شروع شده‌اند، حالت برنامه‌ریزی صرفاً یک «دستورالعمل» است و نه یک «اجبار». به Claude گفته می‌شود که بدون ویرایش برنامه‌ریزی کند، اما هر ویرایش فایل یا دستور شلی که تلاش کند، بدون درخواست اجازه اجرا خواهد شد. در این محیط‌ها، فاز برنامه‌ریزی صرفاً جنبه مشورتی دارد.
  • مسیرهای حفاظت‌شده: نوشتن در مسیرهای حفاظت‌شده — شامل .git ،.claude ،.vscode ،فایل‌های rc شل و .mcp.json — در عملیات عادی حالت برنامه‌ریزی هرگز به‌طور خودکار تأیید نمی‌شوند. با این حال، اگر حالت Auto در دسترس باشد، این درخواست‌ها به طبقه‌بندی‌کننده ارجاع داده می‌شوند. در جلسات Bypass، این دسترسی‌ها به‌طور کامل آزاد هستند.

تنظیمات و استثناهای رابط کاربری
برای پیش‌فرض کردن حالت برنامه‌ریزی در یک پروژه، کاربران می‌توانند عبارت زیر را به فایل .claude/settings.json اضافه کنند:
{ "permissions": { "defaultMode": "plan" } }

با این حال، دو استثنای مربوط به رابط کاربری وجود دارد:

  • افزونه VS Code: تنظیم defaultMode در فایل settings نادیده گرفته می‌شود. کاربران باید claudeCode.initialPermissionMode را در تنظیمات کاربر VS Code روی plan قرار دهند.
  • اپلیکیشن دسکتاپ: حالتی که در انتخاب‌گر (Selector) انتخاب شده باشد، برای هر پوشه به خاطر سپرده می‌شود و بر defaultMode اولویت دارد. اما حالت Plan استثنا است؛ این حالت فقط برای جلسه فعلی اعمال می‌شود و نمی‌توان آن را از طریق Selector به صورت دائمی (Sticky) ذخیره کرد.

کاربرد استراتژیک
ارزش حالت برنامه‌ریزی با میزان عدم قطعیت توسعه‌دهنده رابطه مستقیم دارد. این ابزار برای مخازن ناآشنا یا بازسازی‌های گسترده (Cross-cutting refactors) که در آن‌ها «رویکرد» مهم‌تر از «تغییرات نهایی کد» است، بیشترین بازدهی را دارد. برای پرسش‌های پژوهشی که در آن‌ها هیچ ویرایشی انتظار نمی‌رود، استفاده از پیشوند /plan یا یک زیر-عامل Explore باعث می‌شود جلسه هرگز هیچ فایلی را تغییر ندهد.

در مقابل، برای کارهای کاملاً شناخته شده در مخازن مورد اعتماد، رفتن مستقیم به حالت Auto یا acceptEdits بهینه‌تر است. با نزدیک شدن به تغییرات پیش‌فرض ۱۴ اوت، ورود به حالت برنامه‌ریزی به یک اقدام آگاهانه برای کاهش سرعت و تضمین دقت از طریق اکتشافات بررسی‌شده توسط طبقه‌بندی‌کننده تبدیل خواهد شد.

گام بعدی شما

  • اگر در حال کار روی یک پروژه بزرگ و ناآشنا هستید، از این به بعد جلسات خود را با فلگ -p شروع کنید تا از تغییرات ناگهانی جلوگیری کنید.
  • میان‌بر Ctrl+G را برای اصلاح سریع برنامه‌های پیشنهادی مدل جایگزین چت‌های طولانی کنید.
  • تنظیمات .claude/settings.json را برای پروژه‌های حساس بررسی کنید تا حالت پیش‌فرض روی Plan باشد.

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

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

این تغییر با تکیه بر اعتبار مستندات فنی Anthropic، استانداردی جدید برای ایمنی در ابزارهای Agentic ایجاد می‌کند. توسعه‌دهندگان اکنون می‌توانند بدون ترس از تخریب کد، از قدرت استدلال مدل‌ها برای تحلیل‌های پیچیده استفاده کنند.

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

به‌دلیل محدودیت‌های API و تحریم‌ها، دسترسی مستقیم به Claude Code برای بسیاری از توسعه‌دهندگان ایرانی دشوار است و استفاده از آن نیازمند زیرساخت‌های تغییر IP پایدار است.

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

جدا کردن فاز «تفکر» از «اجرا» در ابزارهای کدنویسی، نشان‌دهنده بلوغ رویکرد عامل‌محور است. این یعنی صنعت از مدل‌هایی که فقط کد می‌نویسند، به سمت سامانه‌هایی می‌رود که ابتدا «نقشه راه» می‌سازند. در واقع، کنترل روی فرآیند (Process) اکنون ارزشمندتر از کنترل روی خروجی (Output) شده است.

منابع

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

گفتگو

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

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

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

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

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

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

دات‌هوش

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

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