Automation

دستورهای دائمی

دستورهای دائمی، اختیار عملیاتی همیشگی برای برنامه‌های تعریف‌شده به عامل شما می‌دهند. به‌جای اینکه برای هر وظیفه به عامل فرمان دهید، برنامه‌هایی با دامنه، محرک‌ها و قواعد تشدید مشخص تعریف می‌کنید و عامل درون این مرزها به‌صورت خودمختار اجرا می‌کند: «گزارش هفتگی بر عهده تو است. هر جمعه آن را تهیه و ارسال کن و فقط اگر چیزی نادرست به نظر می‌رسد، موضوع را تشدید کن.»

چرا دستورهای دائمی

بدون دستورهای دائمی: برای هر وظیفه به عامل فرمان می‌دهید، کارهای روزمره فراموش می‌شوند یا به تأخیر می‌افتند و شما به گلوگاه تبدیل می‌شوید.

با دستورهای دائمی: عامل درون مرزهای تعریف‌شده به‌صورت خودمختار اجرا می‌کند، کارهای روزمره طبق برنامه انجام می‌شوند و شما فقط برای استثناها و تأییدها درگیر می‌شوید.

نحوه کار آن‌ها

دستورهای دائمی در فایل‌های فضای کاری عامل شما تعریف می‌شوند. روش توصیه‌شده این است که آن‌ها را مستقیماً در AGENTS.md قرار دهید (که در هر نشست به‌طور خودکار تزریق می‌شود) تا عامل همیشه آن‌ها را در بافت خود داشته باشد. برای پیکربندی‌های بزرگ‌تر، می‌توانید آن‌ها را در فایلی اختصاصی مانند standing-orders.md نیز قرار دهید و از AGENTS.md به آن ارجاع دهید.

هر برنامه موارد زیر را مشخص می‌کند:

  1. دامنه - عامل مجاز به انجام چه کارهایی است
  2. محرک‌ها - چه زمانی اجرا شود (زمان‌بندی، رویداد یا شرط)
  3. دروازه‌های تأیید - چه کارهایی پیش از اقدام به تأیید انسانی نیاز دارند
  4. قواعد تشدید - چه زمانی باید متوقف شود و درخواست کمک کند

عامل این دستورالعمل‌ها را در هر نشست از طریق فایل‌های راه‌اندازی فضای کاری بارگیری می‌کند (برای فهرست کامل فایل‌هایی که به‌طور خودکار تزریق می‌شوند، به فضای کاری عامل مراجعه کنید) و آن‌ها را همراه با کارهای Cron برای اجرای زمان‌محور به کار می‌گیرد.

ساختار یک دستور دائمی

markdown
## برنامه: گزارش وضعیت هفتگی **اختیار:** گردآوری داده‌ها، تولید گزارش، تحویل به ذی‌نفعان**محرک:** هر جمعه ساعت ۴ بعدازظهر (از طریق کار cron اعمال می‌شود)**دروازه تأیید:** برای گزارش‌های استاندارد وجود ندارد. ناهنجاری‌ها را برای بررسی انسانی علامت‌گذاری کن.**تشدید:** اگر منبع داده در دسترس نیست یا معیارها غیرعادی به نظر می‌رسند (>2σ نسبت به هنجار) ### مراحل اجرا 1. معیارها را از منابع پیکربندی‌شده دریافت کن2. با هفته قبل و اهداف مقایسه کن3. گزارش را در Reports/weekly/YYYY-MM-DD.md تولید کن4. خلاصه را از طریق کانال پیکربندی‌شده تحویل بده5. تکمیل کار را در Agent/Logs/ ثبت کن ### کارهایی که نباید انجام شوند - گزارش‌ها را برای اشخاص خارجی ارسال نکن- داده‌های منبع را تغییر نده- اگر معیارها نامطلوب به نظر می‌رسند، تحویل را نادیده نگیر؛ دقیق گزارش کن

دستورهای دائمی به‌همراه کارهای Cron

دستورهای دائمی مشخص می‌کنند عامل مجاز است چه کاری انجام دهد. کارهای Cron مشخص می‌کنند این کار چه زمانی انجام شود. این دو با یکدیگر کار می‌کنند:

text
دستور دائمی: «رسیدگی روزانه به صندوق ورودی بر عهده تو است»کار Cron (هر روز ساعت ۸ صبح): «رسیدگی به صندوق ورودی را طبق دستورهای دائمی اجرا کن»عامل: دستورهای دائمی را می‌خواند ← مراحل را اجرا می‌کند ← نتایج را گزارش می‌دهد

فرمان کار cron باید به دستور دائمی ارجاع دهد، نه اینکه آن را تکرار کند:

bash
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 "رسیدگی روزانه به صندوق ورودی را طبق دستورهای دائمی اجرا کن. ایمیل را برای هشدارهای جدید بررسی کن. هر مورد را تجزیه، دسته‌بندی و ذخیره کن. خلاصه را به مالک گزارش بده. موارد ناشناخته را تشدید کن."

مثال‌ها

مثال ۱: محتوا و رسانه‌های اجتماعی (چرخه هفتگی)

markdown
## برنامه: محتوا و رسانه‌های اجتماعی **اختیار:** پیش‌نویس محتوا، زمان‌بندی پست‌ها، تهیه گزارش‌های تعامل**دروازه تأیید:** همه پست‌ها در ۳۰ روز نخست به بررسی مالک نیاز دارند و پس از آن مشمول تأیید دائمی می‌شوند**محرک:** چرخه هفتگی (بررسی دوشنبه ← پیش‌نویس‌های میان‌هفته ← گزارش مختصر جمعه) ### چرخه هفتگی - **دوشنبه:** معیارهای پلتفرم و تعامل مخاطبان را بررسی کن- **سه‌شنبه تا پنج‌شنبه:** پیش‌نویس پست‌های اجتماعی و محتوای وبلاگ را ایجاد کن- **جمعه:** گزارش مختصر بازاریابی هفتگی را تهیه کن ← به مالک تحویل بده ### قواعد محتوا - لحن باید با برند مطابقت داشته باشد (به SOUL.md یا راهنمای لحن برند مراجعه کنید)- در محتوای عمومی هرگز خود را به‌عنوان هوش مصنوعی معرفی نکن- در صورت دسترس‌بودن، معیارها را درج کن- بر ارزش برای مخاطب تمرکز کن، نه خودتبلیغی

مثال ۲: عملیات مالی (مبتنی بر رویداد)

markdown
## برنامه: پردازش مالی **اختیار:** پردازش داده‌های تراکنش، تولید گزارش‌ها، ارسال خلاصه‌ها**دروازه تأیید:** برای تحلیل وجود ندارد. توصیه‌ها به تأیید مالک نیاز دارند.**محرک:** شناسایی فایل داده جدید یا چرخه ماهانه زمان‌بندی‌شده ### هنگام رسیدن داده جدید 1. فایل جدید را در دایرکتوری ورودی تعیین‌شده شناسایی کن2. همه تراکنش‌ها را تجزیه و دسته‌بندی کن3. با اهداف بودجه مقایسه کن4. موارد زیر را علامت‌گذاری کن: اقلام غیرعادی، عبور از آستانه‌ها، هزینه‌های تکرارشونده جدید5. گزارش را در دایرکتوری خروجی تعیین‌شده تولید کن6. خلاصه را از طریق کانال پیکربندی‌شده به مالک تحویل بده ### قواعد تشدید - یک قلم > $500: هشدار فوری- یک دسته > ۲۰٪ بیش از بودجه: در گزارش علامت‌گذاری شود- تراکنش غیرقابل‌شناسایی: برای دسته‌بندی از مالک سؤال کن- شکست پردازش پس از ۲ تلاش مجدد: شکست را گزارش کن، حدس نزن

مثال ۳: پایش و هشدارها (پیوسته)

markdown
## برنامه: پایش سامانه **اختیار:** بررسی سلامت سامانه، راه‌اندازی مجدد سرویس‌ها، ارسال هشدارها**دروازه تأیید:** سرویس‌ها را به‌طور خودکار راه‌اندازی مجدد کن. اگر راه‌اندازی مجدد دو بار شکست خورد، موضوع را تشدید کن.**محرک:** هر چرخه Heartbeat ### بررسی‌ها - نقاط پایانی سلامت سرویس پاسخ می‌دهند- فضای دیسک بالاتر از آستانه است- وظایف در انتظار کهنه نیستند (>۲۴ ساعت)- کانال‌های تحویل عملیاتی هستند ### ماتریس پاسخ | وضعیت                 | اقدام                              | تشدید؟                          || --------------------- | ---------------------------------- | ------------------------------- || سرویس از کار افتاده   | راه‌اندازی مجدد خودکار             | فقط اگر راه‌اندازی مجدد ۲ بار شکست بخورد || فضای دیسک < ۱۰٪       | هشدار به مالک                      | بله                             || وظیفه کهنه > ۲۴ ساعت  | یادآوری به مالک                    | خیر                             || کانال آفلاین          | ثبت و تلاش مجدد در چرخه بعدی       | اگر بیش از ۲ ساعت آفلاین باشد  |

الگوی اجرا-راستی‌آزمایی-گزارش

دستورهای دائمی وقتی با انضباط سخت‌گیرانه در اجرا همراه شوند، بهترین عملکرد را دارند. هر وظیفه در یک دستور دائمی باید از این چرخه پیروی کند:

  1. اجرا - کار واقعی را انجام بده (فقط دریافت دستور را تأیید نکن)
  2. راستی‌آزمایی - درستی نتیجه را تأیید کن (فایل وجود دارد، پیام تحویل شده، داده تجزیه شده است)
  3. گزارش - به مالک بگو چه کاری انجام و چه چیزی راستی‌آزمایی شده است
markdown
### قواعد اجرا - هر وظیفه از الگوی اجرا-راستی‌آزمایی-گزارش پیروی می‌کند. بدون استثنا.- «انجامش می‌دهم» اجرا محسوب نمی‌شود. انجامش بده، سپس گزارش کن.- «انجام شد» بدون راستی‌آزمایی پذیرفتنی نیست. آن را اثبات کن.- اگر اجرا شکست خورد: یک بار با رویکردی اصلاح‌شده دوباره تلاش کن.- اگر همچنان شکست خورد: شکست را همراه با تشخیص گزارش کن. هرگز بی‌صدا شکست نخور.- هرگز بی‌نهایت تلاش مجدد نکن؛ حداکثر ۳ تلاش، سپس تشدید کن.

این الگو از رایج‌ترین حالت شکست عامل جلوگیری می‌کند: تأیید دریافت یک وظیفه بدون تکمیل آن.

معماری چندبرنامه‌ای

برای عامل‌هایی که چند حوزه را مدیریت می‌کنند، دستورهای دائمی را به‌صورت برنامه‌های جداگانه با مرزهای روشن سازمان‌دهی کنید:

markdown
## برنامه ۱: [حوزه الف] (هفتگی) ... ## برنامه ۲: [حوزه ب] (ماهانه + بنا به درخواست) ... ## برنامه ۳: [حوزه ج] (در صورت نیاز) ... ## قواعد تشدید (همه برنامه‌ها) - [معیارهای مشترک تشدید]- [دروازه‌های تأییدی که در همه برنامه‌ها اعمال می‌شوند]

هر برنامه باید موارد زیر را داشته باشد:

  • تناوب محرک مختص خود (هفتگی، ماهانه، مبتنی بر رویداد، پیوسته)
  • دروازه‌های تأیید مختص خود (برخی برنامه‌ها به نظارت بیشتری نسبت به بقیه نیاز دارند)
  • مرزهای روشن (عامل باید بداند یک برنامه کجا پایان می‌یابد و برنامه دیگر کجا آغاز می‌شود)

بهترین رویه‌ها

انجام دهید

  • با اختیار محدود شروع کنید و با افزایش اعتماد آن را گسترش دهید
  • برای اقدامات پرخطر، دروازه‌های تأیید صریح تعریف کنید
  • بخش‌های «کارهایی که نباید انجام شوند» را بگنجانید؛ مرزها به‌اندازه مجوزها اهمیت دارند
  • برای اجرای قابل‌اعتماد زمان‌محور، با کارهای cron ترکیب کنید
  • گزارش‌های عامل را هر هفته بررسی کنید تا مطمئن شوید دستورهای دائمی رعایت می‌شوند
  • با تکامل نیازهایتان، دستورهای دائمی را به‌روز کنید؛ آن‌ها اسنادی پویا هستند

پرهیز کنید

  • در روز نخست اختیار گسترده ندهید («هر کاری فکر می‌کنی بهتر است انجام بده»)
  • قواعد تشدید را حذف نکنید؛ هر برنامه به بندی برای «زمان توقف و درخواست کمک» نیاز دارد
  • فرض نکنید عامل دستورهای شفاهی را به خاطر خواهد سپرد؛ همه‌چیز را در فایل قرار دهید
  • حوزه‌ها را در یک برنامه ترکیب نکنید؛ برای حوزه‌های جداگانه، برنامه‌های جداگانه داشته باشید
  • اعمال آن‌ها با کارهای cron را فراموش نکنید؛ دستورهای دائمی بدون محرک به پیشنهاد تبدیل می‌شوند

مرتبط

  • خودکارسازی: همه سازوکارهای خودکارسازی در یک نگاه.
  • کارهای Cron: اعمال زمان‌بندی برای دستورهای دائمی.
  • قلاب‌ها: اسکریپت‌های مبتنی بر رویداد برای رویدادهای چرخه عمر عامل.
  • Webhookها: محرک‌های رویداد HTTP ورودی.
  • فضای کاری عامل: محل نگهداری دستورهای دائمی، شامل فهرست کامل فایل‌های راه‌اندازی که به‌طور خودکار تزریق می‌شوند (AGENTS.md، SOUL.md و غیره).
Was this useful?
On this page

On this page