بین حرف زدن و انجام دادن؛ ماجرای LLM و Agent
---
فرض کن میخوای یه سفر آخر هفته رو برنامهریزی کنی. اول هوا رو چک میکنی، بعد بلیط قطار رو نگاه میکنی، بعد هتلها رو مرور میکنی، آخرش هم یه لیست از خرجها رو کنار هم میذاری تا ببینن اصلاً به صرفه است یا نه. این کار رو با کلی رفتوبرگشت بین تبهای مرورگرت انجام میدی.
حالا تصور کن یه دستیار داشته باشی که بهش بگی: «برام یه سفر ارزون با هوای خوب و هتلِ نزدیکِ دریا برنامهریزی کن.» اونم بدون اینکه تو یه قدم بهش بگی، خودش بره همهی این تبها رو باز کنه، اعداد رو جمع کنه، و آخرش نقشهی کامل رو بندازه جلوت.
به این دستیار میگن Agent. ولی برای اینکه این Agent بتونه حرف تو رو بفهمد، به یه چیز دیگه نیاز داره: یه مغز که معنی «ارزون» و «هوای خوب» و «نزدیکِ دریا» رو از توی جملهات دربیاره. این مغز، همون LLM هست.
---
بیایم صاف و ساده بگیم. LLM یه موتورِ فهمیدنه. بهش متن میدی، متن برمیگردونه. میتونه مقاله بنویسه، خلاصه کنه، یا حتی کد بزنه. ولی همین. LLM به تنهایی دستش به هیچجا نمیرسه؛ نه میتونه دکمهای رو فشار بده، نه عددی رو جمع بزنه، و نه از اشتباه خودش خبردار بشه. فقط یه «بلندگو»ی خیلی باهوشه.
اما Agent، یه موجودِ کاملتره. Agent اون بلندگو رو برمیداره و به یه «دستِ کارگر» وصلش میکنه. Agent از LLM استفاده میکنه تا بفهمه الان باید چکار کنه، بعد خودش میره سراغ ابزارهاش (همون مرورگر، ماشینحساب، یا هر چیز دیگهای که تعریف کردی)، نتیجه رو برمیگردونه به LLM که بررسی کنه ببینه به هدف رسیده یا نه، و این چرخه رو تکرار میکنه تا به جواب نهایی برسه.
به یه بازی ویدئویی فکر کن. LLM مثل دفترچهی راهنمای بازیه؛ همهچیز رو بلده، ولی نمیتونه دستهی بازی رو بگیره. Agent اما خودِ بازیکنه که دفترچه رو میخونه و کلیدها رو فشار میده.
---
جذابیتِ ماجرا اینجاست که دیگه لازم نیست برای هر اتفاقی، از قبل یه دستورالعملِ خشک و خستهکننده بنویسی. قبلا اگه میخواستی یه برنامه بنویسی که این سفر رو برنامهریزی کنه، باید تکتک شرطها رو مینوشتی: «اگه بارون بود برو سراغ گزینهی دو، اگه قیمت بالا بود برو سراغ گزینهی سه...» و الی آخر. ولی با Agent، کافیه هدف رو بدی، و خودش با کمک LLM، مسیرِ درست رو پیدا کنه. انگار به جای اینکه به کسی نقشهی خشک بدی، بهش ماشینِ خودران بدی که خودش تابلوها رو بخونه و دوربرگردانها رو تشخیص بده.
البته، این استقلال یه بهای بزرگی داره. چون LLM ممکنه خیالپردازی کنه یا اشتباه بخونه. ممکنه به Agent بگه که فلان هتل جلوی دریاست، درحالیکه نیست. پس نقشِ ما این وسط، معمارِ چهارچوبهاست. باید به Agent بگیم تو کدوم حوزهها اجازهی حرکت داری، ابزارهات چیا هستند، و مهمتر از همه، اگه قرار شد چند قدم برداره، حداکثر چند بار اجازه داری دور بزنی تا توی یه حلقهی بینهایت گیر نکنی.
---
دنیا داره از «برنامهنویسیِ دستوری» میره سمت «هدفگذاریِ هوشمند». دیگه قرار نیست همهی راهحلها رو توی کدت قفل کنی؛ قراره به Agent یاد بدی که خودش راهحل رو کشف کنه.
و جالبترین بخشش اینه که Agentها میتونن با هم حرف بزنند. یکی بره تحقیق کنه، یکی بره محاسبه کنه، یکی بره جمعبندی کنه. اون موقع دیگه تو فقط یه ناظری که داره به یه تیم از موجودیتهای نرمافزاری نگاه میکنه که با هم هماهنگ میشن.
آخرش، اگه یه روز دیدی Agentِ خودت کاری کرد که خودت بهش فکر نکرده بودی، تعجب نکن. چون دیگه بهش یاد ندادی چکار کنه؛ بهش یاد دادی چطور فکر کنه. و این یعنی از اون طرفِ صفحهنمایش، دیگه با یه ماشینِ ساده طرف نیستی؛ داری با یه «ذهنِ عملیاتی» سر و کار داری که تنها چیزی که ازت میخواد، اینه که هدف رو براش شفاف کنی. باقیش ماجرای خودش و همون چرخهی همیشگیِ «ببین، فکر کن، انجام بده»ه.
#آموزش
@MPL_Code
Post #265
196