راهنمای پرامپتینگ مدل جدید GPT-4.1 رو خوندم. این مدل توی کدنویسی و دنبال کردن دستورات، یه سروگردن از GPT-4o بالاتره. برای اینکه بیشترین کارایی رو ازش بکشین، باید یه سری چیزا رو توی پرامپتهاتون تغییر بدین. این پست خلاصهی نکات کلیدی و عملی این راهنماست.
نکتهی اصلی اینه که GPT-4.1 دستورات رو خیلی دقیقتر و کلمهبهکلمه اجرا میکنه. برخلاف مدلهای قبلی که سعی میکردن نیت شما رو حدس بزنن، این مدل دقیقاً همون کاری رو میکنه که ازش میخواین. این یعنی کنترل بیشتری دارین، ولی در عوض باید پرامپتهای واضحتری بنویسین. اگه مدل رفتار عجیبی داشت، معمولاً یه جملهی محکم و شفاف برای اصلاح رفتارش کافیه.
به نظر من، مهمترین نکته همینه: GPT-4.1 کلمهبهکلمه و به شدت تحتتأثیر دستورات شماست. پرامپتهایی که برای مدلهای دیگه بهینه کردین، اینجا ممکنه نتیجهی متفاوتی بدن چون مدل دیگه قوانین ضمنی رو استنباط نمیکنه.
راهکارهای عملی برای کار با GPT-4.1:
برای ساخت Agentic Workflows
این مدل برای ساخت ایجنت عالیه. برای اینکه ایجنت شما عملکرد بهتری داشته باشه، سه تا یادآوری کلیدی رو توی System Prompt قرار بدین:
۱. پایداری (Persistence): به مدل بگین که یه ایجنته و باید کار رو تا انتها ادامه بده و زود تسلیم نشه. اینجوری وسط کار کنترل رو به کاربر برنمیگردونه.
۲. فراخوانی ابزار (Tool-calling): بهش تأکید کنین که اگه اطلاعات کافی نداره، از ابزارهاش برای خوندن فایلها و جمعآوری اطلاعات استفاده کنه و به هیچ وجه حدس نزنه.
۳. برنامهریزی (Planning): از مدل بخواین که قبل و بعد از هر بار استفاده از ابزار، به صورت متنی فکر و برنامهریزی کنه. این کار باعث میشه فقط یه سری Tool Call پشت سر هم نباشه و عمیقتر فکر کنه.
تیم OpenAI با همین سه دستور ساده، امتیاز SWE-bench Verified رو نزدیک به ۲۰٪ بهتر کرده.
فراخوانی ابزار یا Tool Calls
همیشه ابزارهاتون رو از طریق فیلد
tools در API به مدل بدین، نه اینکه توضیحات ابزار رو دستی توی پرامپت تزریق کنین. این روش خطاها رو کم میکنه و طبق تستهاشون، ۲٪ در معیار SWE-bench عملکرد بهتری داشته. اسم و توضیحات ابزار و پارامترهاش رو واضح بنویسین.
استفاده از Chain-of-Thought
مدل GPT-4.1 به صورت پیشفرض reasoning model نیست، یعنی قبل از جواب دادن، زنجیرهای از افکار درونی تولید نمیکنه. اما شما میتونین با پرامپت، وادارش کنین که "بلند فکر کنه". یه دستور ساده مثل "First, think carefully step by step..." در انتهای پرامپت معمولاً کافیه. این کار توی بنچمارک SWE-bench تونسته ۴٪ بهبود ایجاد کنه.
کار با Context طولانی
این مدل تا یک میلیون توکن ورودی رو پشتیبانی میکنه. برای عملکرد بهتر در context های طولانی، دستورالعملهای اصلی رو هم در ابتدا و هم در انتهای متن context قرار بدین. این روش بهتر از اینه که دستورات فقط در بالا یا فقط در پایین باشن.
برای وارد کردن تعداد زیادی داکیومنت، فرمت XML یا فرمتهای کاستوم مثل
ID: 1 | TITLE: ... | CONTENT: ... عملکرد خیلی بهتری نسبت به JSON دارن. از JSON برای این کار استفاده نکنین چون عملکرد ضعیفی نشون داده.
فرمتبندی Diff برای کدنویسی
اگه ایجنت کدنویسی میسازین، GPT-4.1 توی تولید
diff خیلی بهتر شده. OpenAI یه فرمت پیشنهادی معرفی کرده که مدل به خوبی روش آموزش دیده. ویژگیهای کلیدی این فرمت اینه که از شماره خط استفاده نمیکنه و به جاش از متن اطراف کد برای پیدا کردن محل تغییر استفاده میکنه. این کار باعث میشه دقت مدل خیلی بالاتر بره.
در کل، این مدل قدرت کنترل بالایی به مهندس میده، به شرطی که دستورات کاملاً واضح، دقیق و بدون ابهام باشن. باید شیوهی پرامپتنویسی رو با این ذهنیت جدید تطبیق داد.
📃 Prompting Guide for GPT-4.1:
https://cookbook.openai.com/examples/gpt4-1_prompting_guide🛠 Join
@LLMEngineers Community