Claude Code اکنون سه دستور مهندسی حلقه (loop-engineering) شامل /loop، /goal و /schedule را ارائه میدهد که به یک عامل کدنویسی (coding agent) اجازه میدهد بدون نیاز به تایپ هر مرحله توسط انسان، چرخه پرامپت خود را هدایت کند. این قابلیت به توسعهدهندگان راهی برای خودکارسازی کارهای تکراری کدنویسی، کنترل مصرف توکن و اجتناب از ریتم «تایپ-پرامپت-انتظار-تایپ-پرامپت» که تاکنون مشخصه توسعه به کمک هوش مصنوعی بوده است، وعده میدهد.
چرا این دستورات جدید اهمیت دارند
بیشتر جریانهای کاری کدنویسی با هوش مصنوعی هنوز به یک رفت و برگشت دستی متکی هستند: توسعهدهنده یک درخواست مینویسد، مدل کد را برمیگرداند، توسعهدهنده آن را میخواند، تصمیم میگیرد مرحله بعد چه چیزی بپرسد و این روند را تکرار میکند. وقتی یک وظیفه کوچک و مشابه — مانند اجرای یک build، رفع یک هشدار lint، یا تکرار فرآیند برای رفع خطای تست — نیاز به دهها مرحله داشته باشد، این الگو کند، پرهزینه و مستعد خطا خواهد بود.
سه حالت حلقه
- /loop – یک چرخه سبک و خودگردان. همان نمونه Claude هر مرحله را اجرا کرده و یک شرط ساده را بررسی میکند، مانند «آیا build با موفقیت انجام شده است؟». این حالت زمانی بهترین عملکرد را دارد که مرحله تأیید ساده باشد و خطر سیگنالِ «انجام شدِ» اشتباه، کم باشد.
- /goal – یک چرخه با دقت بالا. در هر مرحله، یک مدل ثانویه شرط تکمیل کار را ارزیابی میکند و لایه دیگری از دقت را اضافه میکند. زمانی از آن استفاده کنید که پایان زودهنگام هزینهبر باشد؛ مثلاً هنگام استقرار (deploy) یک سرویس حساس از نظر امنیتی.
- /schedule – یک روتین میزبانیشده در ابر که روی زیرساخت Anthropic اجرا میشود. این حلقه حتی اگر لپتاپ توسعهدهنده خاموش باشد، ادامه مییابد.
هر سه حالت از یک معماری مشترک پیروی میکنند: یک skill (دستورالعملهایی که به عامل میگوید چه کاری انجام دهد)، یک verifier (بررسیای که ثابت میکند کار واقعاً تمام شده است)، guardrails (محدودیتهایی بر ابزارهایی که عامل مجاز به فراخوانی آنهاست) و state (حافظهای سبک از اقدامات قبلی). اگر هر یک از این بخشها را حذف کنید، حلقه به یک توافق خودساخته و بیپایان تبدیل میشود که فقط باعث افزایش مصرف توکن میگردد.
ساخت یک حلقه ایمن و با هزینه کنترلشده
- تعریف مهارت (skill) – یک پرامپت شفاف و قطعی (deterministic) بنویسید که عملیات دقیق را به عامل بگوید (مثلاً:
run npm test and capture the output). - افزودن تاییدکننده (verifier) – مهارت را با یک تست ملموس که عامل نتواند آن را جعل کند، ترکیب کنید؛ مانند تجزیه (parsing) کد خروج (exit code) واقعیِ اجراکننده تست یا بررسی checksum یک فایل تولید شده.
- تعیین حفاظها (guardrails) – دسترسی عامل را به یک لیست سفید از دستورات یا APIها محدود کنید. این کار مانع از آن میشود که وقتی کار فقط به ورودی/خروجی فایل (file I/O) نیاز دارد، عامل یک سوکت شبکه باز کند.
- حفظ وضعیت (state) – یک بلوک کوچک JSON یا یک ورودی پایگاه داده ذخیره کنید که اقدامات انجام شده توسط عامل را ثبت کند. در مرحله بعد، وضعیت خوانده شده و از تکرار کار جلوگیری میشود.
سه محدودیت ایمنی که هر حلقه به آنها نیاز دارد
- توقف سخت (Hard stop) – حداکثر تعداد دفعات اجرا یا یک بودجه مشخص برای توکن تعیین کنید. اگر حلقه به محدودیت برسد، متوقف شده و گزارش میدهد: "max turns reached".
- شرط توقف واقعی (Real stop condition) – از یک معیار تأیید استفاده کنید که مدل نتواند آن را جعل کند، مانند مجموعه تستهای موفقیتآمیز، یک فایل خروجی غیرخالی، یا یک checksum که با یک مقدار معتبر مطابقت داشته باشد.
- سقف هزینه (Spend cap) – حلقه را به یک لایه نظارتی متصل کنید که مصرف توکن را بهصورت لحظهای زیر نظر داشته باشد و به محض رسیدن به سقف هزینه تعیینشده، اجرای آن را متوقف کند.
نتیجهگیری
دستورات /loop، /goal و /schedule در Claude Code راهکاری عملی برای خودکارسازی چرخههای تکراری کدنویسی فراهم میکنند، در حالی که مصرف توکن را شفاف نگه میدارند. کلید یک حلقه قابل اعتماد، داشتن یک verifier قوی، guardrailهای سختگیرانه و محدودیتهای قطعی برای زمان اجرا و هزینه است. ابتدا این حفاظها را بسازید، سپس اجازه دهید عامل کارهای خستهکننده را انجام دهد تا شما بتوانید وقت خود را صرف مسائلی کنید که همچنان به ذهن انسان نیاز دارند.
