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

پرامپت دقیقاً چیست؟

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

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

مدل ذهن شما را نمی‌خواند؛ فقط چیزی را می‌خواند که نوشته‌اید.

مدل چطور پرامپت را می‌خواند؟

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

یک پرامپت خوب چه چیزهایی دارد؟

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

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

یک مثال واقعی. این پرامپت:

درباره‌ی بازاریابی محتوایی بنویس.

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

یک متن حدوداً ۲۰۰ کلمه برای صفحه‌ی اینستاگرام یک کافه‌ی محلی بنویس. مخاطب، همسایه‌های محله هستند، لحن خودمانی باشد، و در پایان یک پیشنهاد ویژه برای آخر هفته بیاور.

تفاوت این دو در هوش مدل نیست؛ در مشخص بودن کار است.

پنج تکنیک عملی برای پرامپت بهتر

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

اشتباه‌های رایج

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

پرامپت در ابزارهای برنامه‌نویسی

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

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

جمع‌بندی

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