دستی در برابر خودکار
ساختهای، خروجی به مقصد درست میرود. حالا سؤال آخر: چه کسی راهش میاندازد؟ — یا به زبان فنی، triggerش چیست؛ که تریگر خوانده میشود و یعنی «آن چیزی که کار را راه میاندازد».
سه جواب هست، و انتخابشان تصمیمِ طراحی است نه یک جزئیات فنی:
و اشتباهِ رایج این است که همه میخواهند از پلهی سوم شروع کنند. دستی، جوابِ درستِ اکثر کارهاست — مخصوصاً تا وقتی مطمئن نشدهای که کار واقعاً بهدردت میخورد.
زمانبندی
یعنی «هر روز ساعت ۷ صبح اجرا شو». ابزارهایش در هر سیستمعاملی هست و لازم نیست بلد باشی؛ به ایجنت میگویی تنظیمش کند.
ولی سه تصمیم را خودت باید بگیری، چون کارِ توست نه او:
- چه ساعتی؟ — و قاعدهاش این است: کمی قبل از اینکه لازمش داشته باشی. اگر ساعت ۸ سرِ کار میروی، ۷:۳۰ خوب است؛ ۷:۰۰ هم. نصفهشب بیفایده است چون تا صبح کهنه شده.
- اگر اجرا نشد چه؟ بیشتر زمانبندها اگر آن لحظه ماشین خاموش باشد، بهسادگی رد میشوند و دفعهی بعد اجرا میکنند. یعنی یک روز غایب، بیصدا.
- و اگر دو بار اجرا شد چه؟ این را کسی از قبل فکر نمیکند. اگر کارت چیزی اضافه میکند (ردیف به فایل، پیام به کانال)، اجرای دوباره یعنی دادهی تکراری — همان چیزی که در فصل ۸.۲ دیدیم چطور ۸.۴ میلیون خطا میسازد.
بهخاطر بسپار کارِ زمانبندیشده باید بتواند دو بار اجرا شود بدون اینکه خرابی به بار بیاورد. سادهترین راهش این است که خروجی را با تاریخ نامگذاری کنی — اجرای دوم همان فایل را بازنویسی میکند، نه اینکه دومی بسازد.
trigger رویدادی
یعنی «وقتی چیزی اتفاق افتاد، اجرا شو»: ایمیلی رسید، فایلی در پوشهای آمد، فرمی پر شد.
قویترین شکل است و گرانترین، چون چیزی باید همیشه گوش بدهد (فصل ۷.۱.۴ — سرویس، نه فرآیند). دو راهِ عملی:
- واقعاً رویدادی — سرویس منتظر میماند و لحظهای واکنش نشان میدهد. دقیق، ولی نیاز به ماشینِ همیشهروشن دارد.
- یا وارسیِ دورهای — هر پنج دقیقه نگاه میکند «چیز تازهای هست؟». و این تقریباً همیشه کافی است، خیلی سادهتر است، و همان زمانبندیِ بخش قبل است با فاصلهی کوتاهتر.
پس قبل از ساختنِ trigger واقعی بپرس: آیا تأخیرِ پنجدقیقهای واقعاً مشکلی ایجاد میکند؟ در کارهای اداری، تقریباً هیچوقت.
چه کسی اجرایش میکند وقتی لپتاپ من خاموش است
این سؤال، نقطهی اصلیِ فصل است — و اکثر اتوماسیونهای خانگی دقیقاً همینجا میمیرند. جواب صادقانهاش ساده است: هیچکس.
اگر کار روی لپتاپ تو تنظیم شده و لپتاپ بسته است، آن کار انجام نمیشود — و هیچکس هم به تو نمیگوید. سه گزینه داری:
- بپذیر که فقط وقتی روشنی اجرا میشود. برای خیلی از کارها کاملاً قابل قبول است: اگر هر روز ساعت ۹ پشت میزی، زمانبندیِ ۹:۱۵ روی لپتاپ خودت کار میکند. و هزینهاش صفر است (فصل ۷.۲.۴).
- سرور بگیر. وقتی کار واقعاً باید در غیاب تو انجام شود — و فقط آنوقت.
- یا سرویس آمادهای که خودش همیشه روشن است. ابزارهای اتصال (فصل ۲.۲.۳) دقیقاً همین را میفروشند.
و مهمتر از انتخاب: هر کدام را انتخاب کردی، بدان که انتخابش کردهای. بدترین حالت این است که فکر کنی خودکار است و نباشد — چون آنوقت نبودِ خروجی را به «امروز خبری نبود» تعبیر میکنی. این دقیقاً همان شکستِ بیصدای فصل ۸.۷.۴ است.
اینجا n8n جواب بهتری است یا ایجنت؟
سؤالی که فصل ۲.۲.۴ مطرحش کرد، و حالا با تجربهی ساختن میشود دقیق جوابش داد.
ابزار اتصال (n8n و مانندش) بهتر است وقتی:
- کار مسیرِ ثابت دارد: از A بگیر، به B بده. هیچ قضاوتی لازم نیست.
- باید همیشه روشن باشد و تو سرور نمیخواهی نگه داری.
- و هر بار باید دقیقاً یک کار را بکند — تکرارپذیریِ کامل.
ایجنت بهتر است وقتی:
- کار قضاوت لازم دارد: خلاصهکردن، تصمیمگرفتن دربارهی حالتهای عجیب، فهمیدنِ متن.
- ورودی هر بار شکل دیگری دارد.
- و کار هنوز در حال شکلگرفتن است — که اوایل همیشه هست.
و جوابِ واقعیِ اکثر موارد هر دو است: ابزار اتصال کارِ مکانیکی و زمانبندی را میکند، و در یک مرحلهاش ایجنت را صدا میزند برای آن تکهای که قضاوت لازم دارد.
بهخاطر بسپار هر جای کارت که جوابش همیشه یکسان است، ایجنت لازم ندارد. استفاده از ایجنت برای کارِ کاملاً مکانیکی، هم گرانتر است و هم کماعتمادتر — چون جایی که میشد تضمینِ صددرصد داشت، احتمال آوردهای.
تمرین (فکری)
برای اتوماسیونت trigger انتخاب کن و توجیه کن:
- کدامیک از سه شکل؟ و چرا نه آن یکی که خودکارتر است؟
- اگر زمانبندیشده است: چه ساعتی، و اگر آن لحظه خاموش بودی چه میشود؟
- اگر دو بار اجرا شود، چه اتفاقی میافتد؟
- و صادقانه: این کار به ابزار اتصال بهتر میخورد یا به ایجنت؟
پاسخنامه — یک نمونه، و تقسیمکارِ درست بین ابزار و ایجنت
کار: خلاصهی روزانهی سفارشها، هر صبح در تلگرام.
- شکل: زمانبندیشده. رویدادی لازم نیست چون خلاصه روزانه است، نه لحظهای — و دستی هم جواب نمیدهد چون کلِ فایدهاش این است که صبح آماده باشد.
- ساعت: ۷:۳۰، کمی قبل از شروع کار.
- اگر خاموش باشم: اجرا نمیشود — و چون ۷:۳۰ صبح است، احتمالش زیاد است. پس این کار واقعاً به ماشینِ همیشهروشن نیاز دارد، و همان معیارِ فصل ۷.۲.۴ را برآورده میکند.
- دو بار اجرا: دو پیام تلگرام. آزاردهنده ولی بیخطر. اگر خروجی به فایل هم میرفت، نامگذاری با تاریخ حلش میکند.
و تقسیمکار، که جواب واقعی سؤال ۴ است: این کار هر دو را میخواهد و مرزش روشن است. گرفتنِ داده، زمانبندی، و فرستادن به تلگرام کاملاً مکانیکیاند — جوابشان همیشه یکسان است، پس ابزار اتصال. ولی «چه چیزی امروز قابل توجه بود؟» قضاوت است و هر روز جواب متفاوتی دارد — پس ایجنت.
اگر همهاش را به ایجنت بدهی، برای کارِ مکانیکی هم پول و احتمال خرج کردهای. اگر همهاش را به ابزار بدهی، خلاصهات به یک گزارشِ ثابت تبدیل میشود که تغییر را تشخیص نمیدهد — و همان چیزی میشود که فصل ۸.۴.۴ گفت بعد از یک هفته خوانده نمیشود.