GPT-oss120

safari

ارسال ها
68
یکی از ساده ترین مدل های در دسترس GPT
Tune شده توسط ivira.ai
زمانی که اینترنت قطع شد و دسترسی من هم طبیعتا قطع شد مجبور به استفاده از ساده ترین و ناکارآمدترین مدل جی پی تی شدم.
اما این پنجره ی جدیدی را به روی تخصص مهندسی پرامپتم باز کرد و فرصتی شد تا نکات مهمی را بفهمم.
در این رشته مطالب شما با پایه های پرامپت نویسی آشنا میشوید.
چرا پایه ها؟ چون ساده ترین مدل جی پی تی که آن هم تیون شده هست فقط ساختارهای پایه را متوجه میشود!
تازه فکرش را بکن مدل در دسترس ما میزان توکن خروجیش بسیار کم و فقط حافظه ی ساختاری دارد!
 

safari

ارسال ها
68
نکتهچرا مهم استچطور اعمال کنیم
دستور واضح و خاصمدل بهتر می‌فهمد دقیقاً چه می‌خواهید.به جای «یک مقاله بنویس»، بگویید «یک مقالهٔ ۵۰۰ کلمه‌ای دربارهٔ مزایای انرژی خورشیدی با ساختار مقدمه‑بدنه‑نتیجه بنویس».
فرمت خروجی مشخصاز تولید متن‌های غیرمرتبط یا بی‌ساختار جلوگیری می‌کند.«پاسخ را به صورت فهرست شماره‌دار با ۳ نقطهٔ کلیدی ارائه بده».
نمونه‌های کوتاه (Few‑shot)با ارائهٔ یک یا دو مثال، رفتار دلخواه را نشان می‌دهید.قبل از درخواست اصلی، یک مثال کوتاه از خروجی دلخواه بگذارید؛ مثلا: «مثال: سؤال: …؛ پاسخ: …».
تقسیم کار به مراحلبرای مسائل پیچیده، مدل را به گام‌های کوچکتر راهنمایی می‌کند.«ابتدا خلاصه‌ای از موضوع بده، سپس دلایل اصلی را فهرست کن، در نهایت یک نتیجه‌گیری بنویس».
استفاده از محدودیت‌های عددیکنترل طول و جزئیات خروجی.«حداکثر ۲۰۰ واژه استفاده کن» یا «فقط ۲ مثال ارائه بده».
دستور «توضیح بده» یا «استدلال کن»مدل را toward تفکر منطقی هدایت می‌کند.«قبل از ارائهٔ جواب نهایی، دلیل انتخاب را توضیح بده».
تنظیمات دمایی (temperature) و حداکثر توکناگر دسترسی به پارامترهای مدل دارید، می‌توانید خلاقیت و طول متن را تنظیم کنید.برای نتایج دقیق temperature را ۰‑۰.۲ تنظیم کنید؛ برای خلاقیت temperature را ۰.۷‑۰.۹ بگذارید.
اجتناب از ابهام و واژگان چندمعنیابهام باعث گمراهی مدل می‌شود.به‌جای «نقش گل‌ها»، بگویید «نقش گل‌های رز در نمادهای عاشقانه».
بازخورد و اصلاحاگر خروجی مناسب نیست، می‌توانید مدل را اصلاح کنید.«این بخش را با جزئیات بیشتری دربارهٔ تاریخچهٔ موضوع بنویس».
 

safari

ارسال ها
68
دستور واضح و خاص
اگر بگویند مهمترین و تنها بخش اثر گذار پرامپت چیست میگویم دستور!
اگر دقیقا بدونید چی میخوایید سریعتر و راحت تر میتونید به نتیجه دست پیدا کنید.
اما یک ترفند مهم وجود داره :
اگر نمیدونید چی میخوایید یا فکر میکنید یه چیزی کمه یا نمیدونید چیزی کمه یا نه؟
کافیه در آخر پرامپ خود بنویسید :
if there is any enhancement or optimization for my Idea , tell me and also tell the reason
 

safari

ارسال ها
68
فرمت خروجی مشخص

حالا با اضافه کردن درخواست پیشنهاد برای بهتر شدن یک سوال از ما میپرسد :
برای چه کاری میخواهی پرامپ بنویسی؟
پاسخ من : Coding
نکتهٔ مهمچرا این‌جا مؤثر است؟
1. تعریف دقیق نقشدر ابتدای پرامپت یک پیام 
System
یا
Instruction
بگذارید:

You are an expert software engineer who writes clean, well‑commented code in <target‑language>.
مدل می‌داند باید از چه منظر (بهینه‌سازی، خوانایی، سبک) کار کند.
2. تعیین زبان و چارچوبواضح بگویید:
Write the solution in Python 3.10, using the standard library only.
از تولید کدهای نامرتبط یا وابسته به کتابخانه‌های غیرمستند جلوگیری می‌کند.
3. شرح مسئله به‌صورت ساختاری
مسئله:
به‌صورت یک پاراگراف کوتاه.


ورودی‌ها:
نوع، مثال و حدود.


خروجی‌ها:
قالب (مثلاً یک لیست، JSON).


قیدها:
زمان، حافظه، عدم استفاده از eval و …
ساختار واضح باعث می‌شود مدل تمام الزامات را به‌خوبی درک کند و گام‌های ناقص نداشته باشد.
4. مثال‌های «Few‑shot»یک یا دو مثال کوتاه از ورودی‑خروجی درست ارائه دهید. مثال:

Input: [1,2,3] → Output: 6
مدل الگوی «ورودی → خروجی» را یاد می‌گیرد و احتمال خطا کاهش می‌یابد.
5. درخواست
توضیح و تست
بگویید:
After the code, add a brief comment explaining the main steps and provide a simple unit test.
باعث می‌شود کد هم تولید شود و هم مستند؛ در صورت خطا می‌توانید سریع بررسی کنید.
6. استفاده از
Delimiter
برای جداسازی
مانند:

### BEGIN PROBLEM

### END PROBLEM

### BEGIN SOLUTION

### END SOLUTION
مدل دقیقاً می‌داند کجا کد را بنویسد و خطاهای «کد در متن توضیحی» کمتر می‌شود.
7. تنظیمات مداری (Parameters)
temperature
≤ 0.2 برای کدهای دقیق.


max_tokens
کافی برای کل کد + توضیح (مثلاً 800).


stop
را روی
### END SOLUTION
تنظیم کنید.
مقدار تصادفی کمتر → ثبات بیشتر؛ محدود کردن توکن‌ها از قطع ناخواستهٔ کد جلوگیری می‌کند.
8.
Chain‑of‑Thought
(تفکر گام‌به‌گام)
درخواست کنید:
First outline the algorithm in bullet points, then write the code.
مدل قبل از نوشتن کد، منطق را بازبینی می‌کند و خطاهای منطقی کمتر می‌شود.
9. به‌روزرسانی تدریجیخروجی را مرور کنید، بخش‌های ناقص را با پرامپت جدید اصلاح کنید (مثلاً «Add error handling for…»).بازخورد تکراری باعث بهبود کیفیت نهایی می‌شود.
10. پس‌پردازش (Post‑processing)کد تولیدشده را با linter یا تست‌های خودکار (pytest) اجرا کنید. اگر خطا داشت، به مدل بگویید:
The previous code raised a NameError; fix it
.
خطاهای اجرایی را سریع شناسایی و اصلاح می‌کنید.
 

safari

ارسال ها
68
مثال ساده برای آدرس یک مقدار در php array
به جای خواندن و تست کردن زیاد برای دسترسی به یک مقدار در آرایه زبان php
آن را gpt-oss120 دادم و درخواست کردم بهم بگه چجوری بهش دسترسی پیدا کنم. به جای ارسال کل آرایه که بسیار زیاد بود فقط تا یکی دو خط بعد از مقدار مورد نظرم را ارسال کردم :
how to get access to Ai Prompt Directory in this php array :
array(2) { ["threads"]=> array(1) { [0]=> array(32) { ["can_edit"]=> bool(false) ["can_edit_tags"]=> bool(false) ["can_hard_delete"]=> bool(false) ["can_reply"]=> bool(false) ["can_soft_delete"]=> bool(false) ["can_view_attachments"]=> bool(false) ["custom_fields"]=> array(0) { } ["discussion_open"]=> bool(true) ["discussion_state"]=> string(7) "visible" ["discussion_type"]=> string(10) "discussion" ["first_post_id"]=> int(147) ["first_post_reaction_score"]=> int(0) ["Forum"]=> array(11) { ["breadcrumbs"]=> array(1) { [0]=> array(3) { ["node_id"]=> int(72) ["title"]=> string(2) "Ai" ["node_type_id"]=> string(8) "Category" } } ["description"]=> string(0) "" ["display_in_list"]=> bool(true) ["display_order"]=> int(1) ["node_id"]=> int(73) ["node_name"]=> string(9) "Ai-prompt" ["node_type_id"]=> string(5) "Forum" ["parent_node_id"]=> int(72) ["title"]=> string(19) "Ai Prompt Directory" ["type_data"]=> array(16) { ["allow_posting"]=> bool(true) ["can_create_thread"]=> bool(false) ["can_upload_attachment"]=> bool(false) ["discussion"]=>

GPT-oss120 Answer :
برای دسترسی به بخش «Ai Prompt Directory» می‌توانید مستقیماً از کلیدهای آرایه استفاده کنید. در مثالی که آوردید، مسیر دسترسی به مقدار ‎title‎ (که «Ai Prompt Directory» است) به صورت زیر است:
// فرض کنیم آرایه‌ی شما در متغیر $data ذخیره شده است
$title = $data['threads'][0]['Forum']['title'];
echo $title;​
 

safari

ارسال ها
68
نمونه‌های کوتاه (Few‑shot)
داشتن یک خروجی قابل اتکا :
در بعضی مواقع شما خروجی را دارید و میخواهید چیزی دقیقا شبیه به آن داشته باشید.
اخیرا من نیاز به تبدیل یک کد پایتون به php داشتم.
ساختار کد نویسی php را بلدم اما نه زمان کافی دارم برای تبدیل نه اصلا وقتی هوش مصنوعی هست منطقیه وقت گذاشتن براش!
بنابراین مرحله به مرحله کد را دادم و خروجی ها را چک کردم.
در آخر یک خروجی زمانی داشتم که مطابقت نداشت و اینجا بود که نمونه خروجی درست خود را دادم و هوش مصنوعی برایم دقیق انجامش داد :

PHP:
private function toDateTimeUTC(string $raw): DateTimeImmutable
    {
        $s = $this->normalizeDateString($raw);

        // قالب‌های معمول (می‌توانید بیشتر اضافه کنید)
        $formats = [
            'Y-m-d H:i:s',
            'Y-m-d\TH:i:s',
            'Y-m-d H:i:s.u',
            'Y-m-d\TH:i:s.u',
        ];

        foreach ($formats as $fmt) {
            $dt = DateTimeImmutable::createFromFormat($fmt, $s, new DateTimeZone('UTC'));
            if ($dt !== false) {
                return $dt;
            }
        }

        // fallback عمومی – در اینجا هم به UTC تنظیم می‌کنیم
        try {
            return new DateTimeImmutable($s, new DateTimeZone('UTC'));
        } catch (Exception $e) {
            // اگر موفق نشد، epoch UTC برمی‌گردد
            return new DateTimeImmutable('1970-01-01 00:00:00', new DateTimeZone('UTC'));
        }
    }

    /* --------------------------------------------------------------
     *  تبدیل به **میلی‌ثانیه** (Unix timestamp × 1000 + ms)
     * -------------------------------------------------------------- */
    private function toTimestampMs(string $raw): int
    {
        $dt = $this->toDateTimeUTC($raw);
        // بخش میلی‌ثانیه را از فرمت "v" (milliseconds) می‌گیریم
        $msPart = (int)$dt->format('v');            // 0‑999
        return ($dt->getTimestamp() * 1000) + $msPart;
    }
 

safari

ارسال ها
68
1.دستور واضح
2. خروجی مشخص
3. شکستن دستورات بزرگ به دستورات کوچک
=
نتیجه ی موفق
نتیجه ی موفق در پرامپ نویسی بر اساس میزان سرعت رسیدن به نتیجه و کیفیت نتیجه مشخص میشود.
 
بالا