آموزشمدل‌های زبانی بزرگ (LLM)

درس ۶۶ از ۸۵، هوش مصنوعی، حدود ۱۳ دقیقه خواندن

ایجنت هوش مصنوعی از درون

جواب کوتاه

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

یعنی چی

ایجنت چیز جادویی نیست. همون مدل و ابزاره، توی یه حلقه.

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

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

حلقه

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

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

فکر، کار، دیدن

این حلقه از کجا اومد؟ یکی از ریشه‌هاش یه پژوهش ۲۰۲۲ به اسم ReAct هست، از دو کلمه‌ی Reasoning یعنی استدلال و Acting یعنی عمل کردن.

تا اون موقع دو کار جدا بود: یا مدل قدم به قدم فکر می‌کرد ولی به دنیای بیرون دست نمی‌زد، یا کار می‌کرد بی اینکه فکرش رو بنویسه. این پژوهش این دو تا رو یکی در میون کرد: یه خط فکر، یه کار، یه دیدن نتیجه، دوباره فکر. فکر کمک می‌کنه برنامه رو بچینه، دنبالش کنه و وقتی چیزی جور درنیومد عوضش کنه؛ کار هم اطلاعات واقعی از بیرون میاره.

نتیجه‌ش جالب بود. توی دو محیط آزمایشی، یکی کارهای خونه توی یه دنیای متنی و یکی خرید از یه فروشگاه ساختگی، فقط با یکی دو نمونه توی پرامپت، درصد موفقیت به‌ترتیب ۳۴ و ۱۰ واحد از روش‌هایی که مخصوص همون کار آموزش دیده بودن بالاتر رفت. و وقتی مدل به جای حدس، از یه ابزار ساده‌ی جست‌وجوی ویکی‌پدیا کمک می‌گرفت، توهم و خطایی که توی فکر قدم به قدم پشت سر هم پخش می‌شد کمتر شد.

یه نمونه

فرض کنید یه دستیار نونوایی دو تا ابزار داره: یکی شعبه‌های نزدیک رو پیدا می‌کنه، یکی ساعت کار هر شعبه رو می‌گه. کاربر می‌پرسه «الان کدوم شعبه بازه؟».

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

گردش کار یا ایجنت

راهنمای سازنده‌ی Claude یه فرق مهم می‌ذاره بین دو جور سیستم.

توی گردش کار، مدل و ابزارها توی مسیرهایی کار می‌کنن که کد از قبل نوشته؛ مثلا همیشه اول خلاصه کن، بعد ترجمه کن، بعد بسنج. مثل همون زنجیره‌ای که توی درس مهندسی پرامپت دیدیم. توی ایجنت، خود مدل تصمیم می‌گیره چه کاری و با کدوم ابزار. گردش کار قابل پیش‌بینی‌تر و یکدست‌تره؛ ایجنت انعطاف بیشتری داره.

سه گردش کار ساده

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

اولی زنجیرهست: کار به چند قدم ثابت شکسته می‌شه و هر قدم روی خروجی قدم قبل کار می‌کنه، مثل اینکه اول یه طرح کلی بنویسه، یه برنامه‌ی ساده بسنجه طرح شرط‌ها رو داره، بعد متن کامل رو بنویسه و آخر ترجمه کنه. هر قدم آسون‌تر می‌شه پس درست‌تر، به قیمت کمی کندی. دومی مسیریابه: اول معلوم می‌شه درخواست از چه نوعیه، مثلا یه سوال ساده، پس دادن پول یا یه مشکل فنی، و هر نوع می‌ره سراغ پرامپت و ابزار خودش؛ راهنما می‌گه می‌شه سوال‌های ساده رو هم به یه مدل کوچیک‌تر و ارزون‌تر فرستاد.

سومی موازیه، و دو جور داره. یا کار به تکه‌های جدا شکسته می‌شه که با هم انجام می‌شن، مثلا یه مدل جواب رو می‌نویسه و هم‌زمان یکی دیگه می‌سنجه درخواست مناسبه یا نه؛ یا یه کار چند بار انجام می‌شه و نتیجه‌ها رای می‌دن، مثلا چند بار یه کد رو برای مشکل امنیتی بررسی کنن. راهنما می‌گه وقتی هر جنبه یه درخواست جدا داره، مدل حواسش رو بهتر روی همون یکی جمع می‌کنه.

رئیس و داور

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

توی رئیس و کارگرها، یه مدل اصلی کار رو نگاه می‌کنه، خودش تصمیم می‌گیره به چه تکه‌هایی شکسته بشه، هر تکه رو به یه مدل کارگر می‌ده و آخر نتیجه‌ها رو جمع می‌کنه. فرقش با موازی اینه که تکه‌ها از قبل معلوم نیستن؛ مثلا یه تغییر توی یه برنامه که معلوم نیست به چند تا فایل دست می‌زنه. توی نویسنده و داور، یه مدل جواب رو می‌نویسه و یکی دیگه نقدش می‌کنه، و این رفت و برگشت ادامه پیدا می‌کنه تا داور راضی بشه؛ مثل ترجمه‌ی ادبی که داور ظرافت‌هایی رو که مترجم جا انداخته نشون می‌ده. راهنما می‌گه این الگو وقتی خوبه که معیار سنجیدن روشن باشه و نقد واقعا جواب رو بهتر کنه.

کی ارزش داره

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

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

تیم ایجنت‌ها

یه قدم جلوتر، چند ایجنت با هم کار می‌کنن. سازنده‌ی Claude سال ۲۰۲۵ نوشت ابزار پژوهش خودش رو چطور با همین روش ساخته.

یه ایجنت اصلی سوال رو می‌گیره و برنامه می‌ریزه، بعد چند ایجنت فرعی می‌سازه که هر کدوم یه بخش رو با هم و هم‌زمان می‌گردن، هر کدوم با زمینه‌ی خودش. نتیجه‌ها به ایجنت اصلی برمی‌گرده که جمعشون می‌کنه و تصمیم می‌گیره باز هم گشتن لازمه یا نه. توی آزمون‌های داخلی خودشون، این تیم، با یه Claude بزرگ‌تر به‌عنوان رئیس و Claudeهای کوچیک‌تر به‌عنوان کارگر، ۹۰٫۲ درصد بهتر از همون Claude بزرگ تنها کار کرد.

ولی هزینه‌ش رو هم صاف گفتن: یه ایجنت معمولا حدود ۴ برابر یه گفت‌وگوی معمولی توکن مصرف می‌کنه، و یه تیم چندایجنتی حدود ۱۵ برابر. توی یکی از آزمون‌هاشون، خود مقدار توکن مصرف‌شده حدود ۸۰ درصد فرق نتیجه‌ها رو توضیح می‌داد. و گفتن کجا این روش خوب جواب نمی‌ده: وقتی همه‌ی ایجنت‌ها باید یه زمینه‌ی مشترک رو ببینن، وقتی کارها خیلی به هم وابسته‌ان، بیشتر کارهای برنامه‌نویسی که تکه‌های واقعا موازی کمی دارن، و کارهای کم‌ارزش که این هزینه رو نمی‌ارزن.

توقف و آدم

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

از درس تزریق دستور هم یادمونه که هر ابزاری که ایجنت داره، اگه فریب بخوره، یه راه برای خسارته. پس ابزار و دسترسی فقط به‌اندازه‌ی کار.

چند نکته

  • اول ساده‌ترین راه. شاید ایجنت لازم نباشه.
  • ابزارها رو خوب توضیح بدید. ایجنت از روی همون تصمیم می‌گیره.
  • سقف دور بذارید. تا گیر نکنه.
  • ایستگاه برای آدم. مخصوصا پیش از کار برگشت‌ناپذیر.

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

جمع‌بندی. آنچه از این درس با خودتان می‌برید.

  • ایجنت: مدل، ابزار، و یه حلقه.
  • فکر، ابزار، نتیجه، دوباره.
  • گردش کار: مسیر از قبل. ایجنت: مسیر با مدل.
  • اول ساده‌ترین راه.
  • شرط توقف و نظر آدم.

خودتون رو بسنجید

۱۵ پرسش، هر بار تازه از میان ۳۰ پرسش این درس. آخرش فقط کارنامه رو می‌بینید: چند تا درست، چند تا نادرست.

خودتون رو بسنجید

۱۵ پرسش

  • هر بار پرسش‌ها و ترتیب گزینه‌ها عوض می‌شه.
  • تا آخر نمی‌گیم کدوم جواب درست بوده؛ می‌تونید برگردید و جوابتون رو عوض کنید.
  • آخرش کارنامه می‌گیرید: چند تا درست، چند تا نادرست.
  • اگه وسطش بستید، دوباره که باز کنید از همون‌جا ادامه می‌دید.

فصل‌های این درس

درس بعد