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

Sub-agent و کار چندایجنتی

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

در یک نگاه

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

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

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

۳.۵.۱

sub-agent چیست

یک sub-agent — در فارسیِ گفتاری ساب‌ایجنت — یک کارگرِ جانبی است که کاری را در context جدای خودش انجام می‌دهد و فقط نتیجه را به گفت‌وگوی اصلی برمی‌گرداند.

و اینجا باید مستقیم به فصل ۱.۳ برگردیم، چون بدون آن این قابلیت بی‌معنا است.

یادت هست که هر فایلی که خوانده می‌شود تا آخر session در context می‌ماند و شلوغش می‌کند؟ حالا فرض کن برای یک کار باید بیست فایل را بگردی تا سه‌تای مربوط را پیدا کنی. آن هفده فایل بی‌ربط، تا آخر کار سرِ میز می‌مانند — و همان context rot را می‌سازند.

sub-agent دقیقاً همین را حل می‌کند: آن گشتن در یک context جدا انجام می‌شود، و به گفت‌وگوی اصلی فقط این برمی‌گردد: «این سه فایل مربوط‌اند.»

مستندات رسمی هم همین را به‌عنوان کاربرد اصلی می‌گویند: از sub-agent وقتی استفاده کن که یک کار جانبی می‌خواهد گفت‌وگوی اصلی‌ات را با نتیجه‌ی جست‌وجو و لاگ و محتوای فایل‌هایی پر کند که دیگر به آن‌ها برنمی‌گردی.

بدون sub-agent یک context ۱۷ فایل بی‌ربط لاگ‌ها نتیجه‌ها ۳ فایل مربوط همه‌شان تا آخر کار می‌مانند با sub-agent sub-agent ۲۰ فایل را می‌گردد context جدا بعد دور ریخته می‌شود context اصلی فقط خلاصه تمیز می‌ماند فایده‌اش سرعت نیست — این است که آن ۱۷ فایل بی‌ربط هیچ‌وقت وارد گفت‌وگوی اصلی نمی‌شوند. پس معیار ساده است: کارِ جانبی «زیاد می‌خواند و کم برمی‌گرداند»؟ اگر بله، ارزش دارد. اگر نه، فقط پیچیدگی اضافه است.
یک ایجنت در برابر چند نقش. مرزِ خط‌چین یعنی context جدا که بعد دور ریخته می‌شود.
۳.۵.۲

نقش دادن به هر کدام

هر sub-agent می‌تواند دستورالعمل خودش، ابزارهای خودش، و اجازه‌های خودش را داشته باشد. و این دومی و سومی از اولی مهم‌ترند.

سه فایده‌ی عملی که مستندات رسمی هم فهرست می‌کنند:

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

۳.۵.۳

چند ابزار در یک پوشه‌ی کار

یک حالت دیگر هم هست که با sub-agent اشتباه گرفته می‌شود: دو ابزار مستقل که هر دو روی همان پوشه کار می‌کنند.

این با sub-agent فرق دارد — اینجا دو برنامه‌ی جدا هستند که همدیگر را نمی‌شناسند. و به همین دلیل دو خطر دارد:

قاعده‌ی عملی: یا نوبتی، یا روی پوشه‌های جدا. هم‌زمان روی یک فایل، نه. و اگر واقعاً لازم شد، ابزارِ برگرداندن (درس ۵.۲) دیگر لوکس نیست — ضروری است.

۳.۵.۴

کِی ارزش دارد و کِی فقط پیچیدگی است

به‌خاطر بسپار معیار یک جمله است: کارِ جانبی زیاد می‌خواند و کم برمی‌گرداند؟ اگر بله، sub-agent ارزش دارد. اگر خروجی‌اش تقریباً به‌اندازه‌ی ورودی‌اش است، چیزی جز پیچیدگی اضافه نکرده‌ای.

ارزش دارد وقتی:

فقط پیچیدگی است وقتی:

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

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

تمرین (فکری)

یک کار بزرگ را به دو نقش تقسیم کن و بگو هر نقش چه می‌کند.

برای هر نقش این چهار چیز را بنویس: چه کاری می‌کند · چه چیزی می‌بیند · چه ابزاری لازم دارد (و مهم‌تر: چه ابزاری نباید داشته باشد) · چه چیزی برمی‌گرداند.

و آخرش سؤال اصلی را جواب بده: آیا این تقسیم ارزش دارد؟ معیار بخش ۳.۵.۴ را بگذار. اگر جوابت «نه» است، همان هم جوابِ درستی است.

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

کار: «از سه سال آرشیو قرارداد، فهرست قراردادهایی را دربیاور که تا شش ماه آینده تمام می‌شوند، و برای هرکدام یک یادداشت تمدید بنویس.»

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

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

ارزش دارد؟ بله. «نقش اول شاید صد فایل بخواند و یک فهرست دوازده‌خطی برگرداند — دقیقاً «زیاد می‌خواند، کم برمی‌گرداند». اگر همه در یک context بود، آن صد فایل تا آخر کار سرِ میز می‌ماندند و وقتِ نوشتن یادداشت‌ها، کیفیت افت می‌کرد.»

چرا این جواب خوب است: «چه ابزاری نباید داشته باشد» واقعاً جواب داده شده، و توجیهِ ارزش با معیار مشخص آمده نه با حس.

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

ذخیره شد