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

با این حال، نباید تصور کرد Claude Code کاملاً مستقل است. در جریان ساخت یک پروژه، ممکن است از شما سؤال بپرسد یا برای ادامه کار به دستورهای بیشتری نیاز داشته باشد. برای پروژه‌های کوچک، پاسخ دادن به این سؤال‌ها چندان مشکل‌ساز نیست؛ اما وقتی انتظار دارید ابزار همه کارها را خودش انجام دهد، این رفت‌وبرگشت‌ها می‌تواند آزاردهنده باشد.

اخیراً متوجه شدم Claude Code قابلیتی دارد که می‌تواند این مشکل را تا حد زیادی برطرف کند. جالب‌تر اینکه برای استفاده از آن لازم نیست تنظیمات پیچیده‌ای را تغییر دهید. کافی است یک دستور ساده را ابتدای پرامپت خود اضافه کنید: /goal. با اینتوتک همراه باشید تا در مورد استفاده از دستور goal در برنامه‌نویسی به کمک Claude بیشتر بدانیم.

دستور /goal تعداد پرامپت‌های من را از چهار مورد به یک مورد کاهش داد

تفاوت در روند کار کاملاً محسوس است

برای درک بهتر تأثیر /goal، ابتدا باید ببینیم کار با Claude Code بدون این دستور چگونه پیش می‌رود.

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

Claude Code شروع به تحلیل درخواست و ساخت پروژه می‌کند، اما ممکن است در میانه کار سؤال‌هایی بپرسد یا برای انجام مراحل بعدی منتظر دریافت دستور جدید بماند. حتی اگر نسخه اولیه برنامه ساخته شود، احتمال دارد بعضی قابلیت‌هایی که در ذهن داشته‌ام در خروجی نهایی وجود نداشته باشند.

در چنین شرایطی باید دوباره پرامپت بفرستم، قابلیت‌های مورد نیاز را توضیح دهم و منتظر بمانم تا Claude Code تغییرات لازم را اعمال کند. این روند ممکن است چند بار تکرار شود.

دستور goal در Claude Code چیست؟ کدنویسی خودکار با یک پرامپت ساده!

اما /goal روش کار را تغییر می‌دهد!

وقتی /goal را قبل از پرامپت قرار می‌دهید، Claude Code درخواست شما را صرفاً به عنوان مجموعه‌ای از دستورها در نظر نمی‌گیرد؛ بلکه آن را به یک هدف یا شرط نهایی تبدیل می‌کند که باید به آن برسد.

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

این قابلیت از یک مدل کوچک‌تر برای بررسی نتیجه کار استفاده می‌کند. اگر شرط نهایی برقرار باشد، فرایند متوقف می‌شود و نتیجه نمایش داده خواهد شد. اگر هدف هنوز محقق نشده باشد، Claude Code به کار ادامه می‌دهد.

این قابلیت با حالت Auto یکسان نیست. حالت Auto بیشتر روی اجازه اجرای ابزارها تمرکز دارد، در حالی که /goal به Claude Code می‌گوید چه نتیجه‌ای باید حاصل شود و تا زمانی که آن نتیجه به دست نیامده، کار را ادامه دهد.

برای کاربر، نتیجه ساده است: سؤال‌های کمتر، پرامپت‌های تکمیلی کمتر و تعامل دستی کمتر.

من هم متوجه شدم که حتی در بعضی درخواست‌های معمولی، افزودن /goal باعث می‌شود نتیجه نهایی کامل‌تر باشد. به همین دلیل، استفاده از این دستور به‌تدریج به بخشی از عادت من هنگام کار با Claude Code تبدیل شد.

اپلیکیشن پیگیری عادت‌ها نتیجه را مشخص کرد

چهار بار تعامل به یک بار رسید

بعد از مدتی استفاده از /goal، تصمیم گرفتم بررسی کنم که آیا تفاوت ایجادشده واقعاً محسوس است یا صرفاً چنین احساسی دارم. برای این کار، دقیقاً یک درخواست را دو بار اجرا کردم؛ یک بار بدون /goal و بار دیگر با آن.

پرامپت مورد استفاده این بود:

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

در اجرای اول، Claude Code بدون استفاده از /goal یک فایل HTML واحد ساخت که یک اپلیکیشن پیگیری عادت‌ها را در خود داشت. قابلیت اضافه کردن عادت‌های جدید وجود داشت و اطلاعات نیز داخل مرورگر ذخیره می‌شد.

بنابراین، درخواست اصلی انجام شده بود؛ اما خروجی نسبتاً ساده بود و بسیاری از امکاناتی که انتظار می‌رود در یک اپلیکیشن کامل پیگیری عادت‌ها وجود داشته باشد، در آن دیده نمی‌شد.

در اجرای دوم، همان پرامپت را با /goal ارسال کردم. نتیجه تفاوت محسوسی داشت. این بار Claude Code یک اپلیکیشن کامل‌تر ایجاد کرد که شرایط تعیین‌شده را بهتر پوشش می‌داد و امکانات بیشتری در اختیار کاربر قرار می‌داد.

اگر قرار بود همین قابلیت‌ها را در اجرای اول اضافه کنم، احتمالاً باید چند بار دیگر برای Claude Code پرامپت می‌فرستادم و هر ویژگی را جداگانه توضیح می‌دادم.

استفاده از /goal همچنین باعث شد بتوانم در حین انجام کار سراغ فعالیت‌های دیگری بروم و لازم نباشد دائماً روند اجرای Claude Code را زیر نظر داشته باشم.

البته برای گرفتن بهترین نتیجه، باید مجوزهای لازم را در اختیار Claude Code قرار دهید و در صورت نیاز حالت Auto را فعال کنید. همچنین هرچه پروژه پیچیده‌تر شود، مزیت چنین رویکردی بیشتر خودش را نشان می‌دهد.

هر هدفی با /goal باعث صرفه‌جویی در زمان نمی‌شود

هدف‌های مبهم می‌توانند دوباره شما را وارد چرخه پرامپت‌نویسی کنند

نباید تصور کنید /goal یک راه‌حل جادویی است که هر پرامپتی را به یک پروژه کامل تبدیل می‌کند. کیفیت نتیجه همچنان به نحوه تعریف درخواست و مشخص بودن هدف بستگی دارد.

من در بیشتر موارد با استفاده از این دستور خروجی بهتری دریافت کرده‌ام، اما دلیل مهم آن این است که در پرامپت‌هایم معمولاً یک شرط مشخص برای نتیجه نهایی وجود دارد. Claude Code می‌تواند چنین شرطی را بررسی کند و بفهمد چه زمانی کار به پایان رسیده است.

این شرط می‌تواند یک قابلیت مشخص یا وضعیت نهایی مورد انتظار برای برنامه یا اسکریپت باشد.

دستور goal در Claude Code چیست؟ کدنویسی خودکار با یک پرامپت ساده!

به عنوان مثال، اگر بخواهم پوشه Downloads را مرتب کنم، صرفاً نمی‌نویسم:

«پوشه Downloads را مرتب کن.»

بهتر است یک نتیجه مشخص تعریف کنم؛ مثلاً فایل‌ها باید بر اساس دسته‌بندی مرتب شوند.

در این حالت، Claude Code می‌تواند پس از انجام مراحل مرتب‌سازی بررسی کند که آیا فایل‌ها واقعاً مطابق شرط تعیین‌شده دسته‌بندی شده‌اند یا خیر.

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

بنابراین، نکته اصلی فقط اضافه کردن /goal نیست؛ باید هدف را نیز به شکل دقیق و قابل بررسی تعریف کنید.

خودکار بودن به معنای بی‌نیازی از نظارت نیست

در مجموع، قابلیت /goal می‌تواند Claude Code را نسبت به حالت عادی مستقل‌تر کند. ترکیب این قابلیت با مجوزهای مناسب و حالت Auto می‌تواند باعث شود ابزار بخش بیشتری از کار را بدون دخالت مداوم کاربر انجام دهد.

با این حال، نباید تصور کرد که بعد از اضافه کردن این دستور می‌توانید کاملاً از پروژه فاصله بگیرید. Claude Code همچنان بر اساس اطلاعاتی که در اختیار دارد تصمیم می‌گیرد و ممکن است در بعضی مراحل برداشت متفاوتی از نیاز شما داشته باشد.

به همین دلیل، ممکن است بخشی از زمانی را که در مرحله اجرا ذخیره کرده‌اید، بعداً برای بررسی خروجی و اصلاح مشکلات صرف کنید.

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

بنابراین /goal قرار نیست نظارت انسان را کاملاً حذف کند؛ اما می‌تواند مقدار تعامل دستی مورد نیاز را به شکل قابل توجهی کاهش دهد. برای پروژه‌های بزرگ‌تر و چندمرحله‌ای، همین کاهش تعامل می‌تواند مقدار زیادی زمان ذخیره کند.