Automation
دستورهای دائمی
دستورهای دائمی به عامل شما برای برنامههای تعریفشده اختیار عملیاتی دائمی میدهند. بهجای اینکه برای هر وظیفه به عامل فرمان بدهید، برنامههایی با دامنه، محرکها و قواعد ارجاعدهی روشن تعریف میکنید و عامل درون آن مرزها بهصورت خودکار اجرا میکند: «گزارش هفتگی بر عهده توست. هر جمعه آن را تهیه و ارسال کن و فقط اگر چیزی نادرست به نظر میرسد، موضوع را ارجاع بده.»
چرا دستورهای دائمی
بدون دستورهای دائمی: برای هر وظیفه به عامل فرمان میدهید، کارهای روزمره فراموش میشوند یا به تأخیر میافتند و خودتان به گلوگاه تبدیل میشوید.
با دستورهای دائمی: عامل درون مرزهای تعریفشده بهصورت خودکار اجرا میکند، کارهای روزمره طبق برنامه انجام میشوند و شما فقط برای موارد استثنا و تأییدها درگیر میشوید.
نحوه کار آنها
دستورهای دائمی در فایلهای فضای کاری عامل تعریف میشوند. روش پیشنهادی این است که آنها را مستقیماً در AGENTS.md قرار دهید (که در هر نشست بهطور خودکار تزریق میشود) تا عامل همیشه آنها را در زمینه خود داشته باشد. برای پیکربندیهای بزرگتر، میتوانید آنها را در فایلی اختصاصی مانند standing-orders.md نیز قرار دهید و از AGENTS.md به آن ارجاع دهید.
هر برنامه موارد زیر را مشخص میکند:
- دامنه - عامل مجاز است چه کارهایی انجام دهد
- محرکها - چه زمانی اجرا شود (زمانبندی، رویداد یا شرط)
- دروازههای تأیید - چه مواردی پیش از اقدام به تأیید انسان نیاز دارند
- قواعد ارجاعدهی - چه زمانی متوقف شود و درخواست کمک کند
عامل این دستورالعملها را در هر نشست از طریق فایلهای راهاندازی فضای کاری بارگذاری میکند (برای فهرست کامل فایلهایی که بهطور خودکار تزریق میشوند، به فضای کاری عامل مراجعه کنید) و آنها را همراه با کارهای Cron برای اجرای مبتنی بر زمان به کار میگیرد.
ساختار یک دستور دائمی
## برنامه: گزارش وضعیت هفتگی **اختیار:** گردآوری دادهها، تولید گزارش و تحویل به ذینفعان**محرک:** هر جمعه ساعت 4 بعدازظهر (اعمالشده از طریق کار Cron)**دروازه تأیید:** برای گزارشهای استاندارد هیچکدام. موارد غیرعادی را برای بازبینی انسان علامتگذاری کنید.**ارجاعدهی:** اگر منبع داده در دسترس نباشد یا معیارها غیرعادی به نظر برسند (>2σ از هنجار) ### مراحل اجرا 1. معیارها را از منابع پیکربندیشده دریافت کنید2. آنها را با هفته قبل و اهداف مقایسه کنید3. گزارش را در Reports/weekly/YYYY-MM-DD.md تولید کنید4. خلاصه را از طریق کانال پیکربندیشده تحویل دهید5. تکمیل کار را در Agent/Logs/ ثبت کنید ### کارهایی که نباید انجام شوند - گزارشها را برای طرفهای خارجی ارسال نکنید- دادههای منبع را تغییر ندهید- اگر معیارها نامطلوب به نظر میرسند، تحویل را نادیده نگیرید؛ دقیق گزارش کنیددستورهای دائمی همراه با کارهای Cron
دستورهای دائمی مشخص میکنند عامل مجاز است چه کاری انجام دهد. کارهای Cron مشخص میکنند این کار چه زمانی انجام شود. آنها در کنار یکدیگر کار میکنند:
دستور دائمی: «رسیدگی روزانه به صندوق ورودی بر عهده توست» ↓کار Cron (هر روز ساعت 8 صبح): «رسیدگی به صندوق ورودی را طبق دستورهای دائمی اجرا کن» ↓عامل: دستورهای دائمی را میخواند → مراحل را اجرا میکند → نتایج را گزارش میدهدفرمان کار Cron باید بهجای تکرار دستور دائمی، به آن ارجاع دهد:
openclaw cron add \ --name daily-inbox-triage \ --cron "0 8 * * 1-5" \ --tz America/New_York \ --timeout-seconds 300 \ --announce \ --channel imessage \ --to "+1XXXXXXXXXX" \ --message "رسیدگی روزانه به صندوق ورودی را طبق دستورهای دائمی اجرا کن. ایمیل را برای هشدارهای جدید بررسی کن. هر مورد را تجزیه، دستهبندی و ذخیره کن. خلاصه را به مالک گزارش بده. موارد ناشناخته را ارجاع بده."مثالها
مثال 1: محتوا و رسانههای اجتماعی (چرخه هفتگی)
## برنامه: محتوا و رسانههای اجتماعی **اختیار:** پیشنویس محتوا، زمانبندی پستها و تهیه گزارشهای تعامل**دروازه تأیید:** همه پستها در 30 روز نخست به بازبینی مالک نیاز دارند و پس از آن تحت تأیید دائمی قرار میگیرند**محرک:** چرخه هفتگی (بازبینی دوشنبه → پیشنویسهای میانه هفته → گزارش مختصر جمعه) ### چرخه هفتگی - **دوشنبه:** معیارهای پلتفرم و تعامل مخاطبان را بازبینی کنید- **سهشنبه تا پنجشنبه:** پستهای اجتماعی را پیشنویس و محتوای وبلاگ را ایجاد کنید- **جمعه:** گزارش مختصر بازاریابی هفتگی را تهیه کنید → به مالک تحویل دهید ### قواعد محتوا - لحن باید با برند مطابقت داشته باشد (به SOUL.md یا راهنمای لحن برند مراجعه کنید)- در محتوای عمومی هرگز خود را بهعنوان هوش مصنوعی معرفی نکنید- در صورت در دسترس بودن، معیارها را درج کنید- بهجای خودتبلیغی، بر ارزش برای مخاطب تمرکز کنیدمثال 2: عملیات مالی (با محرک رویداد)
## برنامه: پردازش مالی **اختیار:** پردازش دادههای تراکنش، تولید گزارشها و ارسال خلاصهها**دروازه تأیید:** برای تحلیل هیچکدام. پیشنهادها به تأیید مالک نیاز دارند.**محرک:** شناسایی فایل داده جدید یا چرخه ماهانه زمانبندیشده ### هنگام رسیدن داده جدید 1. فایل جدید را در دایرکتوری ورودی تعیینشده شناسایی کنید2. همه تراکنشها را تجزیه و دستهبندی کنید3. آنها را با اهداف بودجه مقایسه کنید4. موارد غیرعادی، عبور از آستانهها و هزینههای تکرارشونده جدید را علامتگذاری کنید5. گزارش را در دایرکتوری خروجی تعیینشده تولید کنید6. خلاصه را از طریق کانال پیکربندیشده به مالک تحویل دهید ### قواعد ارجاعدهی - مورد منفرد > $500: هشدار فوری- دسته > بودجه به میزان 20%: در گزارش علامتگذاری شود- تراکنش شناساییناپذیر: دستهبندی را از مالک بپرسید- شکست پردازش پس از 2 تلاش مجدد: شکست را گزارش دهید و حدس نزنیدمثال 3: پایش و هشدارها (پیوسته)
## برنامه: پایش سیستم **اختیار:** بررسی سلامت سیستم، راهاندازی مجدد سرویسها و ارسال هشدارها**دروازه تأیید:** سرویسها را بهطور خودکار راهاندازی مجدد کنید. اگر راهاندازی مجدد دو بار شکست خورد، موضوع را ارجاع دهید.**محرک:** هر چرخه Heartbeat ### بررسیها - نقاط پایانی سلامت سرویس پاسخ میدهند- فضای دیسک بالاتر از آستانه است- وظایف در انتظار کهنه نشدهاند (>24 ساعت)- کانالهای تحویل عملیاتی هستند ### ماتریس واکنش | وضعیت | اقدام | ارجاع داده شود؟ || ------------------ | ---------------------------------- | ------------------------------- || سرویس قطع است | بهطور خودکار راهاندازی مجدد شود | فقط اگر راهاندازی مجدد 2 بار شکست خورد || فضای دیسک < 10% | به مالک هشدار داده شود | بله || وظیفه کهنه > 24h | به مالک یادآوری شود | خیر || کانال آفلاین است | ثبت و در چرخه بعدی دوباره تلاش شود | اگر بیش از 2 ساعت آفلاین باشد |الگوی اجرا-راستیآزمایی-گزارش
دستورهای دائمی هنگامی بهترین عملکرد را دارند که با انضباط اجرایی سختگیرانه ترکیب شوند. هر وظیفه در یک دستور دائمی باید از این چرخه پیروی کند:
- اجرا - کار واقعی را انجام دهید (صرفاً دستور را تأیید نکنید)
- راستیآزمایی - تأیید کنید نتیجه درست است (فایل وجود دارد، پیام تحویل شده، داده تجزیه شده است)
- گزارش - به مالک بگویید چه کاری انجام و چه چیزی راستیآزمایی شد
### قواعد اجرا - هر وظیفه از اجرا-راستیآزمایی-گزارش پیروی میکند. بدون استثنا.- «این کار را انجام میدهم» اجرا محسوب نمیشود. آن را انجام دهید، سپس گزارش کنید.- «انجام شد» بدون راستیآزمایی پذیرفتنی نیست. آن را اثبات کنید.- اگر اجرا شکست خورد: یکبار با رویکرد اصلاحشده دوباره تلاش کنید.- اگر همچنان شکست خورد: شکست را همراه با تشخیص گزارش دهید. هرگز بیسروصدا شکست نخورید.- هرگز بینهایت تلاش مجدد نکنید؛ حداکثر 3 تلاش، سپس ارجاع دهید.این الگو از رایجترین حالت شکست عامل جلوگیری میکند: تأیید یک وظیفه بدون تکمیل آن.
معماری چندبرنامهای
برای عاملهایی که چندین حوزه را مدیریت میکنند، دستورهای دائمی را بهشکل برنامههای جداگانه با مرزهای روشن سازماندهی کنید:
## برنامه 1: [حوزه الف] (هفتگی) ... ## برنامه 2: [حوزه ب] (ماهانه + برحسب تقاضا) ... ## برنامه 3: [حوزه ج] (برحسب نیاز) ... ## قواعد ارجاعدهی (همه برنامهها) - [معیارهای مشترک ارجاعدهی]- [دروازههای تأییدی که در همه برنامهها اعمال میشوند]هر برنامه باید موارد زیر را داشته باشد:
- تناوب محرک مختص خود (هفتگی، ماهانه، رویدادمحور، پیوسته)
- دروازههای تأیید مختص خود (برخی برنامهها بیش از سایرین به نظارت نیاز دارند)
- مرزهای روشن (عامل باید بداند یک برنامه کجا پایان مییابد و برنامه دیگر کجا آغاز میشود)
بهترین شیوهها
انجام دهید
- با اختیارات محدود شروع کنید و با افزایش اعتماد آنها را گسترش دهید
- برای اقدامات پرخطر، دروازههای تأیید صریح تعریف کنید
- بخشهای «کارهایی که نباید انجام شوند» را درج کنید؛ مرزها بهاندازه مجوزها اهمیت دارند
- برای اجرای قابلاعتماد مبتنی بر زمان، آنها را با کارهای Cron ترکیب کنید
- گزارشهای عامل را هر هفته بازبینی کنید تا از رعایت دستورهای دائمی مطمئن شوید
- دستورهای دائمی را همگام با تکامل نیازهایتان بهروزرسانی کنید؛ آنها اسنادی زنده هستند
پرهیز کنید
- از همان روز نخست اختیارات گسترده ندهید («هر کاری فکر میکنی بهتر است انجام بده»)
- قواعد ارجاعدهی را نادیده نگیرید؛ هر برنامه به بندی برای «زمان توقف و درخواست کمک» نیاز دارد
- فرض نکنید عامل دستورالعملهای شفاهی را به خاطر میسپارد؛ همهچیز را در فایل قرار دهید
- حوزههای مختلف را در یک برنامه ترکیب نکنید؛ برای حوزههای جداگانه، برنامههای جداگانه داشته باشید
- اعمال آنها با کارهای Cron را فراموش نکنید؛ دستورهای دائمی بدون محرک به پیشنهاد تبدیل میشوند
مرتبط
- خودکارسازی: همه سازوکارهای خودکارسازی در یک نگاه.
- کارهای Cron: اعمال زمانبندی برای دستورهای دائمی.
- قلابها: اسکریپتهای رویدادمحور برای رویدادهای چرخه عمر عامل.
- Webhookها: محرکهای ورودی رویداد HTTP.
- فضای کاری عامل: محل نگهداری دستورهای دائمی، شامل فهرست کامل فایلهای راهاندازی که بهطور خودکار تزریق میشوند (
AGENTS.md،SOUL.mdو غیره).