منطق ایجنت‌ها › M8 — ساختن، خودکارکردن، تحویل‌دادن
۸.۶ فرّار تدریسی ~۳۰ دقیقه

Trigger و زمان‌بندی

قبل از این فصل: فصل ۷.۲ · فصل ۸.۵

در یک نگاه

۸.۶.۱

دستی در برابر خودکار

ساخته‌ای، خروجی به مقصد درست می‌رود. حالا سؤال آخر: چه کسی راهش می‌اندازد؟ — یا به زبان فنی، triggerش چیست؛ که تریگر خوانده می‌شود و یعنی «آن چیزی که کار را راه می‌اندازد».

سه جواب هست، و انتخابشان تصمیمِ طراحی است نه یک جزئیات فنی:

سه شکل اجرا اجرای دستی را خودت شروع می‌کنی؛ زمان‌بندی‌شده در ساعت مشخصی اجرا می‌شود؛ رویدادی وقتی چیزی از بیرون اتفاق بیفتد. هرچه پایین‌تر، نیاز به ماشینِ همیشه‌روشن بیشتر. دستی خودت شروعش می‌کنی هر وقت لازم شد ماشینِ همیشه‌روشن: نه هزینه: صفر زمان‌بندی‌شده هر روز ساعت مشخص تکرارشونده ماشینِ همیشه‌روشن: اگر آن ساعت خاموشی رویدادی وقتی چیزی اتفاق بیفتد غیرقابل پیش‌بینی ماشینِ همیشه‌روشن: بله همیشه باید گوش بدهد از راست به چپ: خودکارتر، ولی وابسته‌تر ساده‌ترین چیزی که کارت را راه بیندازد انتخاب کن — نه خودکارترین
هر پله به سمت چپ، خودکاری بیشتری می‌دهد و یک وابستگی تازه می‌سازد.

و اشتباهِ رایج این است که همه می‌خواهند از پله‌ی سوم شروع کنند. دستی، جوابِ درستِ اکثر کارهاست — مخصوصاً تا وقتی مطمئن نشده‌ای که کار واقعاً به‌دردت می‌خورد.

۸.۶.۲

زمان‌بندی

یعنی «هر روز ساعت ۷ صبح اجرا شو». ابزارهایش در هر سیستم‌عاملی هست و لازم نیست بلد باشی؛ به ایجنت می‌گویی تنظیمش کند.

ولی سه تصمیم را خودت باید بگیری، چون کارِ توست نه او:

به‌خاطر بسپار کارِ زمان‌بندی‌شده باید بتواند دو بار اجرا شود بدون اینکه خرابی به بار بیاورد. ساده‌ترین راهش این است که خروجی را با تاریخ نام‌گذاری کنی — اجرای دوم همان فایل را بازنویسی می‌کند، نه اینکه دومی بسازد.

۸.۶.۳

trigger رویدادی

یعنی «وقتی چیزی اتفاق افتاد، اجرا شو»: ایمیلی رسید، فایلی در پوشه‌ای آمد، فرمی پر شد.

قوی‌ترین شکل است و گران‌ترین، چون چیزی باید همیشه گوش بدهد (فصل ۷.۱.۴ — سرویس، نه فرآیند). دو راهِ عملی:

پس قبل از ساختنِ trigger واقعی بپرس: آیا تأخیرِ پنج‌دقیقه‌ای واقعاً مشکلی ایجاد می‌کند؟ در کارهای اداری، تقریباً هیچ‌وقت.

۸.۶.۴

چه کسی اجرایش می‌کند وقتی لپ‌تاپ من خاموش است

این سؤال، نقطه‌ی اصلیِ فصل است — و اکثر اتوماسیون‌های خانگی دقیقاً همین‌جا می‌میرند. جواب صادقانه‌اش ساده است: هیچ‌کس.

اگر کار روی لپ‌تاپ تو تنظیم شده و لپ‌تاپ بسته است، آن کار انجام نمی‌شود — و هیچ‌کس هم به تو نمی‌گوید. سه گزینه داری:

  1. بپذیر که فقط وقتی روشنی اجرا می‌شود. برای خیلی از کارها کاملاً قابل قبول است: اگر هر روز ساعت ۹ پشت میزی، زمان‌بندیِ ۹:۱۵ روی لپ‌تاپ خودت کار می‌کند. و هزینه‌اش صفر است (فصل ۷.۲.۴).
  2. سرور بگیر. وقتی کار واقعاً باید در غیاب تو انجام شود — و فقط آن‌وقت.
  3. یا سرویس آماده‌ای که خودش همیشه روشن است. ابزارهای اتصال (فصل ۲.۲.۳) دقیقاً همین را می‌فروشند.

و مهم‌تر از انتخاب: هر کدام را انتخاب کردی، بدان که انتخابش کرده‌ای. بدترین حالت این است که فکر کنی خودکار است و نباشد — چون آن‌وقت نبودِ خروجی را به «امروز خبری نبود» تعبیر می‌کنی. این دقیقاً همان شکستِ بی‌صدای فصل ۸.۷.۴ است.

۸.۶.۵

اینجا n8n جواب بهتری است یا ایجنت؟

سؤالی که فصل ۲.۲.۴ مطرحش کرد، و حالا با تجربه‌ی ساختن می‌شود دقیق جوابش داد.

ابزار اتصال (n8n و مانندش) بهتر است وقتی:

ایجنت بهتر است وقتی:

و جوابِ واقعیِ اکثر موارد هر دو است: ابزار اتصال کارِ مکانیکی و زمان‌بندی را می‌کند، و در یک مرحله‌اش ایجنت را صدا می‌زند برای آن تکه‌ای که قضاوت لازم دارد.

به‌خاطر بسپار هر جای کارت که جوابش همیشه یکسان است، ایجنت لازم ندارد. استفاده از ایجنت برای کارِ کاملاً مکانیکی، هم گران‌تر است و هم کم‌اعتمادتر — چون جایی که می‌شد تضمینِ صددرصد داشت، احتمال آورده‌ای.

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

تمرین (فکری)

برای اتوماسیونت trigger انتخاب کن و توجیه کن:

  1. کدام‌یک از سه شکل؟ و چرا نه آن یکی که خودکارتر است؟
  2. اگر زمان‌بندی‌شده است: چه ساعتی، و اگر آن لحظه خاموش بودی چه می‌شود؟
  3. اگر دو بار اجرا شود، چه اتفاقی می‌افتد؟
  4. و صادقانه: این کار به ابزار اتصال بهتر می‌خورد یا به ایجنت؟
پاسخنامه — یک نمونه، و تقسیم‌کارِ درست بین ابزار و ایجنت

کار: خلاصه‌ی روزانه‌ی سفارش‌ها، هر صبح در تلگرام.

  • شکل: زمان‌بندی‌شده. رویدادی لازم نیست چون خلاصه روزانه است، نه لحظه‌ای — و دستی هم جواب نمی‌دهد چون کلِ فایده‌اش این است که صبح آماده باشد.
  • ساعت: ۷:۳۰، کمی قبل از شروع کار.
  • اگر خاموش باشم: اجرا نمی‌شود — و چون ۷:۳۰ صبح است، احتمالش زیاد است. پس این کار واقعاً به ماشینِ همیشه‌روشن نیاز دارد، و همان معیارِ فصل ۷.۲.۴ را برآورده می‌کند.
  • دو بار اجرا: دو پیام تلگرام. آزاردهنده ولی بی‌خطر. اگر خروجی به فایل هم می‌رفت، نام‌گذاری با تاریخ حلش می‌کند.

و تقسیم‌کار، که جواب واقعی سؤال ۴ است: این کار هر دو را می‌خواهد و مرزش روشن است. گرفتنِ داده، زمان‌بندی، و فرستادن به تلگرام کاملاً مکانیکی‌اند — جوابشان همیشه یکسان است، پس ابزار اتصال. ولی «چه چیزی امروز قابل توجه بود؟» قضاوت است و هر روز جواب متفاوتی دارد — پس ایجنت.

اگر همه‌اش را به ایجنت بدهی، برای کارِ مکانیکی هم پول و احتمال خرج کرده‌ای. اگر همه‌اش را به ابزار بدهی، خلاصه‌ات به یک گزارشِ ثابت تبدیل می‌شود که تغییر را تشخیص نمی‌دهد — و همان چیزی می‌شود که فصل ۸.۴.۴ گفت بعد از یک هفته خوانده نمی‌شود.

ذخیره شد