آنچه این ابزارها میتوانند بکنند هر چند ماه عوض میشود. نمایشها روی منطقِ کار بنا شدهاند، نه روی دکمههای یک نسخهی خاص — ولی اگر چیزی که میبینی با آنچه اینجا نوشته شده یکی نبود، این متن عقب افتاده، نه تو.
آخرین بهروزرسانی: ۱۴۰۵/۰۵/۰۴
نمایش ۱: پوشهی بههمریخته ← گزارش
یک پوشه با هشت فایل متنی — همان پوشهای که همراه این دوره است:
نمونهها/اسناد/. داخلش دقیقاً همان چیزی است که در کار واقعی جمع میشود:
گزارش فروش نهایی نهایی(۲).txt— از اسمش پیداست چند بار بازنویسی شده.بدون عنوان.txt— سه عدد و یک علامت سؤال. همین.جلسه ۱۲ خرداد.txt— یادداشت جلسه، با کارهای هرکس قاطیِ متن.Fwd_ قرارداد.txt— یک ایمیل فورواردشده.- و چهار فایل دیگر: یادداشت کارها، برنامهی هفته، تماسها، پیشنویس قرارداد.
هیچکدام مرتب نیستند. اسمها بیقاعدهاند و موضوعها بین چند فایل پخش شده.
چیزی که از ایجنت میخواهی یک جمله است: «این پوشه را بخوان و یک گزارش یکصفحهای بده — چه کارهایی باز است، چه چیزی مبهم است.»
و میرود، هر هشت فایل را باز میکند، و برمیگردد.
ولی کار خوب فقط خلاصهکردن نیست. باید گیرها را پیدا کند — چیزهایی که وقتی خودت فایلها را میخوانی از کنارشان رد میشوی. در همین هشت فایل سه تا از این گیرها هست:
- در
گزارش فروش نهایی نهایی(۲).txt، خودِ نویسنده نوشته «عدد اردیبهشت شامل ۱۲ تا سفارش مرجوعی هم هست که هنوز کم نکردم». یعنی عدد اردیبهشت غلط است و در فایل اعتراف شده. بدون عنوان.txtسه عدد دارد و نوشته «(اینا مال کدوم ماهه؟)». این فایل به درد نمیخورد، و کار درست این است که ایجنت همین را بگوید — نه اینکه از خودش حدس بزند مال کدام ماه است.- در
جلسه ۱۲ خرداد.txtنوشته «راستی یادمون رفت درباره بودجه تبلیغات حرف بزنیم». یک کار فراموششده که در هیچ فهرست کاری نیست.
چرا یک چتبات این کار را نمیکند؟ چتبات پنجرهای است که در آن تایپ میکنی و جواب میگیرد. برای همین کار با چتبات باید هشت فایل را یکییکی باز کنی، متنش را کپی کنی، بچسبانی، و آخرش خودت جوابها را به هم بدوزی. ایجنت خودش پوشه را باز میکند و میتواند گزارش را بهصورت یک فایل تازه بنویسد.
نمایش ۲: اکسل ← خلاصه
این یکی مهمتر از چیزی است که به نظر میرسد، چون جوابِ درست، جوابِ ساده نیست.
فایل نمونهها/داده/فروش-۱۴۰۵.csv یازده ردیف فروش دارد: تاریخ،
محصول، تعداد، قیمت واحد، مشتری، وضعیت. سؤال اول هر کسی این است: «جمع فروش چقدر بوده؟»
اگر همین را از یک فرمول Excel بپرسی، یک عدد به تو میدهد. و آن عدد غلط است. چون در این فایل:
- چهار شکل مختلف تاریخ هست:
1405/01/05و1405/1/18و1405-02-22و۱۴۰۵/۰۲/۱۵(این یکی با ارقام فارسی). هر تحلیلی که به تاریخ کار داشته باشد، سر همین میشکند. - یک ردیف کلاً از جا در رفته. در ردیف
1405/1/18قیمت را با کاما نوشتهاند:450,000. ولی در این نوع فایل، کاما همان چیزی است که ستونها را از هم جدا میکند — پس آن یک قیمت، دو ستون حساب میشود و از آنجا به بعد همهی ستونها یکی میلغزند. نتیجه این میشود که قیمت آن ردیف450خوانده میشود و اسم مشتری000. نه خطایی میدهد، نه چیزی قرمز میشود — فقط یک ردیفِ کاملاً باورپذیر و کاملاً غلط. این بدترین نوع خطاست، چون بیصدا است. - «شرکت ب» دو بار با ک و ی فارسی نوشته شده و یک بار
شركت ببا ک عربی. برای کامپیوتر اینها دو مشتری مختلفاند. - دو ردیف در تاریخ
1405/02/03هست، هر دو محصول B، هر دو تعداد ۷ — ولی در یکی خانهی مشتری خالی است. معلوم نیست دو سفارش جدا بوده یا یک سفارش که دو بار ثبت شده. - در یک ردیف تعداد خالی است، و وضعیتش «در انتظار» است، نه تحویلشده.
- دو ردیف وضعیتشان مرجوعی است. اگر کم نشوند، جمع فروش از واقعیت بیشتر درمیآید.
کاری که یک ایجنت خوب میکند این است که یک عدد قاطع تحویلت نمیدهد. فایل را میخواند، این تناقضها را فهرست میکند، و میپرسد یا فرضش را صریح میگوید: «مرجوعیها را کم کردم، ردیف تکراری را یکی حساب کردم، ردیفِ بدون تعداد را کنار گذاشتم — با این فرضها جمع اینقدر است.»
و این دقیقاً همان تفاوتی است که در فصل ۰.۱ دیدی، ولی این بار پیامدش را میبینی:
فرمول Excel جمع میزند چون تو گفتهای جمع بزن ← غلطبودنش را نمیفهمد و به تو هم نمیگوید
نمایش ۳: یک سیستم بدون کد
دو نمایش قبلی یکبار اجرا شدند و تمام شد. این یکی فرق دارد: چیزی میسازی که میماند.
فایل نمونهها/داده/موجودی انبار.csv چهار قلم دارد، با موجودی فعلی و
حداقل موجودی هرکدام. چیزی که میخواهی این است: «هر هفته به من بگو چه چیزی را باید
سفارش بدهم.»
از همین چهار ردیف، دو قلم زیر حدشان هستند:
B-200محصول B — موجودی ۸، حداقل ۲۵. ۱۷ عدد کم است.A-101محصول A (بستهبندی جدید) — موجودی صفر، حداقل ۲۰.
و دو قلم دیگر مشکلی ندارند. تا اینجا فرقی با نمایش دوم ندارد. فرق، قدم بعدی است: از ایجنت میخواهی این را یک چیز تکرارشدنی کن — یک ابزار کوچک که هر بار فایل تازه را به آن بدهی و همان جواب را بگیری.
و حالا تو یک سیستم داری. کد نوشتی؟ نه. سیستمی داری که هر هفته کار میکند؟ بله. این همان چیزی است که در این دوره «سیستم بدون کد» نامیده میشود، و یکی از سه خانوادهی کاربرد است که در درس ۰.۵ باز میشود.
آنچه دیدی چطور کار کرد
نگاه سطحی — عمقش در ماژول بعدی (M1 — این سیستمها چطور فکر میکنند) است.
در هر سه نمایش، چهار حرکت تکرار شد:
- خواند — فایلها را باز کرد.
- فهمید — تشخیص داد هر فایل چیست و کدام قسمتش به سؤال تو مربوط است.
- تصمیم گرفت — چه چیزی را بیاورد، چه چیزی را مبهم علامت بزند.
- عمل کرد — گزارش را نوشت، یا ابزار را ساخت.
چتبات معمولاً فقط حرکت دوم و سوم را دارد، و آن هم روی متنی که تو دستی داخلش گذاشتهای. حرکت اول و چهارم — دسترسی و انجامدادن — چیزی است که ایجنت اضافه میکند.
دو چیز را هم رو راست بگویم، چون بعداً به دردت میخورد:
- ایجنت جادویی از فایلهای تو خبر ندارد. در هر سه نمایش، تو به آن دسترسی دادی. بدون آن، هیچکدام از اینها ممکن نبود. (این خودش یک بحث جدی است: ماژول ۵.)
- همیشه جواب نمیدهد. همین کارها گاهی خراب میشوند — ولی جوری خراب میشوند که میشود تشخیصشان داد. ماژول ۴ کاملاً دربارهی همین است. اگر کسی به تو بگوید این ابزارها همیشه درست کار میکنند، دارد چیزی میفروشد.
تمرین (فکری)
از سه نمایش بالا، کدامیک به کار خودت نزدیکتر بود؟ یک پاراگراف کوتاه بنویس: کدام نمایش، و چرا آن یکی — یعنی کدام کارِ مشخصِ خودت شبیه آن است.
اگر جوابت «هیچکدام» است، آن هم جواب است؛ ولی بنویس چه چیزی در کارت هست که در هیچکدام از این سه نبود. آن یادداشت، مستقیم به بکلاگ درس ۰.۱۱ میرود.
پاسخنامه — یک نمونهی خوب را ببین
«نمایش دوم. من هر ماه یک فایل فروش از همکارم میگیرم که تاریخهایش دستی وارد شده و هر بار چند ردیف تکراری دارد. الان خودم چشمی نگاه میکنم و معمولاً یکیدو مورد را از دست میدهم. چیزی که در آن نمایش دیدم دقیقاً همین بود: پیداکردن تناقضها، نه جمعزدن.»
چرا این جواب خوب است: یک نمایش انتخاب شده، کارِ نامبردهشده مشخص و تکراری است، و دلیل شباهت روی ماهیت کار گذاشته شده نه روی ابزار. لازم نیست بلند باشد — لازم است مشخص باشد.
برای عمق بیشتر
این فصل عمداً سطحی است. اگر سؤال «آخر چطور این کار را میکند؟» ولت نمیکند، جوابش جای مشخصی دارد:
- چرا میفهمد چه نوشتهای: درس ۱.۱ (یک LLM واقعاً چیست)
- تفاوت دقیق چتبات و ایجنت: درس ۱.۲
- چرا باید فایل را «به آن بدهی»: درس ۱.۳ (context)
- چه وقتهایی خراب میکند: ماژول ۴
- چطور از فایلهای خودت محافظت کنی: ماژول ۵