هدف: نگهداشتن Claude در مسیر یک هدف
دستور /goal یک شرط تکمیل تعیین میکند و Claude بدون اینکه در هر مرحله پرامپت بدهی، بهسمت آن کار میکند. بعد از هر نوبت، یک مدل کوچک و سریع بررسی میکند که آیا شرط برقرار است یا نه. اگر نباشد، Claude بهجای بازگرداندن کنترل به تو، نوبت دیگری را شروع میکند. بهمحض برقرارشدن شرط، goal بهصورت خودکار پاک میشود.
از یک goal برای کارهای پرحجم با یک حالت پایانیِ قابلراستیآزمایی استفاده کن:
- مهاجرت یک ماژول به یک API جدید تا وقتی همهی محلهای فراخوانی کامپایل شوند و تستها پاس شوند
- پیادهسازی یک سند طراحی تا وقتی همهی معیارهای پذیرش برقرار شوند
- تقسیم یک فایل بزرگ به ماژولهای متمرکز تا وقتی هرکدام زیر سقف اندازه بمانند
- رسیدگی به یک صف از ایشوهای برچسبخورده تا وقتی صف خالی شود
این صفحه به این موارد میپردازد:
- مقایسهی راههای روشننگهداشتن یک نشست:
/loop، Stop hookها، و auto mode - تعیین یک goal و نوشتن یک شرط مؤثر
- بررسی وضعیت، پاککردن زودهنگام، و اجرای غیرتعاملی
- دیدنِ نحوهی کار ارزیابی و پیشنیازها
مقایسهی راههای روشننگهداشتن یک نشست
Section titled “مقایسهی راههای روشننگهداشتن یک نشست”سه رویکرد، نشست جاری را بین پرامپتها روشن نگه میدارند. بر اساس اینکه چه چیزی باید نوبت بعدی را شروع کند انتخاب کن:
| رویکرد | نوبت بعدی شروع میشود وقتی | متوقف میشود وقتی |
|---|---|---|
/goal | نوبت قبلی تمام شود | یک مدل تأیید کند شرط برقرار است |
/loop | یک بازهی زمانی بگذرد | تو متوقفش کنی، یا Claude تشخیص دهد کار تمام است |
| Stop hook | نوبت قبلی تمام شود | اسکریپت یا پرامپت خودت تصمیم بگیرد |
/goal و یک Stop hook هر دو بعد از هر نوبت اجرا میشوند. /goal یک میانبُرِ محدود به نشست است: یک شرط تایپ میکنی و فقط برای نشست جاری فعال است. یک Stop hook در فایل تنظیماتت زندگی میکند، برای هر نشستی در دامنهاش اعمال میشود، و میتواند یک اسکریپت را برای بررسیهای قطعی یا یک پرامپت را برای بررسیهای ارزیابیشده توسط مدل اجرا کند.
Auto mode بهتنهایی فراخوانی ابزارها را درون یک نوبت تأیید میکند ولی نوبت تازهای را شروع نمیکند. Claude وقتی کار را تمامشده تشخیص دهد متوقف میشود. /goal یک ارزیابِ جداگانه اضافه میکند که شرط تو را بعد از هر نوبت بررسی میکند، پس تکمیل را یک مدل تازه تصمیم میگیرد، نه همان مدلی که کار را انجام میدهد. این دو مکمل هماند: auto mode پرامپتهای هر-ابزار را حذف میکند و /goal پرامپتهای هر-نوبت را.
استفاده از /goal
Section titled “استفاده از /goal”در هر نشست یک goal میتواند فعال باشد. همان دستور بسته به آرگومان، آن را تعیین، بررسی و پاک میکند.
تعیین یک goal
Section titled “تعیین یک goal”/goal را بههمراه شرطی که میخواهی برآورده شود اجرا کن. اگر یک goal از قبل فعال باشد، goal جدید جایگزینش میشود.
/goal all tests in test/auth pass and the lint step is cleanتعیین یک goal بلافاصله یک نوبت را شروع میکند، با خودِ شرط بهعنوان دستورالعمل. لازم نیست یک پرامپت جداگانه بفرستی. تا وقتی goal فعال است، یک نشانگرِ ◎ /goal active نشان میدهد goal چقدر در حال اجرا بوده است.
بعد از هر نوبت، ارزیاب یک دلیل کوتاه برمیگرداند که توضیح میدهد چرا شرط برقرار است یا نیست. تازهترین دلیل در نمای وضعیت و در رونوشت ظاهر میشود تا ببینی Claude در نوبت بعدی بهسمت چه چیزی کار میکند.
نوشتن یک شرط مؤثر
Section titled “نوشتن یک شرط مؤثر”ارزیاب شرط تو را در برابر چیزی که Claude در گفتوگو رو کرده است قضاوت میکند. خودش دستوری اجرا نمیکند یا فایلی نمیخواند، پس شرط را طوری بنویس که خروجیِ خودِ Claude بتواند نشانش دهد. «همهی تستهای test/auth پاس میشوند» کار میکند چون Claude تستها را اجرا میکند و نتیجه در رونوشت مینشیند تا ارزیاب آن را بخواند.
شرطی که در طول نوبتهای زیاد دوام بیاورد معمولاً اینها را دارد:
- یک حالت پایانیِ قابلاندازهگیری: یک نتیجهی تست، یک کد خروجیِ build، یک شمارش فایل، یک صف خالی
- یک بررسیِ تصریحشده: اینکه Claude چطور باید آن را اثبات کند، مثل «
npm testبا ۰ خارج میشود» یا «git statusپاک است» - محدودیتهایی که مهماند: هر چیزی که در مسیر رسیدن نباید تغییر کند، مثل «هیچ فایل تست دیگری تغییر نمیکند»
شرط میتواند تا ۴٬۰۰۰ کاراکتر باشد.
برای محدودکردن مدت اجرای یک goal، یک بند نوبتی یا زمانی در شرط بگنجان، مثل or stop after 20 turns. Claude در هر نوبت پیشرفت را در برابر آن بند گزارش میکند و ارزیاب از روی گفتوگو قضاوتش میکند.
بررسی وضعیت
Section titled “بررسی وضعیت”/goal را بدون آرگومان اجرا کن تا وضعیت فعلی را ببینی.
/goalاگر یک goal فعال باشد، وضعیت اینها را نشان میدهد:
- شرط
- چه مدت در حال اجرا بوده
- چند نوبت ارزیابی شده
- مصرف فعلی توکن
- تازهترین دلیل ارزیاب
اگر هیچ goalی فعال نباشد ولی یکی پیشتر در نشست محقق شده باشد، وضعیت شرطِ محققشده را بههمراه مدت، شمار نوبتها و مصرف توکنش نشان میدهد.
پاککردن یک goal
Section titled “پاککردن یک goal”/goal clear را اجرا کن تا یک goal فعال را پیش از برقرارشدن شرطش حذف کنی.
/goal clearstop، off، reset، none، و cancel بهعنوان مترادفهای clear پذیرفته میشوند. اجرای /clear برای شروع یک گفتوگوی جدید هم هر goal فعالی را حذف میکند.
ازسرگیری با یک goal فعال
Section titled “ازسرگیری با یک goal فعال”goalی که در پایان یک نشست هنوز فعال بوده، وقتی آن نشست را با --resume یا --continue از سر بگیری بازگردانده میشود. شرط منتقل میشود، ولی شمار نوبتها، تایمر و مبنای مصرف توکن همه با ازسرگیری ریست میشوند. goalی که از قبل محقق یا پاک شده باشد بازگردانده نمیشود.
اجرای غیرتعاملی
Section titled “اجرای غیرتعاملی”/goal در حالت غیرتعاملی، در اپلیکیشن دسکتاپ، و از طریق Remote Control کار میکند. تعیین یک goal با -p حلقه را در یک فراخوانیِ واحد تا تکمیل اجرا میکند:
claude -p "/goal CHANGELOG.md has an entry for every PR merged this week"برای متوقفکردن یک goal غیرتعاملی پیش از برقرارشدن شرط، فرایند را با Ctrl+C قطع کن.
نحوهی کار ارزیابی
Section titled “نحوهی کار ارزیابی”/goal یک لایهی پوششی روی یک Stop hookِ مبتنیبر-پرامپتِ محدود-به-نشست است. هر بار که Claude یک نوبت را تمام میکند، شرط و گفتوگوی تا آن لحظه به مدل کوچک و سریعِ پیکربندیشدهات فرستاده میشود که بهصورت پیشفرض Haiku است. مدل یک تصمیمِ بله-یا-نه و یک دلیل کوتاه برمیگرداند. یک «نه» به Claude میگوید کار را ادامه دهد و دلیل را بهعنوان راهنمایِ نوبت بعدی همراه میکند. یک «بله» goal را پاک میکند و یک ورودیِ محققشده در رونوشت ثبت میکند.
ارزیاب روی هر providerی که نشستت برایش پیکربندی شده اجرا میشود. ابزارها را فرا نمیخواند، پس فقط میتواند چیزی را قضاوت کند که Claude از قبل در گفتوگو رو کرده است.
پیشنیازها
Section titled “پیشنیازها”/goal فقط در workspaceهایی اجرا میشود که دیالوگ trust را پذیرفتهای، چون ارزیاب بخشی از سیستم hooks است. /goal همچنین وقتی disableAllHooks در هر سطحی از تنظیمات تنظیم شده باشد، یا وقتی allowManagedHooksOnly در managed settings تنظیم شده باشد، در دسترس نیست. در هر مورد، دستور بهجای اینکه بیصدا کاری نکند، دلیلش را به تو میگوید.
همچنین ببین
Section titled “همچنین ببین”- اجرای مکرر یک پرامپت با
/loop: اجرای دوباره در یک بازهی زمانی بهجای ادامه تا برقرارشدن یک شرط - hookهای مبتنیبر-پرامپت: وقتی به منطق ارزیابیِ سفارشی نیاز داری، Stop hook خودت را بنویس
- Auto mode: تأیید خودکار فراخوانی ابزارها تا هر نوبت goal بدون نظارت اجرا شود
- مقایسهی زمانبندی: اجرای کار طبق یک زمانبندی، مستقل از هر نشست باز