نئے سیکھنے والوں کے لیے AIگائیڈ
اچھا پرامپٹ کیسے لکھیں: 5 حصے اور پہلے/بعد کی مثال
ایک مبہم ایک سطری درخواست کو ٹاسک، سیاق و سباق، فارمیٹ، مثال اور قواعد والے پرامپٹ میں بدلیں، پھر اسے OpenAI-compatible API کے ذریعے بھیجیں۔

اس صفحہ پر
آپ کا ماڈل پیر کو ایک کسٹمر ای میل کا خلاصہ تین پیراگرافوں میں کرتا ہے اور منگل کو دو بلیٹ پوائنٹس میں۔ وہی پرامپٹ، وہی ماڈل۔ ایک سطری درخواست یہی کرتی ہے: یہ ہر فیصلہ ماڈل پر چھوڑ دیتی ہے، اور ماڈل ہر بار مختلف فیصلہ کرتا ہے۔
ایک اچھا پرامپٹ پانچ سوالوں کے جواب دیتا ہے: کیا کرنا ہے (ٹاسک)، کس چیز پر کام کرنا ہے (سیاق و سباق)، جواب کیسا ہونا چاہیے (فارمیٹ)، اچھا جواب کیسا لگتا ہے (مثال) اور کس چیز سے بچنا ہے (پابندیاں)۔ نیچے، ایک مبہم درخواست ایک منظم درخواست بن جاتی ہے، OpenAI-compatible CheapTokens API سے گزرتی ہے، اور آپ دیکھتے ہیں کہ لمبا پرامپٹ بل میں کیا اضافہ کرتا ہے۔
"Summarize this email" ایک جوا کیوں ہے#
جب آپ "Summarize this email" ٹائپ کرتے ہیں، تو آپ کے ذہن میں پہلے سے ایک جواب ہوتا ہے: ایک جملہ، یہ کتنا فوری ہے، آگے کیا کرنا ہے۔ ماڈل وہ تصویر نہیں دیکھ سکتا۔ تو وہ اندازہ لگاتا ہے، اور ہر اندازہ معقول ہوتا ہے۔ مل کر وہ ہر رن پر آپ کو مختلف جواب دیتے ہیں، اور جواب پڑھنے والی اسکرپٹ کے پاس پارس کرنے کے لیے کچھ مستحکم نہیں ہوتا۔
OpenAI کی پرامپٹ-انجینئرنگ گائیڈ (27 اکتوبر 2026 کو پڑھی گئی) بات سیدھی رکھتی ہے: پرامپٹ انجینئرنگ مؤثر ہدایات لکھنا ہے، اور GPT ماڈل بہتر کارکردگی دکھاتے ہیں جب آپ انہیں واضح طور پر بتاتے ہیں کہ کوئی کام کیسے کرنا ہے۔ یہ عادت صرف متن تک محدود نہیں۔ 26 اکتوبر 2026 کو ایک ٹیلیگرام چینل نے 30 سیکنڈ کے جنریٹڈ ویڈیو کے لیے ایک پرامپٹ شیئر کیا جو بلاکس میں تقسیم تھا: منظر، بصری انداز، ڈائیلاگ، آڈیو اور اخراجات، تکنیکی تفصیلات۔ مختلف کام، وہی حرکت۔ مصنف نے ہر فیصلہ پہلے سے نامزد کیا بجائے اس کے کہ ماڈل پر چھوڑ دے۔
خود آزمائیںآزمائیں: "Summarize this email" سے ماڈل کو کیا اندازہ لگانا پڑے گا؟جواب دکھائیں
لمبائی (ایک سطر یا ایک صفحہ)، سامعین (آپ یا کسٹمر)، جواب کی شکل (نثر، بلیٹس، JSON)، کیا اہم شمار ہوتا ہے، اور جب ای میل میں نہ کہا ہو تو کیا کرنا ہے۔ ان میں سے ہر ایک وہ چیز ہے جسے ایک پرامپٹ طے کر سکتا ہے۔
پانچ حصے، سادہ الفاظ میں#
ایک نئے ساتھی کو ان کے پہلے دن بریف کرنے کا سوچیں۔ "اسے دیکھ لو" آپ کو ایک اندازہ دیتا ہے۔ ایک اسٹکی نوٹ جس پر کام، مواد، مطلوبہ فارمیٹ، ایک نمونہ اور ایک "نہ کریں" لکھا ہو، آپ کو وہ دیتا ہے جو آپ کا مطلب تھا۔
ٹاسک ایک فعل اور ایک مفعول ہے: "ای میل کا خلاصہ کرو اور اس کی فوری نوعیت بتاؤ۔" لفظی رہیں۔ "اس ای میل میں مدد کرو" کوئی ٹاسک نہیں ہے۔
سیاق و سباق وہ مواد ہے جس پر ماڈل کام کرتا ہے: ای میل، پروڈکٹ کی تفصیل، ایک پالیسی۔ ماڈل صرف وہ جانتا ہے جو اس نے تربیت میں سیکھا اور جو آپ پیسٹ کرتے ہیں۔ پیسٹ کیے گئے متن کو ڈیلیمیٹرز میں لپیٹیں، جیسے XML طرز کے ٹیگز <email>…</email> یا مارک ڈاؤن ہیڈرز، تاکہ آپ کی ہدایات متن کے ساتھ مکس نہ ہو جائیں۔ OpenAI کی گائیڈ دونوں تجویز کرتی ہے۔
فارمیٹ وہ ہے جو جواب لگتا ہے: "JSON جس میں keys summary, urgency, next_step ہوں" یا "تین بلیٹس، ہر ایک زیادہ سے زیادہ 12 الفاظ"۔ یہ سب سے زیادہ اہم ہے جب کوڈ جواب پڑھتا ہے۔
مثال ایک ان پٹ ہے اس آؤٹ پٹ کے ساتھ جو آپ چاہتے ہیں۔ گائیڈ few-shot مثالوں کی سفارش کرتی ہے جو متنوع ان پٹس کو مطلوبہ آؤٹ پٹس کے ساتھ کور کریں۔ ایک مثال اچھی شروعات ہے؛ جب آپ کے ان پٹس بہت مختلف ہوں تو دوسری شامل کریں۔
پابندیاں "نہ کریں" والی باتیں ہیں: صرف ای میل کے حقائق استعمال کریں، جب کچھ غائب ہو تو "unknown" لکھیں، کوئی ریفنڈ یا رعایت نہیں۔

ترتیب بھی تھوڑی اہم ہے۔ وہی گائیڈ کہتی ہے کہ ڈویلپر یا سسٹم میسج عام طور پر شناخت، ہدایات، مثالیں، سیاق و سباق کی ترتیب سے جاتا ہے، اور سیاق و سباق آخر کے قریب ہوتا ہے کیونکہ یہ درخواستوں کے درمیان بدلتا ہے۔ قواعد سسٹم میسج میں جاتے ہیں؛ ان پٹ یوزر میسج میں جاتا ہے۔
جوڑے ملائیں
پرامپٹ کے ہر حصے کو اس سوال سے ملائیں جس کا وہ جواب دیتا ہے
بائیں طرف کسی آئٹم پر ٹیپ کریں، پھر اس کا جوڑا
- ٹاسکماڈل کو کیا کرنا چاہیے؟
- سیاق و سباقیہ کس مواد پر کام کرتا ہے؟
- فارمیٹجواب کیسا لگنا چاہیے؟
- مثالاچھا جواب کیسا لگتا ہے؟
- پابندیاںاسے کیا نہیں کرنا چاہیے؟
پہلے اور بعد: ایک کسٹمر ای میل#
یہاں ایک سطری درخواست کے ساتھ وہی درخواست پانچوں حصوں کے ساتھ ہے۔ ای میل خود سیاق و سباق ہے، اور یہ یوزر میسج میں جاتی ہے، <email> ٹیگز میں لپٹی ہوئی۔
موازنہ کریں
ایک درخواست، دو پرامپٹس
پہلے
Summarize this email.بعد
You summarize customer emails for a support team.
Task: Summarize the email in the <email> tags and rate how urgent it is.
Format: Reply with JSON only, using the keys "summary" (one sentence), "urgency" ("low", "medium" or "high") and "next_step" (one short sentence).
Example:
<email>Hi, order 1042 was due Monday and it's Thursday. Where is it?</email>
{"summary": "Order 1042 is three days late and the customer asks where it is.", "urgency": "medium", "next_step": "Check the carrier tracking for order 1042 and reply with the status."}
Rules:
- Use only what the email says. If something is missing, write "unknown".
- Don't offer refunds or discounts.
- Output nothing outside the JSON."بعد" کو اوپر سے نیچے پڑھیں اور آپ ہر حصے کی نشاندہی کر سکتے ہیں: افتتاحی سطر اور ٹاسک، فارمیٹ لائن، مثال، قواعد۔ ای میل جان بوجھ کر متن سے غائب ہے۔ یہ ہر درخواست کے ساتھ بدلتی ہے، اس لیے یہ الگ سفر کرتی ہے۔

اسے API کے ذریعے بھیجیں#
ہدایات کبھی نہیں بدلتیں، اس لیے وہ ایک کانسٹنٹ میں رہتی ہیں اور پہلے جاتی ہیں۔ ای میل بدلتی ہے، اس لیے یہ آخر میں جاتی ہے۔ یہ پوری اسکرپٹ ہے، OpenAI Python SDK استعمال کرتے ہوئے جو CheapTokens کی طرف اشارہ کرتی ہے۔ ماڈل DeepSeek-V4-Flash ہے: 380K سیاق و سباق، فی جواب زیادہ سے زیادہ 32,768 آؤٹ پٹ ٹوکنز، کسی بھی وقت ایک قیمت۔ base URL اور model id CheapTokens docs سے لیں؛ اگر آپ کے پاس ابھی key نہیں ہے، تو your first API request اس پر چلتا ہے۔
import json
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.cheaptokens.dev/v1",
api_key=os.environ["CHEAPTOKENS_API_KEY"],
)
SYSTEM_PROMPT = """You summarize customer emails for a support team.
Task: Summarize the email in the <email> tags and rate how urgent it is.
Format: Reply with JSON only, using the keys "summary" (one sentence), "urgency" ("low", "medium" or "high") and "next_step" (one short sentence).
Example:
<email>Hi, order 1042 was due Monday and it's Thursday. Where is it?</email>
{"summary": "Order 1042 is three days late and the customer asks where it is.", "urgency": "medium", "next_step": "Check the carrier tracking for order 1042 and reply with the status."}
Rules:
- Use only what the email says. If something is missing, write "unknown".
- Don't offer refunds or discounts.
- Output nothing outside the JSON.
"""
email = "Hello, I was charged twice for my subscription this month. Please fix it before Friday, my card is almost at its limit."
response = client.chat.completions.create(
model="deepseek-ai/DeepSeek-V4-Flash-0731",
messages=[
{"role": "system", "content": SYSTEM_PROMPT},
{"role": "user", "content": f"<email>\n{email}\n</email>"},
],
)
reply = response.choices[0].message.content
print(json.loads(reply))
print(response.usage.prompt_tokens, response.usage.completion_tokens)اگر فارمیٹ لائن نے اپنا کام کیا، تو جواب ایک JSON آبجیکٹ ہے جس میں summary، urgency اور next_step ہیں، اور json.loads اسے ڈکشنری میں بدل دیتا ہے۔ اگر یہ ایرر اٹھائے، تو ماڈل نے JSON کو اضافی متن میں لپیٹ دیا: آخری قاعدہ سخت کریں یا دوسری مثال شامل کریں۔ آخری سطر پرنٹ کرتی ہے کہ کتنے ٹوکنز اندر اور باہر گئے، جو وہ نمبر ہے جس کے بارے میں اگلا سیکشن ہے۔
اضافی الفاظ کی قیمت#
ٹوکن کسی لفظ کا ایک ٹکڑا ہے۔ آپ جو بھیجتے ہیں (ان پٹ) اور جو ماڈل لکھتا ہے (آؤٹ پٹ) کے لیے فی ٹوکن ادائیگی کرتے ہیں، اور آؤٹ پٹ مہنگی طرف ہے۔ اس پر مزید input vs output tokens میں۔
فرض کریں آپ ایک سپورٹ بوٹ چلاتے ہیں جس میں روزانہ 1,000 ای میلز ہیں، اور ای میل تقریباً 300 ٹوکنز کی ہے۔ ایک سطری درخواست تقریباً 10 ٹوکنز کی ہدایت شامل کرتی ہے، تو تقریباً 310 اندر جاتے ہیں؛ ہم فرض کرتے ہیں کہ یہ تقریباً 250 ٹوکنز کا فری-فارم خلاصہ دیتی ہے۔ اوپر والا سسٹم پرامپٹ تقریباً 200 ٹوکنز کا ہے، علاوہ <email> ٹیگز کے لیے تقریباً 10، تو تقریباً 500 اندر جاتے ہیں؛ ہم فرض کرتے ہیں کہ فارمیٹ لائن جواب کو تقریباً 80 ٹوکنز کے JSON تک محدود رکھتی ہے۔ DeepSeek-V4-Flash پر یہ ایک سطری درخواست کے لیے فی ای میل $0.00003 اور منظم پرامپٹ کے لیے $0.000016 ہے۔ پرامپٹ لمبا ہو گیا، لیکن درخواست سستی ہو گئی، کیونکہ لمبا حصہ ان پٹ ہے اور جسے آپ نے چھوٹا کیا وہ آؤٹ پٹ ہے۔ اسکرپٹ چلائیں اور ان مفروضوں کو اپنے prompt_tokens اور completion_ سے بدلیں۔
یہاں منظم پرامپٹ روزانہ 1,000 ای میلز پر ماڈلز کے ساتھ ہے۔ مجموعی طور پر، ان پٹ اور آؤٹ پٹ کو ملا کر، CheapTokens اس ورک لوڈ پر OpenRouter کی ریفرنس قیمت سے سستا نکلتا ہے؛ موجودہ قیمتیں pricing page پر ہیں۔
| ماڈل | ان پٹ $/1M | آؤٹ پٹ $/1M | فی درخواست | 1,000 درخواستیں | OpenRouter، 1,000 درخواستیں |
|---|---|---|---|---|---|
| GLM-5.3-Flash | $0.02 | $0.04 | $0.000013 | $0.0132 | $0.0234 |
| DeepSeek-V4-Flash | $0.015 | $0.10 | $0.000016 | $0.0155 | $0.0462 |
| MiniMax-M2.7 | $0.05 | $0.15 | $0.000037 | $0.037 | $0.444 |
فی درخواست 500 ان پٹ اور 80 آؤٹ پٹ ٹوکنز۔ فی 1M ٹوکنز کی قیمتیں موجودہ ہیں اور ہمارے ٹیرف کے ساتھ تبدیل ہوتی ہیں؛ OpenRouter کالم اسی ورک لوڈ کے لیے حوالہ جاتی قیمتیں دکھاتا ہے۔
خود جانچیں#
اس عادت کے بارے میں ایک سوال جو سب سے زیادہ فائدہ دیتی ہے جب اسکرپٹ پرامپٹ کو دوبارہ استعمال کرتی ہے۔ ایک بار جب ڈھانچہ کام کر جائے، اگلے نوبس سسٹم میسج اور ٹمپریچر ہیں، جن کا احاطہ System prompt and temperature میں ہے۔
فوری جانچ
آپ کی اسکرپٹ ہر بار نئی ای میل کے ساتھ وہی ہدایات بھیجتی ہے۔ ای میل کہاں جانا چاہیے؟
جواب دکھائیں
جواب: آخر میں، ہدایات اور مثال کے بعد
ہدایات درخواستوں کے درمیان وہی رہتی ہیں اور ای میل بدلتی ہے۔ OpenAI کی گائیڈ مشورہ دیتی ہے کہ بدلتے ہوئے سیاق و سباق کو پرامپٹ کے آخر کے قریب رکھیں۔



