چطور میشه هوش مصنوعی رو با فکر ساختاریافته، باهوش‌تر و قابل‌اعتمادتر کرد؟

Fall Back

یه چیزی که این روزا خیلی سر و صدا کرده “مدل‌های زبانی بزرگ” هستن. مثلاً همینی که دارین باهاش چت می‌کنین! اینا می‌تونن متن بسازن، جمله‌ها رو بفهمن و جواب بدن. ولی وقتی می‌خوایم ازشون به‌عنوان “عامل‌های خودمختار” (یعنی ربات‌هایی که خودشون کاراشونو می‌کنن و تصمیم می‌گیرن) استفاده کنیم، همین‌جوری ساده نیست! چرا؟ چون باید چندین قدم رو درست و پشت سر هم انجام بدن و خیلی وقتا این تو یه دونه پرامپت یا درخواست خلاصه میشه.

حالا مشکل اینجاست که تو بیشتر روش‌های معمول، مسائل “حدس زدن” (Inference)، “حافظه” و “کنترل کارها” همه با هم قاطی میشن توی یه پرامپت. خب این باعث میشه خروجی‌ها یه کم درهم‌برهم و بعضی وقتا غیرقابل پیش‌بینی بشه و ردگیریش هم سخت‌تر باشه.

اینا اومدن یه روشی طراحی کردن به اسم “Structured Cognitive Loop” یا همون SCL. ساده‌ش اینه: تو SCL بخش‌هایی مثل حدس زدن (Inference) که یعنی مدل حدس میزنه یا جوابی میده، میره فقط به مدل زبانی؛ حافظه جداگونه نگهداری میشه (یعنی مدل دائم لازم نیست همه‌چیز رو به خاطر بسپره)، و هدایت انجام کارا رو یه کنترلر سبک و کم‌حجم انجام میده، اونم توی یه حلقه که هدف رو دنبال می‌کنه.

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

برای اینکه ببینن این ایده جواب میده یا نه، اومدن SCL رو با دو تا روش دیگه که این روزا مطرحه، مقایسه کردن: یکی ReAct (یه چارچوب محبوب برای کمک به هوش مصنوعی بابت تصمیم‌گیری چندمرحله‌ای) و یکی هم تقلبی به اسم LangChain (ابزاری برای ایجاد عامل‌های هوشمند). تست هاشون رو تو سه وضعیت انجام دادن: یکی برنامه‌ریزی سفر با توجه به دمای هوا، یکی نوشتن ایمیل با شرط ارسال و یکی هم تولید تصویر که باید به یه سری قید و شرط پایبند باشه.

برای اینکه مقایسه عادلانه باشه، تو همه‌ی آزمون‌ها از یه مدل پایه و ابزار یکسان استفاده کردن. توی این ۳۶۰ سناریو، دیدن SCL تقریبا همیشه بهتر جواب داده. میزان موفقیت تو کار (یعنی اینکه کار رو درست انجام بده) به طور میانگین ۸۶.۳٪ بوده، در حالی که بقیه روش‌ها چیزی بین ۷۰ تا ۷۷ درصد موفقیت داشتن.

یه سری نکته باحال دیگه هم داشتن: تو SCL کمتر پیش میاد جواب اشتباهی بده یا الکی یه کاری رو دوباره تکرار کنه؛ می‌تونه از وضعیت‌های میانی راحت‌تر استفاده کنه و حرف‌های بی‌اساسش (مثلاً ادعاهایی که ابزاری برای اثباتش نداره) هم کمتر شده. حتی وقتی بخش‌های کنترل یا حافظه رو جدا جدا برداشتند، دیدن هر کدومش به تنهایی اثر مثبت داره. کل ماجرا هم تو حالت‌های مختلف رمزیابی مدل (که معمولاً روش‌های مختلف تولید جواب رو تست میکنن) پایدار مونده.

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

البته، مقاله گفته این نتایج مقدماتیه و لازمه با مدل‌های مختلف، وظایف چندمرحله‌ای یا همکاری چند عامل و حتی کار با چند نوع ورودی (مثلاً متن و تصویر همزمان) هم آزمایش بشه  تا بشه نظر قطعی داد.

منبع: +