Claude Opus 5 کی نئی prompt-caching API چیٹ اسٹائل ایپس کے لیے ٹوکن کے اخراجات میں نمایاں کمی لاتی ہے، کیونکہ یہ ماڈل کو تبدیل نہ ہونے والے متن کو دوبارہ پڑھنے سے بچاتی ہے۔ پہلی درخواست پر معمولی اضافی قیمت ادا کرنی پڑتی ہے؛ اس کے بعد ہر بار استعمال کی قیمت بنیادی شرح کا تقریباً دسواں حصہ ہوتی ہے، جس سے بار بار ہونے والا خرچہ ایک بار کے چارج میں بدل جاتا ہے۔

ڈویلپرز ایک ہی الفاظ کے لیے دو بار کیوں ادائیگی کرتے ہیں

زیادہ تر بات چیت کرنے والے انٹرفیس (conversational interfaces) ہر مرحلے پر مکمل پرامپٹ کو دوبارہ بناتے ہیں: جب بھی کوئی صارف اگلا سوال پوچھتا ہے، تو 8,000 ٹوکنز والا سسٹم پرامپٹ، منسلک PDFs، اور مکمل مکالمے کی تاریخ (dialogue history) ایک ساتھ ماڈل کے پاس جاتی ہے۔ ماڈل ہر ٹوکن کو دوبارہ پروسیس کرتا ہے حالانکہ اس متن کا بڑا حصہ کبھی تبدیل نہیں ہوتا۔ موجودہ قیمتوں کے مطابق، یہ تکرار ایک مصروف بوٹ کے اخراجات پر حاوی ہو سکتی ہے۔

کیش (cache) حساب کتاب کو کیسے بدلتا ہے

API ایک مخصوص بریک پوائنٹ (breakpoint) تک ٹوکنز کے ہر "بلاک" کے لیے ایک کیش انٹری تخلیق کرتی ہے۔ جب اگلی درخواست کے شروع میں وہی بلاک موجود ہو، تو سروس اسے دوبارہ ٹوکنائز کرنے کے بجائے کیش سے پڑھ لیتی ہے۔ قیمتوں کی تقسیم بچائی گئی محنت کی عکاسی کرتی ہے:

  • Cache write – 5-minute TTL: 1.25 × بنیادی قیمت
  • Cache write – 1-hour TTL: 2 × بنیادی قیمت
  • Cache read (hit): 0.1 × بنیادی قیمت

عملی طور پر، ایک نئے بلاک کے لیے پہلی کال کی قیمت ایک عام درخواست سے تھوڑی زیادہ ہوتی ہے۔ کیش کا استعمال کرنے والی ہر بعد کی کال 90% سستی ہوتی ہے، اس لیے جیسے جیسے گفتگو آگے بڑھتی ہے، مجموعی خرچہ تیزی سے کم ہو جاتا ہے۔

پرامپٹس کی ساخت کے لیے "سنہری اصول"

کیش کی تاثیر اس بات پر منحصر ہے کہ آپ اسٹیٹک (static) اور ڈائنامک (dynamic) مواد کو کہاں رکھتے ہیں۔ جو چیزیں تبدیل نہیں ہوتیں انہیں شروع میں رکھیں، اور جو چیزیں مسلسل بدلتی رہتی ہیں انہیں آخر میں رکھیں۔ ایک قابل اعتماد ترتیب کچھ اس طرح ہے:

  1. Tools – کسی بھی بیرونی فنکشنز کی تعریف جنہیں ماڈل کال کر سکتا ہے۔
  2. System instructions – وہ اعلیٰ سطح کا طرزِ عمل جس پر آپ چاہتے ہیں کہ ماڈل عمل کرے۔
  3. Documents – طویل سیاق و سباق (context) جیسے کہ PDFs، نالج بیسز، یا پالیسی کے اقتباسات۔
  4. User questions – وہ لائیو سوال جو ہر مرحلے پر بدلتا رہتا ہے۔

اگر آپ بریک پوائنٹ سے پہلے کسی بھی ٹوکن میں تبدیلی کرتے ہیں، تو کیش انٹری کالعدم ہو جاتی ہے اور ماڈل کو اس کے بعد کی تمام چیزوں کو دوبارہ پروسیس کرنا پڑتا ہے۔

پوشیدہ حدود جن کا آپ کو خیال رکھنا چاہیے

  • Minimum block size – Opus 5 صرف ان بلاکس کو کیش کرتا ہے جن میں کم از کم 512 ٹوکنز ہوں۔ اس سے چھوٹا کچھ بھی مکمل طور پر کیش سے باہر رہ جائے گا۔
  • Timestamp bug – کیش شدہ بلاک کے اندر بدلتا ہوا ٹائم اسٹیمپ (timestamp) ڈالنے سے کیش کا استعمال یقینی طور پر ناکام ہو جائے گا، کیونکہ بلاک کا متن کبھی بھی بالکل مماثل نہیں ہوگا۔
  • 20-block look-back – سروس صرف مماثلت کے لیے آخری 20 بلاکس کو اسکین کرتی ہے۔ طویل دورانیے کے سیشنز جو تیزی سے آگے بڑھتے ہیں، وہ کیش کی حد (window) سے باہر نکل سکتے ہیں۔
  • Parallel requests – ایک ہی وقت میں کئی ایک جیسی درخواستیں بھیجنے سے وہ سب ناکام ہو جائیں گی، کیونکہ کیش صرف پہلی درخواست مکمل ہونے کے بعد بھرتا ہے۔ پہلے ایک سنگل کال کے ذریعے کیش کو "وارم اپ" کریں، پھر باقی درخواستیں بھیجیں۔

اپنی API رسپانس میں بچت دیکھنا

ہر رسپانس تین ٹوکن کاؤنٹرز رپورٹ کرتا ہے:

  • cache_read_input_tokens – وہ ٹوکنز جو کیش ہٹ (cache hit) سے حاصل ہوئے۔
  • cache_creation_input_tokens – وہ ٹوکنز جو اس درخواست میں کیش میں لکھے گئے۔
  • input_tokens – وہ نئے ٹوکنز جو کیش نہیں کیے گئے۔

اس مرحلے کے لیے ماڈل کے زیرِ غور آنے والے کل ٹوکنز حاصل کرنے کے لیے ان تینوں نمبروں کو جمع کریں۔ اگر دونوں کیش فیلڈز صفر ہیں، تو اس کا مطلب ہے کہ درخواست کیش سے نہیں گزر سکی؛ اپنے بلاک سائز اور بریک پوائنٹ کی جگہ چیک کریں۔

خلاصہ: غیر متبدل (immutable) سیاق و سباق کو شروع میں رکھ کر اور Claude Opus 5 کی prompt-caching API کو اصل کام کرنے دے کر، آپ بار بار ہونے والے ٹوکن کے خرچ کو ایک بار کے چارج میں بدل دیتے ہیں۔ اس کا نتیجہ کسی بھی ایسے چیٹ بوٹ کے لیے اخراجات میں نمایاں کمی کی صورت میں نکلتا ہے جو بار بار ایک ہی سسٹم پرامپٹ یا دستاویزات کے سیٹ کا حوالہ دیتا ہے—بشرطیکہ آپ ٹوکن کی کم از کم حد کا خیال رکھیں، کیش شدہ بلاکس کے اندر متبدل نشانات سے بچیں، اور اپنے کیش کے قابل مواد کو 20 بلاکس کی حد کے اندر رکھیں۔