همانطور که طراحی دستورالعملها را شروع میکنید، باید به خاطر داشته باشید که این یک فرآیند تکراری است که برای رسیدن به نتایج بهینه نیاز به آزمایشهای زیادی دارد. استفاده از یک زمین بازی ساده از OpenAI یا Cohere نقطه شروع خوبی است.
میتوانید با سوالات ساده شروع کنید و با هدف رسیدن به نتایج بهتر، عناصر و زمینههای بیشتری را اضافه کنید. به همین دلیل، تکرار سوالات در طول مسیر بسیار حیاتی است. هنگام خواندن این راهنما، مثالهای زیادی خواهید دید که در آنها، دقت، سادگی و اختصار اغلب نتایج بهتری به شما میدهد.
وقتی یک کار بزرگ دارید که شامل زیروظایف مختلفی است، میتوانید آن کار را به زیروظایف سادهتر تقسیم کنید و با رسیدن به نتایج بهتر، به ساختن زیروظایف ادامه دهید. این کار از پیچیدگی بیش از حد در فرآیند طراحی سریع در ابتدا جلوگیری میکند.
دستورالعملشما میتوانید با استفاده از دستوراتی برای هدایت مدل به آنچه میخواهید به آن دست یابید، مانند «نوشتن»، «طبقهبندی»، «خلاصه کردن»، «ترجمه»، «سفارش دادن» و غیره، دستورالعملهای مؤثری برای وظایف ساده مختلف طراحی کنید.
به خاطر داشته باشید که برای دیدن بهترین روش، باید آزمایشهای زیادی انجام دهید. دستورالعملهای مختلف را با کلمات کلیدی، زمینهها و دادههای مختلف امتحان کنید و ببینید چه چیزی برای مورد استفاده و وظیفه خاص شما بهتر عمل میکند. معمولاً هرچه زمینه با وظیفهای که میخواهید انجام دهید خاصتر و مرتبطتر باشد، بهتر است. در راهنماهای بعدی به اهمیت نمونهبرداری و افزودن زمینه بیشتر خواهیم پرداخت.
دیگران توصیه میکنند که دستورالعملها را در ابتدای اعلان قرار دهید. توصیه دیگر این است که از یک جداکننده واضح مانند "###" برای جدا کردن دستورالعمل و متن استفاده کنید.
برای مثال:
سریع:
### Instruction ### Translate the text below to Spanish: Text: "hello!"
خروجی:
¡Hola!
در مورد دستورالعمل و وظیفهای که میخواهید مدل انجام دهد، بسیار دقیق باشید. هرچه دستورالعمل توصیفیتر و با جزئیات بیشتر باشد، نتایج بهتری حاصل میشود. این امر به ویژه زمانی اهمیت دارد که به دنبال نتیجه یا سبک تولید مطلوبی هستید. هیچ نشانه یا کلمه کلیدی خاصی وجود ندارد که منجر به نتایج بهتر شود. داشتن یک قالب خوب و دستورالعمل توصیفی مهمتر است. در واقع، ارائه مثال در دستورالعمل برای دستیابی به خروجی مطلوب در قالبهای خاص بسیار مؤثر است.
هنگام طراحی دستورالعملها، باید طول دستورالعمل را نیز در نظر داشته باشید زیرا محدودیتهایی در مورد مدت زمان دستورالعمل وجود دارد. به این فکر کنید که چقدر باید دقیق و جزئی باشید. گنجاندن جزئیات غیرضروری زیاد لزوماً رویکرد خوبی نیست. جزئیات باید مرتبط باشند و به وظیفه مورد نظر کمک کنند. این چیزی است که باید زیاد با آن آزمایش کنید. ما آزمایش و تکرار زیاد را برای بهینهسازی دستورالعملها برای برنامههای شما توصیه میکنیم.
به عنوان مثال، بیایید یک درخواست ساده برای استخراج اطلاعات خاص از یک متن را امتحان کنیم.
سریع:
Extract the name of places in the following text. Desired format: Place: <comma_separated_list_of_places> Input: "Although these developments are encouraging to researchers, much is still a mystery. “We often have a black box between the brain and the effect we see in the periphery,” says Henrique Veiga-Fernandes, a neuroimmunologist at the Champalimaud Centre for the Unknown in Lisbon. “If we want to use it in the therapeutic context, we actually need to understand the mechanism.“"
خروجی:
Place: Champalimaud Centre for the Unknown, Lisbon
متن ورودی از این مقاله Nature گرفته شده است.
از عدم دقت اجتناب کنیدبا توجه به نکات بالا در مورد جزئیات و بهبود قالب، به راحتی میتوان در دام زیرکی بیش از حد در مورد دستورالعملها افتاد و احتمالاً توضیحات نادرستی ایجاد کرد. اغلب بهتر است خاص و مستقیم باشید. قیاس در اینجا بسیار شبیه به ارتباط مؤثر است - هرچه مستقیمتر باشد، پیام مؤثرتر منتقل میشود.
برای مثال، ممکن است به یادگیری مفهوم مهندسی سریع علاقهمند باشید. میتوانید چیزی شبیه به این را امتحان کنید:
Explain the concept prompt engineering. Keep the explanation short, only a few sentences, and don't be too descriptive.
از سوال بالا مشخص نیست که از چند جمله و با چه سبکی استفاده کنید. ممکن است هنوز هم با سوالات بالا تا حدودی پاسخهای خوبی بگیرید، اما سوال بهتر، سوالی است که بسیار خاص، مختصر و مفید باشد. چیزی شبیه به:
Use 2-3 sentences to explain the concept of prompt engineering to a high school student.
یکی دیگر از نکات رایج هنگام طراحی دستورالعملها، اجتناب از گفتن کارهایی است که نباید انجام شوند و به جای آن، گفتن کارهایی که باید انجام شوند. این کار باعث میشود که مدل دقیقتر عمل کند و روی جزئیاتی تمرکز کند که منجر به پاسخهای خوب از مدل میشود.
در اینجا مثالی از یک ربات چت پیشنهاد فیلم آورده شده است که دقیقاً در کاری که من نمیخواهم انجام دهد، به دلیل نحوه نوشتن دستورالعمل توسط من - تمرکز روی کارهایی که نباید انجام دهد - شکست خورده است.
سریع:
The following is an agent that recommends movies to a customer. DO NOT ASK FOR INTERESTS. DO NOT ASK FOR PERSONAL INFORMATION. Customer: Please recommend a movie based on my interests. Agent:
خروجی:
Sure, I can recommend a movie based on your interests. What kind of movie would you like to watch? Do you prefer action, comedy, romance, or something else?
در اینجا یک دستور العمل بهتر وجود دارد:
سریع:
The following is an agent that recommends movies to a customer. The agent is responsible to recommend a movie from the top global trending movies. It should refrain from asking users for their preferences and avoid asking for personal information. If the agent doesn't have a movie to recommend, it should respond "Sorry, couldn't find a movie to recommend today.". Customer: Please recommend a movie based on my interests. Agent:
خروجی:
Sorry, I don't have any information about your interests. However, here's a list of the top global trending movies right now: [list of movies]. I hope you find something you like!
برخی از مثالهای بالا از