منطق ایجنت‌ها › M3 — ابزار در عمل
۳.۴ فرّار تدریسی ~۳۵ دقیقه

فایل قانون، skill و plugin

قبل از این فصل: فصل ۱.۴

در یک نگاه

این فصل فرّار است

نام فایل‌ها و مسیرهایشان بین ابزارها فرق دارد و عوض می‌شود. سه لایه و منطق انتخاب بینشان پایدار است. رفرنس رسمی پایین صفحه.

آخرین به‌روزرسانی: ۱۴۰۵/۰۵/۰۴

۳.۴.۱

فایل قانون چیست و کجا می‌نشیند

در فصل ۱.۴ دیدی فایل قانون چیست: فایلی که در شروع هر session خودکار خوانده می‌شود. حالا به‌کارش می‌بریم.

سطح‌هایش مهم است، چون تعیین می‌کند کجا اعمال شود:

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

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

۳.۴.۲

یک قانون خوب در برابر یک قانون بد

معیار همان معیار «تمام شد» فصل ۲.۴ است: قابل‌بررسی باشد.

مقایسه کن:

سمت چپ‌ها آرزو هستند، سمت راست‌ها دستور. و فرقشان این است که می‌شود نگاه کرد و گفت رعایت شده یا نه.

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

و یک قید که از فصل ۲.۷ می‌آید: کوتاه. توصیه‌ی رسمی زیر ۲۰۰ خط است، چون فایل بلندتر هم context بیشتری می‌خورد و هم کمتر رعایت می‌شود.

۳.۴.۳

skill: رویه‌ای که به زبان طبیعی نوشته می‌شود

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

یک skill — که اسکیل خوانده می‌شود — یک فایل متنی است که یک رویه را توضیح می‌دهد — یک کار چندمرحله‌ای که هر بار باید یک‌طور انجام شود.

و تفاوت کلیدی‌اش با فایل قانون فنی نیست، اقتصادی است:

یعنی این دقیقاً همان «کوچک‌ترین مجموعه‌ی پرسیگنال» فصل ۲.۷ است، فقط در سطح ابزار: چیزهای همیشگی در قانون، رویه‌های موردی در skill.

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

همیشه بار می‌شود فایل قانون واقعیت‌های همیشگی کوتاه نگهش دار هزینه: در هر session وقتی لازم شود skill رویه‌ی چندمرحله‌ای می‌تواند بلند باشد هزینه: فقط وقت استفاده بسته‌ی آماده plugin مجموعه‌ای از این‌ها، بسته‌بندی‌شده هزینه: بسته به محتوا تفاوت اصلی دو تای راست، فنی نیست — کِی خوانده می‌شوند است. پس سؤالِ درست این است: «این را در هر کاری لازم دارم، یا فقط گاهی؟» در هر کاری ← قانون. فقط گاهی ← skill. و اگر یک بخش از قانونت از «واقعیت» به «رویه» تبدیل شد، جایش عوض شده.
سه لایه‌ی شکل‌دهی. انتخاب بین قانون و skill یک تصمیم دربارهٔ context است.
۳.۴.۴

plugin

لایه‌ی سوم و ساده‌ترین برای فهمیدن: یک plugin یک بسته‌ی آماده است که چند تا از این چیزها را با هم می‌آورد.

مثل این است که به‌جای نوشتن سه skill و یک فایل قانون برای یک کار مشخص، بسته‌ی کسی را که قبلاً نوشته نصب کنی.

دو نکته‌ی عملی:

برای این دوره، لازم نیست plugin بسازی. کافی است بدانی چیست، تا وقتی اسمش را شنیدی گیج نشوی — و بدانی که نصب یک plugin ناشناس، همان دسته‌ی «چیزی از بیرون آوردن» است.

۳.۴.۵

چه چیزی قانون شود، چه چیزی هر بار گفته شود

معیار عملی، همان که در فصل ۲.۷ ساختیم: ۹ از ۱۰.

و سه چیز که هیچ‌وقت در این فایل‌ها نمی‌روند:

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

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

تمرین (ساختنی + توضیحی)

یک فایل قانون کوچک بنویس، دو بار اجرا کن، تفاوت را بنویس.

۱. در زمین بازی‌ات یک فایل قانون بساز با حداکثر پنج قاعده. هر قاعده باید قابل‌بررسی باشد — از معیار بخش ۳.۴.۲ استفاده کن.

۲. یک کار بده و ببین رعایت شد یا نه.

۳. بعد یکی از قاعده‌ها را عمداً مبهم بنویس (مثل «مرتب کار کن») و همان کار را دوباره بده. تفاوت را بنویس.

۴. و آخر: یکی از قاعده‌هایت را پیدا کن که در واقع رویه است نه واقعیت — همان جایش skill است، نه قانون.

پاسخنامه — یک نمونه‌ی خوب را ببین

فایل قانون: «۱) جواب‌ها حداکثر پنج خط. ۲) هر عددی که می‌دهی بگو از کدام ردیف آمده. ۳) هیچ‌وقت فایل اصلی را عوض نکن؛ کپی بساز. ۴) خروجی‌ها در پوشه‌ی گزارش‌ها/. ۵) در متن فارسی، ی و ک فارسی.»

اجرای اول: «هر پنج رعایت شد. مخصوصاً قاعده‌ی ۲ را دیدم — زیر هر عدد نوشت از کدام ردیف‌ها.»

با قاعده‌ی مبهم: «قاعده‌ی ۱ را عوض کردم به «مختصر جواب بده». جوابش نه خط شد. «مختصر» را خودش تعریف کرد؛ «حداکثر پنج خط» را من تعریف کرده بودم. همین تفاوت آرزو و دستور است.»

قاعده‌ای که جایش skill است: «داشتم قاعده‌ی ششمی اضافه می‌کردم: «برای گزارش ماهانه اول ردیف‌های مرجوعی را کم کن، بعد به تفکیک محصول جمع بزن، بعد قالب را از فایل ماه قبل بردار.» این یک رویهی سه‌مرحله‌ای است و فقط ماهی یک بار لازم می‌شود — پس اگر در قانون بگذارمش، هزینه‌اش را در هر session می‌دهم بی‌دلیل. جایش skill است.»

چرا این جواب خوب است: تفاوت را با مشاهده نشان داده (نه خط شد در برابر پنج خط)، و مورد آخر تشخیصِ درستِ «واقعیت در برابر رویه» است — همان چیزی که مستندات رسمی هم معیارش را همین می‌گذارد.

برای عمق بیشتر

ذخیره شد