سپردنِ یک کار
دو نفر در تیمِ لیلا از یک عامل برای یک گزارشِ ماهانهی فروش کمک میخواهند. یکی تایپ میکند: «گزارش را بهتر کن.» دیگری شش خط مینویسد. اولی گزارشی میگیرد با رنگبندیِ تازه و مقدمهای بازنویسیشده که هیچکس نخواسته بود. دومی دقیقاً همان چیزی را میگیرد که لازم داشت، در نصفِ زمان.
همان مدل، همان ابزارها، همان گزارش. فرق در شرح کار بود.
لیلا این را میخواهم به عاملم بدهم: «گزارش فروش را برای اکتبر بهروز کن.»
امید فرض کن خودت عامل هستی. با ذهنی خالی شروع میکنی. چه میدانی؟
لیلا فقط آنچه در زمینه است. پرامپت سیستمی، فایلِ CLAUDE.md ما، و همان یک خط.
امید کدام گزارش؟ کجاست؟
لیلا سه گزارش در پوشهی مشترک هست. باید حدس بزند. باشد: «گزارش فروشِ منطقهای در reports/regional.xlsx».
امید با چه چیزی بهروزش کند؟
لیلا با عددهای اکتبر، از خروجیای که سامی امروز صبح فرستاد. که اسمش را هم نشنیده، پس باید بگویم آن کجاست.
امید و وقتی کارش تمام شد، از کجا بداند تمام شده؟
لیلا وقتی ستونِ اکتبر پر شده باشد... و جمعها درست باشند، و نمودار اکتبر را هم نشان بدهد. باید این را بگویم، وگرنه سرِ اولی میایستد.
امید چیزی هست که نباید به آن دست بزند؟
لیلا عددهای سپتامبر. برای هیئتمدیره فرستاده شدهاند. و نباید به کسی ایمیل بزند.
امید حالا آنچه نوشتی را برایم بخوان.
لیلا شش خط. و هر کدام چیزی است که وگرنه حدسش میزد.
یک درخواستِ مبهم و یک شرح کارِ خوب
این شرح کارِ نهاییِ لیلاست:
هدف اکتبر را به گزارشِ فروشِ منطقهای اضافه کن، تا دوشنبه آن را برای تیم فروش بفرستم.
زمینه گزارش در reports/regional.xlsx است. عددهای اکتبر در exports/october.csv است (خروجیِ سامی؛ مبلغها مثل خودِ گزارش بدون مالیاتاند).
معیارِ تمام شدن ستونِ اکتبر برای هر ۱۲ منطقه پر شده باشد، ردیفِ جمع درست باشد، و نمودارِ برگهی Summary اکتبر را هم نشان دهد.
خط قرمزها به عددهای سپتامبر و پیش از آن دست نزن، و هیچچیز را نفرست یا با کسی به اشتراک نگذار.
کوتاه است. هر خطش بهخاطر چیزی آنجاست که حالا دربارهی شیوهی کارِ عاملها میدانید. اگر شرح کار را به انگلیسی بنویسید، این چهار بخش معمولاً Goal، Context، Done means و Off limits نام دارند.
چهار بخش، و اینکه چرا هر کدام مهم است
۱. هدف، و دلیلش. «اکتبر را اضافه کن تا دوشنبه بفرستمش» به عامل میگوید به کجا برسد و چقدر خوب، کافی است. همانطور که در درس «مدلی با دست» دیدید، عامل گامهایش را خودش انتخاب میکند. نتیجهای روشن کمک میکند خوب انتخاب کند، و «دلیل» کمک میکند دربارهی چیزهای کوچکی که نگفتهاید تصمیم بگیرد.
۲. زمینهای که نمیتواند حدس بزند. مدل فقط زمینهاش را میبیند (درس «هر آنچه مدل میبیند») و هیچچیز از دفعهی قبل به یاد نمیآورد (درس «مدل هیچ چیز را به یاد ندارد»). هر چه در پنجره نباشد را با یک حدس پر میکند، آن هم با اطمینان. به جای چسباندنِ فایلها، جایشان را بگویید: عامل میتواند هر چه لازم دارد بخواند. دانستههایی که هر جلسه لازم دارد، مثل جای گزارشها، جایشان در یک فایل دستورها است، تا لازم نباشد در هر شرح کار تکرارشان کنید.
۳. اینکه تمام شدن چه شکلی است، و چطور بررسیاش کنیم. بدون آن، عامل وقتی میایستد که داستانش تمامشده به نظر برسد. یک معیارِ تمام شدنِ قابلبررسی به او میگوید پیش از گزارش چه چیزی را بسنجد، و به شما میگوید بعد از آن چه چیزی را بررسی کنید.
۴. خط قرمزها. چیزهایی که نباید عوض شوند و کارهایی که نباید انجام شوند. برای هر چیزی که واقعاً هرگز نباید اتفاق بیفتد، پشتِ حرفها را با اجازهها یا یک هوک محکم کنید: حرفها معمولاً رعایت میشوند، قاعدهها همیشه.
اندازهی کار
یک شرح کارِ خوب، کار را با شیوهی کارِ عاملها هم جور میکند:
- کار بزرگ یا مبهم است؟ اول برنامه. یک برنامه بخواهید، بخوانیدش، درستش کنید، بعد بگذارید کار کند (درس «اول برنامه، بعد کار»).
- برای هر کار یک جلسه. جلسهی تازه برای کارِ تازه پنجره را تمیز و کش را مفید نگه میدارد (درس «وقتی پنجره پر میشود»).
- خواندنِ زیاد برای جوابی کوچک؟ بگذارید یک زیرعامل انجامش دهد.
- نشان دهید، توصیف نکنید. یک نمونه از خروجیای که میخواهید («هر ردیف را مثل این یکی بنویس») از یک پاراگراف توضیح بهتر است.
آنچه حالا میتوانید توضیح دهید
این دوره را با یک دستیار گفتوگو و یک پرسش شروع کردید: آن طرف واقعاً چه خبر است؟ حالا میتوانید توضیح دهید:
- که مدل زبانی توکن میخواند و مینویسد، یکییکی، و توکنها سرعت، محدودیتها و قیمت را تعیین میکنند؛
- که هیچچیز به یاد نمیآورد و فقط پنجرهی زمینهاش را میبیند، که پر میشود؛
- که مدلی که فقط متن مینویسد چطور از ابزارها استفاده میکند، و حلقه و برنامهی دورِ مدل چطور آن را به یک عامل تبدیل میکنند؛
- که چطور به عامل دانش میدهید (فایل دستورها، حافظه، مهارتها)، مهارش میکنید (اجازهها، هوکها، برنامهها) و گسترشش میدهید (زیرعاملها، MCP)؛
- که چرا جلسههای طولانی مقرونبهصرفه میمانند (کش)، چرا خواندنِ وب خطرناک است (تزریق دستور)، و چرا «تمام شد» بررسی لازم دارد.
همهاش به یک تصویر برمیگردد: مدلی که پنجرهای از متن را میخواند و تکهی بعدی را مینویسد، درونِ برنامهای که تصمیم میگیرد چه چیزی به پنجره برود و نوشتهها اجازهی چه کاری را دارند. گامِ بعدی ساختنِ یک عامل با دستِ خودتان است. خواهید دید که حلقهی قلبِ آن فقط حدود سی خط کد است.
امتحان کنید
کاری را که این هفته به یک عامل میدهید بردارید و شرح کارش را در چهار بخشِ نامدار بنویسید: هدف، زمینه، معیارِ تمام شدن، خط قرمزها. پیش از فرستادن، آن را طوری بخوانید که انگار خودتان عامل هستید و با ذهنی خالی شروع میکنید: هنوز چه چیزی را باید حدس بزنید؟ برای هر حدس یک خط اضافه کنید.
درست به کار بردن
- چهار بخش را بنویسید. هدف و دلیلش، زمینهای که نمیتواند حدس بزند، معیارِ تمام شدن، و خط قرمزها. دو دقیقه وقت میگیرد و بیست دقیقه صرفهجویی میکند.
- شرح کارتان را از جای عامل بخوانید. از هیچ شروع کنید جز شرح کار و فایل دستورهایتان؛ هر حدسی که مجبور شوید بزنید، یک خطِ اضافه است.
- بخشهای تکراری را در فایل دستورها بگذارید. اگر در هر شرح کار همان زمینه را مینویسید، جایش در CLAUDE.md یا AGENTS.md است.
- خط قرمزها را واقعی کنید. آنها را در شرح کار بنویسید، و برای هر چیزی که هرگز نباید اتفاق بیفتد، یک قاعدهی اجازه یا یک هوک هم بگذارید.
واژههای این درس
- شرح کار - پیامی که کاری را به یک عامل میسپارد: هدف، زمینهای که لازم دارد، اینکه تمام شدن چه شکلی است و خط قرمزها
- خط قرمزها - چیزهایی که عامل نباید به آنها دست بزند و کارهایی که نباید انجام دهد، که در شرح کار نوشته میشوند
ایدهی اصلی
عامل فقط آنچه را در پنجرهاش هست میداند و هر جای خالی را با حدسی مطمئن پر میکند. یک شرح کارِ خوب جاهای خالی را میبندد: هدف و دلیلش، زمینه، معیارِ تمام شدن، و خط قرمزها.