AI Cost Attribution: اعرف كل ميزة بتصرف كام
مستوى القارئ: متوسط
لو فاتورة الـ AI بتزيد ومش عارف السبب، المقال ده هيخليك تعرف أي مستخدم وأي ميزة وأي موديل صرفوا الفلوس بالظبط قبل ما تستنى آخر الشهر.
المشكلة باختصار
الطريقة الشائعة إن الفريق يفتح لوحة الفوترة آخر الأسبوع، يشوف رقم كبير، وبعدها يبدأ التخمين: هل السبب الشات؟ هل السبب تلخيص التذاكر؟ هل موديل أغلى اتستخدم بالغلط؟ الطريقة دي بتفشل لأن الفاتورة بتقول لك المبلغ، لكنها غالبًا لا تقول لك سياق المنتج اللي سبب المبلغ.
ركز في السيناريو ده: عندك SaaS فيه 3 ميزات AI. ميزة تلخص تذاكر الدعم، ميزة تكتب ردودًا مقترحة، وميزة تبحث في الوثائق. لو عندك 50 ألف طلب في اليوم وزادت التكلفة من 18 دولار إلى 42 دولار يوميًا، محتاج تعرف الزيادة جاية منين خلال دقائق، مش بعد اجتماع طويل.
الفكرة بمثال بسيط
اعتبر إن عندك كارت ائتمان واحد للشركة. لو كل الموظفين اشتروا أدوات مختلفة بنفس الكارت، كشف الحساب هيقول لك إجمالي المبلغ، لكن مش هيقول لك بسهولة إن فريق الدعم صرف 70% على أداة معينة. الحل إن كل عملية شراء تتسجل معها: مين اشترى، لأي سبب، وبأي مشروع.
AI Cost Attribution هو نفس الفكرة. كل طلب للنموذج لازم يتسجل معه المستخدم، اسم الميزة، اسم الموديل، عدد input tokens، عدد output tokens، والتكلفة التقريبية. بعد كده تقدر تسأل: ميزة support-summary صرفت كام النهارده؟ هل مستخدم واحد عمل spike؟ هل gpt-5-mini كفاية بدل موديل أغلى؟
ما الذي تسجله فعلاً؟
الافتراض إن تطبيقك بيستخدم OpenAI Responses API أو واجهة مشابهة بترجع كائن usage. توثيق OpenAI يوضح إن usage يحتوي input_tokens وoutput_tokens وtotal_tokens. كمان Usage API وCosts endpoint موجودين للتجميع على مستوى المنظمة، لكنهم لا يعرفون اسم الميزة داخل تطبيقك إلا لو أنت سجلته.
أفضل سجل مبدئي يكون بالشكل ده:
request_id: رقم الطلب الداخلي.user_id: المستخدم أو الحساب.feature: مثلsupport_summaryأوdoc_search_answer.model: اسم الموديل المستخدم.input_tokensوoutput_tokens: من استجابة الـ API.estimated_cost_usd: حساب تقريبي حسب سعر الموديل وقت التشغيل.
مثال Node.js قابل للتطبيق
الكود التالي لا يحاول يبني billing system كامل. هو يضيف طبقة تسجيل صغيرة حول استدعاء النموذج. الأرقام هنا مثالية: لو الموديل سعره 0.25 دولار لكل مليون input tokens و2.00 دولار لكل مليون output tokens، طلب فيه 2400 input و650 output يكلف تقريبًا 0.0019 دولار. الرقم صغير، لكن 100 ألف طلب يوميًا يحول التفاصيل الصغيرة لقرار منتج حقيقي.