هیچ عبارت جادویی وجود ندارد. هیچ دستور پنهانی یک مدل زبانی بزرگ را به یک غیبگو تبدیل نمیکند و هیچ پیشوند مخفیای باعث نمیشود که Claude ناگهان کسبوکار شما را بهتر از خودتان درک کند. مهندسی پرامپت (Prompt engineering) به معنای رمزگشایی یک کد نیست؛ بلکه انضباطِ برقراری ارتباط شفاف با یک همکار بسیار توانمند است که بخشهای وسیعی از اینترنت را مطالعه کرده، اما هرگز شما را ندیده، دفتر کارتان را مشاهده نکرده یا طرح تجاری محصولتان را نشنیده است. با Claude مانند یک کارمند باهوش در اولین روز کاریاش رفتار کنید. آنها مشتاق کمک هستند، اما اگر دستورات مبهم بدهید، نتایج مبهمی دریافت خواهید کرد. همین قانون در اینجا نیز صادق است که در هر محیط کاری دیگری صادق است: ورودی بیکیفیت، خروجی بیکیفیت (Garbage in, garbage out).
با Claude مانند یک کارمند جدید رفتار کنید
تصور کنید در حال استخدام یک پیمانکار بااستعداد هستید. شما هرگز در روز اول جلو میروید و میگویید: «وبسایت را درست کن»، و سپس آنجا را ترک میکنید. این دستور بیفایده است. کدام صفحه؟ چه چیزی خراب است؟ مخاطب کیست؟ موفقیت چگونه به نظر میرسد؟ با این حال، مردم هر روز معادل هوش مصنوعیِ «وبسایت را درست کن» را تایپ میکنند و متعجبند که چرا خروجی هدف را نمیزند.
با این فرض شروع کنید که Claude هیچ زمینهای از موقعیت خاص شما ندارد. او دستور زبان، الگوهای کدنویسی و تاریخ را میداند، اما از لحن شرکت شما، نقاط درد مشتریان یا محدودیتهای قانونی شما اطلاعی ندارد، مگر اینکه آنها را به دقت شرح دهید. پرامپتنویسی خوب، در واقع مدیریت خوب است. شما در حال تعیین محدودیتها، تعریف مخاطب و شفافسازی خروجی هستید. اگر این کار را به خوبی انجام دهید، دانش موجود مدل ناگهان مفید خواهد شد.
پنج بخش یک پرامپت منسجم
هر پرامپت حرفهای باید شامل پنج عنصر متمایز باشد. نیازی نیست برای هر کدام یک مقاله بنویسید، اما باید قبل از فشردن دکمه اینتر، به همه آنها اشاره کنید.
نقش (Role)
به مدل بگویید کیست. این کار واژگان، دیدگاه و اولویتها را شکل میدهد. عبارت «شما یک ویراستار فنی هستید» موثر است، اما «شما یک ویراستار فنی هستید که مستندات API را برای توسعهدهندگان فینتک که در حوزه بلاکچین تازهکار هستند، سادهسازی میکنید» بسیار بهتر عمل میکند. هرچه شخصیت (persona) مشخصتر باشد، خروجی دقیقتر خواهد بود.
زمینه (Context)
فضای موجود را توضیح دهید. چه کسی این را میخواند؟ هدف چیست؟ یک پست وبلاگ درباره امنیت سایبری که مخاطب آن مدیران بیمارستان هستند، باید کاملاً متفاوت از پستی باشد که برای گیمرهای نوجوان نوشته شده است. زمینه همچنین شامل میزان اهمیت موضوع نیز میشود. آیا در حال ایدهپردازی هستید یا این پیشنویس نهایی است که قرار است منتشر شود؟
وظیفه (Task)
از افعال دقیق استفاده کنید. از کلمات مبهم مانند «بهبود بخشیدن»، «ارتقا دادن» یا «بهتر کردن» خودداری کنید. این کلمات معنای خاصی ندارند. در عوض بنویسید: «متن پیادهشده را به سه مورد لیست نقطهای، که هر کدام زیر ۲۰ کلمه باشد، خلاصه کن.» یا: «این تابع را برای استفاده از async/await بازنویسی (refactor) کن و مدیریت خطا برای timeouts را اضافه کن.» وظیفه، دستور شماست؛ پس آن را به صورت یک دستور بنویسید، نه یک آرزو.
قالب (Format)
قبل از اینکه Claude شروع به نوشتن کند، شکل پاسخ را تعیین کنید. آیا لیست شمارهگذاری شده میخواهید، یک جدول مارکداون، یک JSON معتبر، یک ایمیل با موضوع مشخص، یا یک گزارش حقوقی؟ اگر به یک جدول مقایسهای با ستونهای خاص نیاز دارید، نام آنها را بیاورید. اگر خروجی را در یک بلوک کد همراه با کامنت میخواهید، آن را بگویید. دستورالعملهای قالببندی از دریافت یک متن طولانی و یکدست در زمانی که به دادههای ساختاریافته نیاز داشتید، جلوگیری میکند.
محدودیتها (Constraints)
لیست کنید که از چه چیزهایی باید اجتناب کرد. این شامل لحن، طول متن، کلمات ممنوعه و موضوعات ممنوعه میشود. برای مثال: «پاسخ را زیر ۱۵۰ کلمه نگه دار. از لحنی محاورهای استفاده کن. از کلمه 'synergy' استفاده نکن. از پیشنهاد راهحلهایی که نیاز به بودجه بیش از ۵۰۰ دلار دارند، خودداری کن.» محدودیتها مانند حفاظ هستند. مدل آنها را به خوبی مدیریت میکند، اما تنها در صورتی که آنها را به وضوح بیان کنید.
چهار تکنیک برای نتایج بهتر
زمانی که اصول اولیه را یاد گرفتید، میتوانید رویکرد خود را با چند روش پیشرفته اصلاح کنید. هیچکدام از آنها نیاز به آموزش خاصی ندارند. آنها صرفاً روشهایی برای ساختاردهی به تفکر شما هستند تا مدل بتواند آنها را دنبال کند.
پیچیدگی کار را به مراحل کوچک تقسیم کنید
همه چیز را یکباره نخواهید. اگر به یک کمپین بازاریابی نیاز دارید، با تحلیل مخاطب شروع کنید. آن خروجی را بررسی کنید، سپس درخواست پیامرسانی (messaging) بدهید
درخواست برای بیان استدلال
پرامپتنویسی زنجیره تفکر (Chain-of-thought) به زبان ساده یعنی از Claude بخواهید پیش از ارائه پاسخ نهایی، مراحل کار خود را نشان دهد. عباراتی مانند «مراحل استدلال خود را گامبهگام توضیح دهید و سپس نتیجهگیری کنید» برای مسائل منطقی، ریاضی و عیبیابی کد (debugging) معجزه میکنند. وقتی میتوانید ببینید مدل چگونه به یک پاسخ رسیده است، میتوانید دقیقاً لحظهای را که یک نیاز را اشتباه متوجه شده یا مقدار اشتباهی را از یک مجموعه داده استخراج کرده، شناسایی کنید. این کار یک «جعبه سیاه» را به چیزی تبدیل میکند که میتوانید آن را بازرسی (audit) کنید.
استفاده از تگهای XML برای جداسازی اطلاعات
زمانی که یک پرامپت شامل بلوکهای بزرگ متن است، مدل ممکن است مطالب منبع را با دستورالعملها اشتباه بگیرد. بخشهای متمایز را در تگهایی مانند <context>، <task> یا <example> قرار دهید. برای مثال:
این ساختار مانند سرتیترها در یک سند عمل میکند. این کار مانع از آن میشود که مدل به اشتباه اطلاعات پسزمینه شما را بخشی از وظیفه (task) در نظر بگیرد و باعث میشود ویرایش پرامپتهای طولانی در آینده برای شما آسانتر شود.
نشان دهید، فقط نگویید
پرامپتنویسی چند-نمونهای (Few-shot prompting) به معنای ارائه دو تا چهار نمونه از سبک یا فرمتی است که میخواهید. مدلها موتورهای تطبیق الگو هستند. آنها اغلب از طریق مثالها سریعتر از توضیحات متراکم یاد میگیرند. اگر میخواهید یادداشتهای جلسه به موارد اجرایی (action items) تبدیل شوند، دو نمونه از یادداشتهای خام را قرار دهید و به دنبال آن، دقیقاً همان خروجی ساختاریافتهای را که انتظار دارید بیاورید. Claude با دقت شگفتانگیزی الگو را روی ورودی جدید تطبیق میدهد. توصیف فرمت در ده جمله معمولاً کمتر از نشان دادن سه مثال تمیز مؤثر است.
یک قالب آماده استفاده
اگر به یک کادر پرامپت خالی خیره شدهاید، این اسکلتبندی را دنبال کنید. تمام کروشهها را پر کنید، حتی اگر پاسخ کوتاه باشد.
نقش: [نقش خاص و تخصص مرتبط را وارد کنید] زمینه: [پسزمینه، مخاطب و هدف را وارد کنید] وظیفه: [عمل دقیق را با استفاده از یک فعل قوی وارد کنید] فرمت: [ساختار مورد نظر را وارد کنید: لیست، جدول، مقاله، JSON و غیره] محدودیتها: [لحن، طول متن، کلمات ممنوعه یا موضوعاتی که باید از آنها اجتناب شود را وارد کنید]
در اینجا نمونهای از یک قالب پر شده آورده شده است:
نقش: شما مدیر بازاریابی محصول در یک استارتاپ B2B در زمینه حقوق و دستمزد هستید. زمینه: ما در حال راهاندازی ویژگیای هستیم که ثبت مالیات ایالتی را برای شرکتهای میانرده خودکار میکند. مخاطبان، مدیران منابع انسانی هستند که غرق در کاغذبازیهای انطباق (compliance) هستند. هدف این است که آنها را ترغیب کنیم یک دمو رزرو کنند. وظیفه: یک ایمیل ۱۲۰ کلمهای بنویسید که با بیان دشواریهای ثبت دستی شروع شود و با یک درخواست ملایم برای تعیین وقت یک تماس ۱۵ دقیقهای پایان یابد. فرمت: خط موضوع (Subject line)، دو پاراگراف کوتاه بدنه، و برچسب دکمه فراخوان برای اقدام (call-to-action). محدودیتها: از اصطلاحات تخصصی (jargon) مانند "synergy" یا "bandwidth" استفاده نکنید. لحن حرفهای اما صمیمی باشد. از علامت تعجب استفاده نشود.
این پرامپت هر آنچه Claude نیاز دارد را در اختیارش قرار میدهد. نتیجه بینقص نخواهد بود، اما آنقدر نزدیک به هدف هست که به جای بازنویسی از صفر، فقط نیاز به ویرایش داشته باشد.
نکته اصلی
لازم نیست برای هر درخواست ساده، یک شاهکار پنجبخشی بسازید. پرسیدن «یک دستور پخت خوب برای عدس چیست؟» نیازی به تعیین نقش یا استفاده از تگهای XML ندارد. اما وقتی خروجی اهمیت دارد، وقتی وظیفه پیچیده است، یا وقتی سه پاسخ بد متوالی دریافت کردهاید، این چکلیست را اجرا کنید. بیشتر پرامپتهای ناموفق به این دلیل شکست میخورند که کاربر هنوز در حال «فکر کردن با صدای بلند» است. سی ثانیه وقت بگذارید تا تصمیم بگیرید واقعاً چه میخواهید، مخاطب کیست و خروجی باید چگونه باشد. این فکر کردن را در همان ابتدا انجام دهید تا زمان بسیار کمتری را صرف اصلاح پاسخ کنید. دستورالعملهای شفاف، نتایج شفافی به همراه دارند. هر چیز دیگری فقط سر و صداست.
