دربارهٔ این فصل
یادداشتِ همراه نوارتا حالا به این فکر کردهاید که چطور میشود مدلهای زبانی را از یک چتبات ساده فراتر ببریم تا واقعاً کارهای دنیای واقعی را برای ما انجام بدهند؟ چطور یک دستیار هوشمند میتواند خودش پرواز رزرو کند، دمای خانه را تغییر دهد یا به پایگاه دادههای سازمانی سر بزند؟
کتاب «مهندسی پرامپت برای مدلهای زبانی بزرگ» نوشتهٔ جان بریمن و آلبرت زیگلر در این بخش به سراغ ساخت عاملیت مکالمهای میرود و نشان میدهد چطور میتوانیم مدلها را به ابزارها و استدلال مجهز کنیم.
اولین چالش اساسی این است که مدلهای زبانی به تنهایی به اطلاعات پنهان، پایگاههای داده داخلی و وضعیت زمان حال دسترسی ندارند و حتی در محاسبات ساده ریاضی هم دچار اشتباه میشوند. نویسندگان نشان میدهند که راه حل این مشکل، استفاده از ابزار است؛ یعنی به مدل توصیفی از توابع و برنامههای کاربردی داده میشود تا بتواند هنگام نیاز، درخواست اجرای ابزار Tool Use تولید کند. برای مثال، اگر کاربر بخواهد دمای اتاق تغییر کند، مدل با دیدن توابع موجود در پرامپت، درخواست اجرای تابع مربوط به خواندن یا تنظیم دما را صادر میکند و برنامه آن را اجرا کرده و نتیجه را دوباره به مدل برمیگرداند.
دومین ایده کلیدی در این کتاب، بهبود استدلال مدل از طریق روش زنجیرهٔ فکر (Chain-of-Thought) است. مدلهای زبانی در حالت عادی تکههای متن را کلمه به کلمه بر اساس احتمال پیشبینی میکنند و مونولوگ درونی ندارند، یعنی بدون تفکر قبلی پاسخ را بیرون میریزند. نویسندگان توضیح میدهند که اگر با چند نمونه یا با جملهای ساده مثل «بیایید قدمبهقدم فکر کنیم»، مدل را وادار کنیم ابتدا مراحل استدلال را بنویسد و بعد به جواب برسد، دقت پاسخها به شکل چشمگیری افزایش مییابد.
ایده سوم، ترکیب همزمان استدلال و اقدام است که در مقالهای به نام ReAct بررسی شده است. در این الگو، مدل در یک چرخهٔ مداوم ابتدا دربارهٔ وضعیت فکر میکند، سپس یک اقدام مانند جستجو در ویکیپدیا را انجام میدهد و در نهایت مشاهدات حاصل از آن اقدام را بررسی میکند تا به پاسخ درست برسد. این روش به مدلهای کوچتر اجازه میدهد در حل مسائل چندمرحلهای بسیار بهتر از مدلهای غولپیکر عمل کنند.
چهارمین موضوع مهم، مدیریت درست زمینه در تعاملات وظیفهمحور است. وقتی یک عامل مکالمهای میسازیم، زمینه شامل پیشگفتار، مکالمات قبلی، اشیاء دادهای پیوستشده و تبادل فعلی است. نویسندگان تأکید میکنند که مدیریت حجم این اطلاعات بسیار حیاتی است، زیرا اگر اطلاعات زیادی بدهیم مدل گیج میشود و اگر اطلاعات کم بدهیم پاسخ نامناسب دریافت میکنیم، بنابراین باید همواره با آزمون و خطا بهترین تعادل را پیدا کرد.
پنجمین نکته، نحوهٔ پیادهسازی نهایی و تجربه کاربری است. کتاب توضیح میدهد که چگونه میتوان با نوشتن یک حلقهٔ پردازش ساده در پایتون، ورود کاربر و خروجی مدل را مدیریت کرد تا یک گفتگوی پیوسته شکل بگیرد، و همچنین تأکید میکند که در طراحی رابط کاربری باید دکمههایی برای مشاهدهٔ جزئیات فراخوانی ابزار و بازگردانی خطاها در نظر گرفته شود.
پیشنهاد عملی من به شما این است که اگر روزی خواستید برای کارهای شخصی یا حرفهای خود یک دستیار ابزارمحور بسازید، هرگز به مدل اعتماد نکنید که کارهای خطرناک مثل انتقال وجه یا حذف فایل را بدون تأیید صریح شما انجام دهد؛ همیشه لایهٔ برنامه را طوری بنویسید که این درخواستهای خطرناک پیش از اجرا متوقف شوند و از کاربر اجازه بگیرند.
امیدواریم از این بررسی کوتاه لذت برده باشید و بتوانید در پروژههای هوش مصنوعی خود از این ایدهها بهره ببرید.