برای کسی که نمیتواند از صفر کد بنویسد، کلود کد مثل جادو به نظر میرسد: توصیف میکنید چه میخواهید و آن را برایتان میسازد یا انجام میدهد! تا حدی به همین دلیل است که کلود کد، با وجود اینکه برنامهنویسی نمیکنم، به یکی از پرکاربردترین اپلیکیشنهای من تبدیل شده است.
با این حال، اشتباه است اگر فرض کنید کلود کد کاملاً خودکار عمل میکند. در مراحل مختلف فرایند کدنویسی، باید به پرسشها پاسخ دهید و پرامپتهای بیشتری بدهید. این موضوع در پروژههای کوچک قابلتحمل است، اما اگر انتظار داشته باشید کلود کد خودش همهچیز را انجام دهد، آزاردهنده میشود.
بهتازگی متوجه شدم کلود کد یک قابلیت داخلی دارد که به حل این مشکل کمک میکند. مهمتر از آن، افزودن یک دستور ساده پیش از پرامپت کلود کد تفاوتی چشمگیر ایجاد میکند: /goal.
دستور /goal تعداد پرامپتهایم را از چهار به یک کاهش داد
حسابوکتابِ تغییرات

پیش از آنکه بگویم دستور /goal چه میکند و چگونه تفاوت ایجاد میکند، اجازه دهید تجربه ساخت یک برنامه با کلود کد، بدون استفاده از این دستور را مرور کنیم. فرض کنید میخواهم با کلود کد یک اپلیکیشن تحت وب برای ردیابی عادتها بسازم و تنها زبانی که باید بدانم، انگلیسی است!
ترمینال را باز میکنم، کلود کد را راه میاندازم و پرامپتی مینویسم که چیزی شبیه این است: «یک ردیاب عادت تحت وب برایم بساز که همهچیز را در مرورگر ذخیره کند و کاملاً آفلاین کار کند.» کلود کد در یک ثانیه شروع به فکر کردن و ساختن میکند، اما در میانه فرایند باید به پرسشهایش پاسخ دهم. مهمتر اینکه محصول نهایی کلود کد احتمالاً ناقص است؛ بنابراین باید پرامپتهای بیشتری بدهم و صبر کنم تا اپلیکیشن کامل شود.
افزودن دستور /goal این وضعیت را برای همیشه تغییر میدهد.
وقتی دستور /goal را پیش از پرامپت کلود کد میآورید، کلود کد پرامپت را بهعنوان شرطی که باید برآورده شود، یا هدفی که اپلیکیشن باید به آن برسد، در نظر میگیرد. یعنی بهجای اینکه مدام از شما پرامپتهای تازه بخواهد، تا برآورده شدن آن شرط به کار ادامه میدهد. کلود کد پس از هر تسک، یک مدل کوچکتر اجرا میکند تا تشخیص دهد هدف محقق شده است یا نه. اگر محقق شده باشد، نتیجه را روی صفحه میبینید؛ اگر نه، کلود کد همچنان برای رسیدن به آن هدف کار میکند. توجه داشته باشید که این قابلیت با حالت Auto در کلود کد متفاوت است؛ حالتی که فقط فراخوانی ابزارها را میپذیرد، اما نمیتواند فراخوانی تازهای را آغاز کند.
برای کاربر نهایی، دستور /goal یعنی پاسخ دادن به پرسشهای پیگیری کمتر از سوی کلود کد، یا حتی بینیازی کامل از پاسخ دادن به آنها. همچنین متوجه شدم که صرف افزودن این دستور پیش از پرامپت، نسبت به حذف آن پاسخ کلی بهتری میدهد. این روند را دنبال کردهام و تفاوتش واقعاً چشمگیر بوده است.
اپلیکیشن ردیاب عادت، این حسابوکتاب را تأیید کرد
چهار مرحله بررسی به یکی کاهش یافت؛ زمانش را هم گرفتم

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

از سوی دیگر، با دستور /goal، اپلیکیشن وب کاملی دریافت کردم که همه شرطهایی را که مشخص کرده بودم برآورده میکرد. همانطور که در اسکرینشات زیر میبینید، اپلیکیشن وب شامل چند ویژگی بود که انتظار دارید در یک اپلیکیشن ردیاب عادت ببینید. در واقع، باید چند دقیقه وقت میگذاشتم و برای افزودن عناصری که این نشست اضافه کرد، پرامپتهای بیشتری به نشست اول میفرستادم.

این قابلیت باعث شد بتوانم روی کارهای دیگر تمرکز کنم، در حالی که کلود کد همهچیز را مدیریت میکرد. با این حال، باید به پوشه فضای کار اعتماد میکردم و برای بهترین نتیجه، حالت Auto را فعال میکردم. همچنین باید بدانید که ارزش دستور /goal را بیشتر هنگام انجام پروژههای پیچیدهتر درک خواهید کرد.
هر شرط /goal لزوماً در زمان صرفهجویی نمیکند
اهداف مبهم، مانند پرامپتنویسی دستی، وارد چرخه میشوند

با این حال، در نظر گرفتن دستور /goal بهعنوان راهحلی جادویی برای همهچیز، ایده خوبی نیست. تنها با ساختار درست پرامپت میتوانید بیشترین بهره را از این قابلیت ببرید. هرچند متوجه شدهام که این دستور در بیشتر موارد نتایج بهتری تولید میکند، دلیلش این است که پرامپتهایم شامل چیزی هستند که Claude Code میتواند آن را شرط در نظر بگیرد. این شرط میتواند یک ویژگی مشخص یا وضعیت کلی اپلیکیشن یا اسکریپتی باشد که در حال ساخت آن هستم.
برای مثال، وقتی دستور /goal را با درخواستی برای سازماندهی دوباره پوشه Downloads به کار میبرم، شرطی هم به درخواست اضافه میکنم؛ مثلاً اینکه فایلها بر اساس دستهبندی مرتب شوند. به این ترتیب، پس از تکمیل هر کارِ بازچینش، Claude Code میتواند مدل کوچکتر خود را اجرا کند تا تأیید کند شرط برقرار شده است یا خیر.
بدون این عنصر شرطی، همیشه بهترین نتایج را نخواهید گرفت. در نهایت، اگر اهداف خود را مبهم نگه دارید، دوباره زمان بیشتری را صرف پرامپتنویسی دستی خواهید کرد.
خودمختار به معنای بدون نظارت نیست
در نهایت، قابلیت /goal، Claude Code را بسیار خودمختارتر میکند. در ترکیب با دسترسیهای مناسب و حالت Auto، میتواند در زمانی کوتاهتر نتایج بهتری به شما بدهد. با این حال، باید توجه داشته باشید که این قابلیت چند فرض درباره فرایند ساخت دارد. بنابراین ممکن است گاهی لازم باشد بازگردید و زمان ذخیرهشده را دوباره صرف اصلاح کار کنید. پس نمیتوان نظارت را از معادله حذف کرد. اما افزودن این دستور، زمان زیادی برایتان ذخیره میکند و تفاوت بزرگی به وجود میآورد.
منبع: این مطلب ترجمه و بومیسازی مقالهای از MakeUseOf به قلم Abhijith N Arjunan است. مشاهده مقاله اصلی