بعد تقصير المطالبة، تحقّق من الوفورات باستخدام usage لكل استجابة وتكلفة المهمة بأكملها. فقد ترافق الإجابة القصيرة تكلفة كبيرة للاستدلال، كما قد يُعاد احتساب سجل المحادثة عند مواصلتها. لمراقبة الميزانية، افصل بين عدد الرموز وفئات التسعير وعدد الاستدعاءات اللازمة لإنجاز المهمة.

أربعة عدّادات وعلاقتها بعضها ببعض
في مثال كائن usage، تعرض OpenAI الإدخال والإخراج وتفاصيل كل منهما. اقرأها كما يلي:
input_tokens— إجمالي رموز الإدخال لهذا الاستدعاء، بما فيها السياقات المستخدمة لمواصلة المحادثة.input_tokens_details.cached_tokens— جزء الإدخال الذي عولج من ذاكرة التخزين المؤقت. وهو مشمول بالفعل فيinput_tokens.output_tokens— إجمالي الرموز المُولّدة، بما فيها رموز الاستدلال.output_tokens_details.reasoning_tokens— جزء الإخراج المخصّص للاستدلال.
رموز الاستدلال داخلة بالفعل في output_tokens؛ فلا تضفها إلى الإخراج مرة ثانية. تحتسبها OpenAI وفق سعر رموز الإخراج. وبالمثل، تؤدي إضافة cached_tokens إلى الإدخال إلى احتساب الجزء نفسه مرتين. استخدم total_tokens أو مجموع input_tokens + output_tokens لحساب الإجمالي.
التكلفة: قسّم الإدخال إلى فئات
تعرض صفحة الأسعار الحالية أسعار الإدخال العادي والإدخال المخزّن مؤقتًا وكتابة ذاكرة التخزين المؤقت والإخراج كلًّا على حدة. اختر الأسعار الموافقة للطراز الفعلي ووضع المعالجة وطول السياق المعمول به. واحفظ القيم الدقيقة ضمن إعدادات إصدارها قابل للتتبّع.
ومن التفاصيل المهمة في وثائق التخزين المؤقت الحالية أن طرازات GPT-5.6 والأحدث تحتسب input_tokens_details.cache_write_tokens. إذا كان مخططك يفرض رسومًا منفصلة على كتابة ذاكرة التخزين المؤقت، فاستبعد هذه الفئة من الإدخال العادي وطبّق سعرها الخاص.
I = input_tokens
C = input_tokens_details.cached_tokens
W = input_tokens_details.cache_write_tokens
O = output_tokens
ordinary_input = I - C - W
cost = ((I - C - W) * P_input
+ C * P_cached
+ W * P_write
+ O * P_output) \/ 1_000_000
الأسعار هنا لكل مليون رمز؛ وإذا لم يتضمن مخططك فئة منفصلة للكتابة، فاستخدم W = 0. تغطي المعادلة فئات الرموز المذكورة. أضف الأدوات المدفوعة في بنود مستقلة وفق شروط تسعيرها.
مثال افتراضي: الإدخال 4000، والإدخال المخزّن مؤقتًا 3000، وكتابة ذاكرة التخزين المؤقت 500، والإخراج 1000، منها 600 للاستدلال. ينتج عن ذلك 500 رمز إدخال عادي و5000 رمز إجمالًا. تُحتسب تكلفة الإخراج على أساس 1000 رمز؛ وتُحتفظ بالقيمة 600 لأغراض التشخيص.
مواصلة المحادثة تعني استهلاك الإدخال مجددًا
عند إدارة سجل المحادثة يدويًا، يرسل التطبيق الرسائل السابقة مع الإدخال الجديد. وتصبح الرسائل المضمّنة في الطلب التالي جزءًا من سياق الإدخال مجددًا. لذلك فإن قياس رسالة المستخدم الأخيرة وحدها لا يشمل تكلفة السجل.
عند استخدام previous_response_id، يمرّر التطبيق مرجعًا إلى الاستجابة السابقة، وتربط واجهة API السياق. ووفق قواعد احتساب مواصلة المحادثة، تُحتسب رموز الإدخال السابقة في سلسلة المحادثة مجددًا على أنها إدخال. وقد يغيّر التخزين المؤقت فئة التسعير لجزء من هذا الإدخال؛ لذا تحقّق من حدوث التخزين المؤقت فعليًا عبر cached_tokens في كل استجابة.
كيفية التحقق من نتيجة التحسين
- احفظ عينة أساس للمقارنة. قارن مهام متماثلة، والطراز نفسه، ومعيار النجاح نفسه، وأطوال محادثات متقاربة.
- سجّل كل استدعاء. دوّن معرّفات الاستجابة والمهمة، والطراز، وإعدادات الاستدلال، والحالة، وزمن الاستجابة، وكامل بيانات
usage. واحفظ إصدار المطالبة وإعدادات التسعير. - اجمع تكاليف المهمة. أدرج جميع استدعاءاتها والاستجابات الناتجة عن المحاولات المتكررة. المقياس الأساسي هو تكلفة المهمة المكتملة بنجاح.
- افصل أسباب التغيير. راقب الإدخال العادي وقراءة ذاكرة التخزين المؤقت وكتابتها والإخراج ونسبة الاستدلال. ولحساب النسبة الإجمالية للتخزين المؤقت، اقسم مجموع
Cعلى مجموعI. - تحقّق من الجودة ومن القيم عند أطراف التوزيع. قارن المئين 95 وعدد المحاولات ونسبة المهام الناجحة إلى جانب متوسط التكلفة.
تحدّ الخاصية max_output_tokens من التوليد بما يشمل الاستدلال. وعند بلوغ الحد، قد تصبح حالة الاستجابة incomplete، حتى في حالات لا يظهر فيها نص، مع استمرار استهلاك الرموز. أدخل هذه الاستجابات في تقييم الوفورات: يكون التحسين قد حقق هدفه عندما تكتمل مهام متقاربة بنجاح بتكلفة إجمالية أقل.