منطق ایجنت‌ها › M0 — شروع
۰.۲ فرّار تدریسی ~۲۵ دقیقه

ببین چه چیزی ممکن است

در یک نگاه

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

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

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

۰.۲.۱

نمایش ۱: پوشه‌ی به‌هم‌ریخته ← گزارش

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

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

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

و می‌رود، هر هشت فایل را باز می‌کند، و برمی‌گردد.

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

چرا یک چت‌بات این کار را نمی‌کند؟ چت‌بات پنجره‌ای است که در آن تایپ می‌کنی و جواب می‌گیرد. برای همین کار با چت‌بات باید هشت فایل را یکی‌یکی باز کنی، متنش را کپی کنی، بچسبانی، و آخرش خودت جواب‌ها را به هم بدوزی. ایجنت خودش پوشه را باز می‌کند و می‌تواند گزارش را به‌صورت یک فایل تازه بنویسد.

۰.۲.۲

نمایش ۲: اکسل ← خلاصه

این یکی مهم‌تر از چیزی است که به نظر می‌رسد، چون جوابِ درست، جوابِ ساده نیست.

فایل نمونه‌ها/داده/فروش-۱۴۰۵.csv یازده ردیف فروش دارد: تاریخ، محصول، تعداد، قیمت واحد، مشتری، وضعیت. سؤال اول هر کسی این است: «جمع فروش چقدر بوده؟»

اگر همین را از یک فرمول Excel بپرسی، یک عدد به تو می‌دهد. و آن عدد غلط است. چون در این فایل:

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

و این دقیقاً همان تفاوتی است که در فصل ۰.۱ دیدی، ولی این بار پیامدش را می‌بینی:

فرمول Excel جمع می‌زند چون تو گفته‌ای جمع بزن ← غلط‌بودنش را نمی‌فهمد و به تو هم نمی‌گوید
۰.۲.۳

نمایش ۳: یک سیستم بدون کد

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

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

از همین چهار ردیف، دو قلم زیر حدشان هستند:

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

و حالا تو یک سیستم داری. کد نوشتی؟ نه. سیستمی داری که هر هفته کار می‌کند؟ بله. این همان چیزی است که در این دوره «سیستم بدون کد» نامیده می‌شود، و یکی از سه خانواده‌ی کاربرد است که در درس ۰.۵ باز می‌شود.

۱ پوشه‌ی ۸ فایلی به‌هم‌ریخته ایجنت گزارش کارهای باز + موارد مبهم ۲ فایل فروش ۱۱ ردیف، کثیف ایجنت فهرست تناقض‌ها + جمعِ مشروط ۳ فایل موجودی ۴ قلم ایجنت ابزار تکرارشدنی هر هفته اجرا می‌شود در هر سه، ورودی را تو دادی — ایجنت خودش از فایل‌های تو خبر ندارد.
سه نمایش، یک الگو — ورودی، ایجنت، خروجی. تفاوت ردیف سوم این است که خروجی‌اش یک‌بارمصرف نیست.
۰.۲.۴

آنچه دیدی چطور کار کرد

نگاه سطحی — عمقش در ماژول بعدی (M1 — این سیستم‌ها چطور فکر می‌کنند) است.

در هر سه نمایش، چهار حرکت تکرار شد:

  1. خواند — فایل‌ها را باز کرد.
  2. فهمید — تشخیص داد هر فایل چیست و کدام قسمتش به سؤال تو مربوط است.
  3. تصمیم گرفت — چه چیزی را بیاورد، چه چیزی را مبهم علامت بزند.
  4. عمل کرد — گزارش را نوشت، یا ابزار را ساخت.

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

دو چیز را هم رو راست بگویم، چون بعداً به دردت می‌خورد:

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

تمرین (فکری)

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

اگر جوابت «هیچ‌کدام» است، آن هم جواب است؛ ولی بنویس چه چیزی در کارت هست که در هیچ‌کدام از این سه نبود. آن یادداشت، مستقیم به بک‌لاگ درس ۰.۱۱ می‌رود.

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

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

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

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

این فصل عمداً سطحی است. اگر سؤال «آخر چطور این کار را می‌کند؟» ولت نمی‌کند، جوابش جای مشخصی دارد:

ذخیره شد