منطق ایجنت‌ها › M4 — مرزها و راستی‌آزمایی
۴.۴ پایدار تدریسی ~۳۵ دقیقه

حالت‌های شکست و درمانشان

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

در یک نگاه

۴.۴.۱

در حلقه می‌افتد

نشانه: همان کار را دوباره و دوباره انجام می‌دهد. یک فایل را چند بار می‌خواند، یا یک تغییر را می‌دهد و برمی‌گرداند و باز می‌دهد.

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

درمان: قطعش کن (فصل ۳.۱.۳). ادامه‌دادن درستش نمی‌کند. بعد یکی از این دو:

۴.۴.۲

می‌گوید «تمام شد» و نشده

نشانه: اعلام می‌کند کار انجام شد، ولی وقتی نگاه می‌کنی خروجی نیست، یا ناقص است، یا آن چیزی نیست که خواستی.

علت: تعریفِ «تمام شد» بین تو و او یکی نبوده. از دید او کار تمام شده — چیزی نوشته شده، مرحله‌ای رد شده. از دید تو نه.

و این دقیقاً همان چیزی است که فصل ۲.۴.۳ برایش ساخته شد: اگر «تمام شد» را قابل‌بررسی تعریف نکرده باشی، هر دو طرف می‌توانید درست باشید.

درمان:

۴.۴.۳

چیزی را از خودش می‌سازد

نشانه: به یک فایل، یک ابزار، یک تنظیم، یا یک منبع اشاره می‌کند که وجود ندارد. اسمش کاملاً باورپذیر است.

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

درمان:

۴.۴.۴

کار را نصفه رها می‌کند

نشانه: سه کار از پنج کار را انجام می‌دهد و بعد جمع‌بندی می‌کند، انگار همه تمام شده.

علت: معمولاً چند کار در یک درخواست (فصل ۲.۶.۶) یا شلوغ‌شدن context (فصل ۱.۳) — که باعث می‌شود اولِ درخواست را از یاد ببرد.

درمان:

۴.۴.۵

جواب مطمئنِ غلط

نشانه: هیچ نشانه‌ای ندارد. و همین آن را خطرناک‌ترینِ این شش می‌کند.

خروجی مرتب است، لحنش مطمئن است، ساختارش درست است. فقط محتوایش غلط است. همان چیزی که در فصل ۰.۲ دیدی: کاملاً باورپذیر و کاملاً غلط.

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

به‌خاطر بسپار این حالت را نمی‌شود با نگاه‌کردن تشخیص داد — فقط با راستی‌آزمایی. و دقیقاً به همین دلیل است که فصل بعدی (۴.۵) وجود دارد.

درمان: تست روی ورودی‌ای که جوابش را می‌دانی · درخواست منبع برای هر ادعا · و دو بار پرسیدن و مقایسه‌ی جواب‌ها. هر سه در فصل ۴.۵.

۴.۴.۶

کیفیت افت می‌کند

نشانه: اولِ session خوب کار می‌کرد، الان بدتر شده. چیزی را که گفته بودی فراموش می‌کند، جواب‌ها کلی‌تر می‌شوند، دستوری را باید دوباره تکرار کنی.

علت: همان context rot فصل ۱.۳.۳ — با بزرگ‌شدن context، دقت و به‌یادآوری افت می‌کند. و این خیلی قبل از پرشدن سقف شروع می‌شود.

درمان: session تازه. و برخلاف غریزه، توضیحت را بلندتر نکن — کوتاه‌ترش کن و فقط چیزی را بده که واقعاً لازم است (فصل ۲.۷).

و اگر چیزی هست که در هر session لازمش داری، جایش فایل قانون است نه تکرارِ شفاهی (فصل ۳.۴).

نشانه علت درمان تکرار می‌کند شرط توقف ندارد قطع کن و شرط توقف بده می‌گوید تمام شد تعریف «تمام» یکی نبوده خروجی را ببین، نه اعلام را کیفیت افت کرده context شلوغ شده session تازه، با کمترِ context پایین این خط، شکست‌ها بی‌صدا هستند — خطا نمی‌دهند نصفه رها کرده چند کار در یک درخواست بشمار — پنج خواستی، پنج تا؟ از خودش ساخته توهم — الگو درست، وجود نه وجودش را چک کن، نه صحتش جوابِ مطمئنِ غلط پیش‌بینی، نه دانستن راستی‌آزمایی — فصل ۴.۵ سه‌تای بالا خودشان را نشان می‌دهند. سه‌تای پایین را باید بگردی.
نشانه ← علت ← درمان. مرزِ رنگی، خطاهای پرصدا را از بی‌صدا جدا می‌کند.
۴.۴.۷

جدول جمع‌بندی و یک الگوی مشترک

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

یعنی این فصل چیز جدیدی به تو یاد نداد — پیامدهای عملیِ M1 را فهرست کرد. و همین باعث می‌شود قابل پیش‌بینی باشند.

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

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

تمرین (فکری)

این چهار وضعیت را به حالت شکستشان نسبت بده و درمان بنویس.

  1. «گفتم چهار کار بکن. جمع‌بندی قشنگی داد و گفت همه انجام شد. دو تا از چهار تا انجام نشده بود.»
  2. «یک گزارش گرفتم. عددها مرتب و باورپذیر بودند. بعد دستی چک کردم — جمعِ یک محصول ۱۲٪ اختلاف داشت.»
  3. «گفت برای این کار باید یک ابزار نصب کنم. اسمش را گشتم؛ چنین چیزی وجود ندارد.»
  4. «یک ساعت داشتیم خوب کار می‌کردیم. الان همان چیزی را که اول گفتم دوباره می‌پرسد.»
پاسخنامه — چهار جواب

۱ — نصفه رها کرده (بی‌صدا). درمان: بشمار. چهار خواسته بودم، چهار تا را چک می‌کنم. و بار بعد یک کار در یک پیام. ریشه: چند کار در یک درخواست + context.

۲ — جوابِ مطمئنِ غلط (بی‌صدا، و خطرناک‌ترین). درمان: تست روی ورودی‌ای که جوابش را می‌دانم، و پرسیدن «این را چطور حساب کردی؟» — احتمالاً خودش جمع زده به‌جای اینکه با ابزار حساب کند (فصل ۴.۱.۱). ریشه: فصل ۱.۱، پیش‌بینی نه دانستن.

۳ — از خودش ساخته (بی‌صدا). درمان: وجودش را چک کردم و نبود — کارِ درست همین بود. بار بعد: «اگر ابزاری لازم داری که مطمئن نیستی وجود دارد، اول بگو.» ریشه: توهم، فصل ۱.۱.۴.

۴ — افت کیفیت (پرصدا، اگر حواست باشد). درمان: session تازه با کمترِ context. و آن چیزی را که اول گفته بودم و مهم است، در فایل قانون بنویسم تا دوباره لازم نباشد بگویم. ریشه: context rot، فصل ۱.۳.۳.

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

ذخیره شد