كيفية تتبع تكلفة استخدام API أوبن إيه آي (OpenAI) لكل ميزة: دليل لتحديد مصادر التكلفة

Ashley Innocent

Ashley Innocent

12 مايو 2026

كيفية تتبع تكلفة استخدام API أوبن إيه آي (OpenAI) لكل ميزة: دليل لتحديد مصادر التكلفة

فاتورة OpenAI الخاصة بك تشير إلى أنك أنفقت 4,237 دولارًا الشهر الماضي. لكنها لا تخبرك أن 3,100 دولارًا من هذا المبلغ جاءت من نقطة نهاية تلخيص جامحة، و700 دولارًا من عميل يدفع لك 50 دولارًا شهريًا، و437 دولارًا من ميزة لا يستخدمها أحد. لوحة التحكم تخفي الصورة التي تحتاجها لاتخاذ أي قرار بشأن التسعير أو السعة أو خارطة الطريق.

يوضح لك هذا الدليل كيفية إسناد تكلفة OpenAI API بالطريقة الصحيحة: وسم كل طلب ببيانات وصفية، وتجميع الإنفاق لكل ميزة ومسار وعميل، وتعيين حدود ميزانية لكل مفتاح، وتصميم المطالبات بحيث تتوقف التكلفة عن كونها بندًا غامضًا. إذا كنت تشحن ميزات تعتمد على نماذج اللغة الكبيرة (LLM)، فهذا هو العمل الذي يحول الذكاء الاصطناعي من نفقات خارجة عن السيطرة إلى تكلفة منتج مدارة.

💡
يمنحك Apidog رؤية على مستوى الطلب واختبار السيناريوهات الذي تحتاجه للتحقق من أن غلاف تتبع التكلفة الخاص بك يعمل قبل نشره للإنتاج. قم بتنزيل Apidog واستخدمه لإعادة تشغيل الطلبات الموسومة، وتأكيد شكل السجل، والتحقق من أن كل استدعاء يحمل البيانات الوصفية التي يتوقعها مستودعك.
زر

باختصار

وسم كل استدعاء لواجهة برمجة تطبيقات OpenAI ببيانات وصفية منظمة (الميزة، المسار، معرف العميل، البيئة)، وإصدار سطر سجل منظم لكل طلب يلتقط عدد التوكنات والتكلفة المحسوبة، ثم التجميع حسب الوسم في مستودع البيانات الخاص بك. قم بتعيين حدود ميزانية لكل مفتاح في لوحة تحكم OpenAI، وتلقي تنبيهات بشأن الانحرافات في الإنفاق بالساعة، وتحقق من الغلاف بشكل كامل باستخدام اختبارات سيناريو Apidog قبل أن تثق بالأرقام.

مقدمة

تقوم بشحن ميزة ذكاء اصطناعي جديدة يوم الثلاثاء. بحلول صباح الجمعة، يكون مديرك المالي يسألك في رسالة خاصة لماذا قفزت فاتورة OpenAI بنسبة 40 بالمائة. تفتح لوحة التحكم. إنها تظهر إجمالي الإنفاق يتصاعد. لكنها لا تظهر أي ميزة، أو أي عميل، أو أي مسار هو المسؤول. تبدأ بالتخمين.

هذه هي الفجوة التي تواجهها كل فريق يدير أحمال عمل نماذج اللغة الكبيرة (LLM) في الإنتاج. واجهة الفواتير في OpenAI مصممة لحسابات الدفع، وليس لإسناد التكاليف الهندسية. ترى إجماليات يومية، وتفاصيل النماذج، وهذا كل شيء. لا ترى شكل الطلب، أو العميل الذي أطلقه، أو الميزة التي استدعت النموذج.

الحل بسيط في المفهوم وصعب في التنفيذ. تقوم بتغليف كل استدعاء لواجهة برمجة التطبيقات بطبقة بيانات وصفية. تقوم بتسجيل كل طلب في مخزن منظم. تقوم بالتجميع حسب الوسم. تقوم بتعيين حدود. تقوم بتلقي تنبيهات بشأن الفروقات. بحلول نهاية هذا المنشور، سيكون لديك نموذج بيانات ملموس، وعينتين من التعليمات البرمجية العاملة، وسير عمل للتحقق باستخدام Apidog، ومقارنة للأدوات حتى تتمكن من تحديد ما إذا كنت تريد البناء أو الشراء أو استخدام OpenAI usage API مباشرة.

للحصول على سياق التسعير الذي يدفع حسابات التكلفة الخاصة بك، راجع تفاصيل تسعير GPT-5.5. لمشكلة إسناد فواتير ذات صلة في جانب أدوات المطورين، راجع فاتورة استخدام GitHub Copilot لفرق واجهات برمجة التطبيقات. لأساسيات OpenAI API، راجع المرجع الرسمي لـ OpenAI API.

لماذا لا تكفي لوحة تحكم فواتير OpenAI

افتح صفحة فواتير OpenAI الآن. سترى مخطط الإنفاق اليومي، وتفاصيل النموذج، وحدود الاستخدام. هذا هو السطح بأكمله. يعمل بشكل جيد إذا كان لديك تطبيق واحد، وعميل واحد، وميزة واحدة. لحظة أن يكون لديك أي مما يلي: ميزات متعددة في نفس المنتج، أو عملاء متعددين، أو بيئات متعددة، أو مطورين متعددين، تتوقف لوحة التحكم عن كونها مفيدة.

هذا ما هو مفقود.

إجمالي الإنفاق بدون سياق. تخبرك لوحة التحكم أنك أنفقت 312 دولارًا أمس على GPT-5.5. لا تخبرك ما إذا كان هذا المبلغ جاء من عميل واحد يضرب نقطة نهاية الدردشة للدعم 50,000 مرة أو من وظيفة خلفية أعادت تلخيص قاعدة معرفتك بأكملها لأن شخصًا ما ترك علامة مفعلة. كلاهما يبدو متطابقًا على الرسم البياني.

لا يوجد تفصيل لكل ميزة. تقوم OpenAI بتمييز الطلبات بواسطة مفتاح API والنموذج. لا تقوم بتمييزها بواسطة ميزتك، أو مسارك، أو معرف العميل، أو البيئة. إذا كنت تريد أيًا من ذلك، فعليك بناؤه بنفسك. لا يوجد بُعد أصلي لتحليلات المنتج في لوحة التحكم.

تأخر الإبلاغ. تظهر بيانات الاستخدام بتأخير يقاس بعشرات الدقائق إلى بضع ساعات. بحلول الوقت الذي يظهر فيه حلقة مفرغة في لوحة التحكم الخاصة بك، تكون قد استهلكت بالفعل بطاقة ائتمان. تحتاج إلى تتبع في الوقت الفعلي، وليس مخططًا تاريخيًا.

لا توجد بدائيات للتنبيهات. تمنحك OpenAI حدًا واحدًا للميزانية لكل مؤسسة ورسالة بريد إلكتروني واحدة للتنبيه اللطيف. لا يوجد تنبيه لكل مفتاح، ولا حد لكل ميزة، ولا اكتشاف للشذوذ. إذا كنت تريد "إرسال تنبيه لي إذا تجاوزت نقطة نهاية الدردشة 50 دولارًا في الساعة"، فعليك بناؤه بنفسك.

لا يوجد إسناد للعملاء. إذا كنت تبيع منتج SaaS لقطاع الشركات (B2B SaaS) مع ميزة مدعومة بالذكاء الاصطناعي، فأنت بحاجة إلى معرفة العميل الذي أدى إلى أي إنفاق حتى تتمكن من التسعير أو التقييد أو البيع الإضافي. لا تستطيع لوحة التحكم الإجابة عن سؤال "ماذا يكلفني العميل X هذا الشهر؟". يحتاج فريقك المالي إلى هذا الرقم لحساب هامش الربح الإجمالي لكل عميل. بدون ذلك، تكون اقتصاديات وحدتك مجرد تخمين.

حسابات الخدمة ومفاتيح على مستوى المشروع تساعد، ولكن جزئيًا فقط. تسمح لك مفاتيح مشروع OpenAI بتقسيم الاستخدام حسب المشروع. وهذا يمنحك مستوى واحدًا من الإسناد. لكنها لا تمنحك إسنادًا لكل ميزة أو لكل عميل أو لكل مسار. ما زلت بحاجة إلى بيانات وصفية على مستوى التطبيق للإجابة عن الأسئلة المهمة. تعيد واجهة برمجة تطبيقات استخدام OpenAI بيانات مجمعة لكل مشروع، وليس لكل طلب.

يتكرر هذا النمط في كل فريق يقوم بشحن ميزات LLM على نطاق واسع. انتشر موضوع Dev.to "OpenAI تخبرك بما أنفقته. ليس أين. لذلك بنيت لوحة تحكم" لأنه حدد المشكلة بصوت عالٍ: لا يمكنك إدارة ما لا يمكنك قياسه. لوحة التحكم الأصلية تجيب على سؤال مالي. أنت بحاجة للإجابة على سؤال خاص بالمنتج.

نموذج بيانات إسناد التكلفة

يبدأ إسناد التكلفة بقرار واحد: كل طلب من OpenAI يحصل على حدث موسوم يتم كتابته إلى مستودع البيانات الخاص بك. هذا الحدث هو وحدة التحليل الخاصة بك. اجعل المخطط صحيحًا وبقية العمل، مثل لوحات المعلومات والتنبيهات والحدود القصوى، تصبح استعلام SQL.

هذا هو الحد الأدنى للمخطط الذي تحتاجه.

العمود النوع مثال لماذا هو مهم
request_id uuid 7a91... الثبات، إزالة التكرار، إعادة المحاولات
timestamp timestamptz 2026-05-06T14:23:01Z استعلامات السلاسل الزمنية، اكتشاف الشذوذ
feature text support-chat واجهة المنتج التي أطلقت الاستدعاء
route text /api/v1/chat/answer مسار HTTP أو معرف وظيفة الخلفية
customer_id text cust_4291 الإنفاق لكل عميل، هامش الربح الإجمالي
environment text prod, staging, dev إبعاد تكلفة التطوير عن إسناد العملاء
model text gpt-5.5, gpt-5.4-mini تختلف الأسعار حسب النموذج
prompt_tokens int 15234 عدد توكنات الإدخال من الاستجابة
completion_tokens int 812 عدد توكنات الإخراج من الاستجابة
reasoning_tokens int 4500 توكنات الاستدلال (تحسب كفواتير إخراج)
cached_tokens int 12000 مرات استخدام ذاكرة التخزين المؤقت للمطالبة، تُحاسب بنسبة 50 بالمائة
latency_ms int 2341 لربط التكلفة بتجربة المستخدم
cost_usd numeric(10,6) 0.045672 محسوبة وقت الكتابة من عدد التوكنات
prompt_cache_key text system-v3 تتبع معدلات استخدام ذاكرة التخزين المؤقت لكل ميزة
error_code text null, 429 حتى لا تضاعف حساب إعادة المحاولات

احسب التكلفة وقت الكتابة، وليس وقت الاستعلام. تتغير الأسعار؛ أنت تريد رقمًا ثابتًا يعكس السعر الذي دفعته في اليوم الذي حدث فيه الطلب. منطق الحساب لـ GPT-5.5 يبدو كالتالي:

PRICING = {  # USD per 1M tokens, as of May 2026
    "gpt-5.5":      {"input": 5.00,  "cached": 2.50,  "output": 30.00},
    "gpt-5.5-pro":  {"input": 30.00, "cached": 15.00, "output": 180.00},
    "gpt-5.4":      {"input": 2.50,  "cached": 1.25,  "output": 15.00},
    "gpt-5.4-mini": {"input": 0.25,  "cached": 0.125, "output": 2.00},
}

def compute_cost_usd(model, prompt_tokens, cached_tokens, completion_tokens, reasoning_tokens):
    rates = PRICING[model]
    uncached = max(0, prompt_tokens - cached_tokens)
    input_cost  = (uncached      * rates["input"])  / 1_000_000
    cache_cost  = (cached_tokens * rates["cached"]) / 1_000_000
    output_cost = ((completion_tokens + reasoning_tokens) * rates["output"]) / 1_000_000
    return round(input_cost + cache_cost + output_cost, 6)

تحسب توكنات الاستدلال (Reasoning tokens) كناتج. تعيد واجهة برمجة تطبيقات OpenAI هذه التوكنات في usage.completion_tokens_details.reasoning_tokens، ولكن يتم احتسابها بسعر الناتج. إذا فاتك هذا، فإنك ستقلل من حساب التكلفة في كل استدعاء لوضع التفكير (Thinking-mode). لمعرفة تفاصيل حساب الأسعار الكاملة، راجع تفاصيل تسعير GPT-5.5.

الآن قم بتغليف عميل OpenAI. يمر كل استدعاء عبر دالة واحدة. تأخذ هذه الدالة البيانات الوصفية، وتقوم بالطلب، وتكتب الحدث.

import time, uuid, json, logging
from openai import OpenAI

client = OpenAI()
logger = logging.getLogger("llm.cost")

def call_with_attribution(
    *, feature, route, customer_id, environment,
    model, messages, **openai_kwargs
):
    request_id = str(uuid.uuid4())
    started = time.time()
    error_code = None
    response = None

    try:
        response = client.chat.completions.create(
            model=model, messages=messages, **openai_kwargs
        )
    except Exception as e:
        error_code = getattr(e, "code", "unknown_error")
        raise
    finally:
        latency_ms = int((time.time() - started) * 1000)
        u = response.usage if response else None
        prompt_tokens     = getattr(u, "prompt_tokens", 0)
        completion_tokens = getattr(u, "completion_tokens", 0)
        cached_tokens     = getattr(getattr(u, "prompt_tokens_details", None), "cached_tokens", 0) or 0
        reasoning_tokens  = getattr(getattr(u, "completion_tokens_details", None), "reasoning_tokens", 0) or 0
        cost_usd = compute_cost_usd(model, prompt_tokens, cached_tokens, completion_tokens, reasoning_tokens)

        logger.info(json.dumps({
            "event": "openai.request",
            "request_id": request_id,
            "feature": feature,
            "route": route,
            "customer_id": customer_id,
            "environment": environment,
            "model": model,
            "prompt_tokens": prompt_tokens,
            "completion_tokens": completion_tokens,
            "reasoning_tokens": reasoning_tokens,
            "cached_tokens": cached_tokens,
            "latency_ms": latency_ms,
            "cost_usd": cost_usd,
            "error_code": error_code,
        }))

    return response

هذا الغلاف الوحيد هو واجهة إسناد التكلفة الخاصة بك. كل ميزة في منتجك تستدعيه. سطر السجل المنظم هو مدخل مستودع البيانات الخاص بك. من هنا، قم بشحن السجلات إلى BigQuery أو ClickHouse أو Snowflake أو Postgres عبر خط أنابيب السجل الحالي لديك (Vector, Fluent Bit, Logstash, OTLP collector). لا يوجد خط أنابيب ثانٍ. لا توجد خدمة إضافية.

بالنسبة لفرق Node.js، يكون الشكل متطابقًا. قم بتغليف حزمة تطوير OpenAI SDK في دالة تأخذ البيانات الوصفية، وتلتقط response.usage، وتحسب التكلفة، وتكتب سطر JSON. إذا كانت منصتك تشغل بالفعل ناقل أحداث (Kafka, NATS, Pub/Sub)، فانشر الحدث هناك بدلاً من الخرج القياسي ودع المستهلكين السفليين يوزعونه على مستودع البيانات ونظام التنبيه الخاص بك.

ربط تتبع التكلفة واختباره باستخدام Apidog

لديك المخطط والغلاف. الآن حوّله إلى شيء عملي. ست خطوات.

1. استبدل استدعاءات OpenAI المباشرة بالغلاف. ابحث في قاعدة التعليمات البرمجية الخاصة بك عن OpenAI( و client.chat.completions.create. كل نتيجة تصبح استدعاء call_with_attribution(...). اجعل feature و route وسائط إلزامية. مررها في موقع الاستدعاء، وليس من متغير عام. إذا نسيت تمريرها، يجب أن تثير الدالة خطأ، وليس أن تفترض "مجهول".

2. إصدار سجلات منظمة. سجل إلى الإخراج القياسي (stdout) بصيغة JSON، سطر واحد لكل حدث. اضبط مستوى المسجل إلى INFO لهذه الأحداث تحديدًا. لا تخلطها بضوضاء التصحيح. إذا كنت تستخدم بالفعل مسجلًا منظمًا (structlog, pino, winston)، فقم بربطه بذلك.

3. تجميع حسب الميزة في مستودع البيانات الخاص بك. بمجرد وصول الأحداث إلى BigQuery أو ClickHouse، تكتب الاستعلامات نفسها:

SELECT
  feature,
  DATE_TRUNC(timestamp, DAY) AS day,
  COUNT(*) AS requests,
  SUM(cost_usd) AS spend_usd,
  SUM(prompt_tokens + completion_tokens) AS tokens,
  AVG(latency_ms) AS avg_latency_ms,
  SUM(cached_tokens) / NULLIF(SUM(prompt_tokens), 0) AS cache_hit_rate
FROM openai_events
WHERE environment = 'prod'
  AND timestamp >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 30 DAY)
GROUP BY feature, day
ORDER BY day DESC, spend_usd DESC;

4. رسم بياني للإنفاق حسب المسار. وجه Grafana أو Metabase أو Looker أو Superset نحو الجدول. أنشئ ثلاثة عروض: الإنفاق لكل ميزة بمرور الوقت، والإنفاق لكل عميل بمرور الوقت، وجدول لأكثر 20 مسارًا مرتبة حسب إنفاق الأمس. هذا هو لوحة تحكم عملياتك اليومية.

5. اختبر الغلاف باستخدام Apidog قبل نشره. هذه هي الخطوة التي تتجاهلها معظم الفرق وتندم عليها. يكتب الغلاف الخاص بك سجلات منظمة. إذا كان المخطط خاطئًا، فسيكون مستودعك خاطئًا بصمت، وستكون لوحات التحكم كاذبة. استخدم Apidog لإجراء اختبارات شاملة لخدمتك:

للاطلاع على مقاربات أوسع لاختبار واجهات برمجة التطبيقات التي تناسب خطوة التحقق هذه، راجع أدوات اختبار واجهات برمجة التطبيقات لمهندسي ضمان الجودة. للحصول على نهج "العقد أولاً" الذي يتوافق مع تغطية إسناد التكلفة، راجع تطوير واجهة برمجة التطبيقات "العقد أولاً".

6. تعيين حدود ميزانية وتنبيهات لكل مفتاح. تتيح لك OpenAI إنشاء مفتاح مشروع واحد لكل بيئة أو لكل ميزة. استخدمه. أنشئ مفتاحًا prod-support-chat، ومفتاحًا prod-summarization، ومفتاحًا staging-all. قم بتعيين حدود صارمة في لوحة تحكم OpenAI حتى لا تتمكن حلقة جامحة في ميزة واحدة من استنزاف ميزانية المنظمة بأكملها. أضف نظام التنبيه الخاص بك: استعلام SQL يعمل كل 10 دقائق ويرسل لك تنبيهًا إذا تجاوزت أي ميزة 3 أضعاف متوسط إنفاقها بالساعة خلال 7 أيام. تعمل PagerDuty أو Opsgenie أو Slack webhook جميعها؛ يأتي المشغل من مستودع البيانات الخاص بك، وليس من OpenAI.

مزيج حدود المفاتيح الأصلية والتنبيهات المدفوعة بمستودع البيانات يمنحك طبقتين من الدفاع. الحدود الأصلية هي حاجز ضد الاستنزاف الكارثي. تنبيهات مستودع البيانات تلتقط الانجراف البطيء قبل أن ينطلق الحد الأقصى.

تقنيات متقدمة ونصائح احترافية

بمجرد تشغيل خط الأنابيب الأساسي، تتبع التحسينات.

التخزين المؤقت للمطالبات. GPT-5.5 يفرض رسومًا بنسبة 50 بالمائة من سعر الإدخال للتوكنات المخزنة مؤقتًا. قم بهيكلة مطالبتك النظامية كبادئة ثابتة وضع المتغيرات لكل طلب في النهاية. معدلات استخدام ذاكرة التخزين المؤقت التي تزيد عن 70 بالمائة في أعباء عمل الدردشة طبيعية بمجرد القيام بذلك. تتبع cache_hit_rate لكل ميزة في لوحة التحكم الخاصة بك حتى تتمكن من رؤية متى يؤدي تغيير المطالبة إلى تدهور معدل استخدام ذاكرة التخزين المؤقت الخاص بك. تغطي وثائق التخزين المؤقت للمطالبات الرسمية من OpenAI قواعد الأهلية.

واجهة برمجة تطبيقات الدُفعة للعمل دون اتصال. أي شيء لا يحتاج إلى استجابة متزامنة يمر عبر Batch API للحصول على خصم 50 بالمائة. التلخيص الليلي، تشغيل التقييم، تعبئة التضمينات، إعادة معالجة المستندات. لا يزال غلاف التكلفة ينطبق؛ استدعِ نقطة نهاية الدُفعة ووسّم الأحداث بـ batch_job_id حتى تتمكن من إسنادها مرة أخرى إلى عبء العمل المصدر.

ضبط جهد الاستدلال. GPT-5.5 Thinking هو نفس النموذج بـ reasoning.effort أعلى. كل مستوى جهد يضاعف توكنات الإخراج. قم بمراجعة ميزاتك: هل تقوم بتشغيل medium حيث يمكن أن ينجح low في اجتياز معايير الجودة؟ قم بإجراء اختبار A/B، وتتبع الجودة والتكلفة، وشحن الخيار الأقل تكلفة إذا ظلت الجودة ثابتة. لمزيد من الرياضيات التفصيلية، راجع كيفية استخدام GPT-5.5 API.

انضباط نافذة السياق. المطالبات الطويلة مكلفة. استخدام RAG بميزانية استرجاع محكمة أفضل من حشر قاعدة المعرفة بأكملها في نافذة السياق. تتبع متوسط prompt_tokens لكل ميزة؛ إذا ارتفع أسبوعًا بعد أسبوع بدون تغيير في الميزة، فإن مطالبتك تتضخم.

راقب حد 272 ألف توكن في GPT-5.5. تطبق OpenAI مضاعف إدخال 2x ومضاعف إخراج 1.5x على الطلبات التي تتجاوز 272 ألف توكن. أضف حارسًا في غلافك يسجل تحذيرًا عندما يكون prompt_tokens > 250000 حتى تتمكن من اكتشاف المطالبات التي على وشك الوصول إلى الحد. لتفاصيل التسعير، راجع منشور تسعير GPT-5.5.

حدود الإنفاق لكل عميل. إذا كنت تبيع منتجات SaaS للشركات (B2B) ويتضمن عقدك ميزة مدعومة بنماذج اللغة الكبيرة (LLM)، فأنت بحاجة إلى حد أقصى لكل عميل. احسب الإنفاق المتجدد لكل customer_id من مستودع البيانات الخاص بك واجعل تطبيقك يتحقق منه قبل كل استدعاء. إذا تم الوصول إلى الحد الأقصى، أعد رمز 429 مع رسالة "تم تجاوز حصة الذكاء الاصطناعي الشهرية" ودعوة لإجراء فوترة. هذا ما يحول ميزات الذكاء الاصطناعي من خطر على الهامش إلى منتج يضيف إلى الهامش.

الأخطاء الشائعة التي يجب تجنبها.

البدائل والأدوات

ليس عليك بناء هذا بنفسك. هذه هي المقارنة الصادقة.

النهج ما يبرع فيه تكلفته متى تستخدمه
OpenAI usage API أصلي، لا يتطلب إعدادًا، دقيق إلى أقصى حد مجاني مشروع واحد، ميزة واحدة، لا يوجد إسناد لكل عميل
Helicone وكيل مباشر، لوحات تحكم، تخزين مؤقت، تكاليف لكل مستخدم طبقة مجانية؛ مدفوع يبدأ من 20 دولارًا شهريًا تريد لوحة تحكم مستضافة بسرعة، موافق على وجود وكيل في المسار
Langfuse مفتوح المصدر، استضافة ذاتية أو سحابية، تتبع + تكلفة استضافة ذاتية مجانية؛ سحابية تبدأ من 29 دولارًا شهريًا تريد تتبعًا وتكلفة في أداة واحدة، تفضل المصدر المفتوح
LangSmith تكامل محكم مع LangChain، تقييم + تكلفة مدفوع يبدأ من 39 دولارًا لكل مستخدم شهريًا تستخدم LangChain بالفعل، تريد موردًا واحدًا
مستودع بيانات مخصص تحكم كامل، يناسب مجموعتك التقنية الحالية، لا يوجد وكيل وقت هندسي أعباء عمل كبيرة، أبعاد مخصصة، إقامة بيانات صارمة

مفاضلات يجب وضعها في الاعتبار. الوكيل (Helicone) يضيف قفزة في مسارك الحرج؛ تكلفة زمن الاستجابة صغيرة ولكنها حقيقية، وأنت تعتمد على توفره. مكدس المراقبة المستضاف ذاتيًا (Langfuse) يمنحك تحكمًا كاملاً ولكنك تديره. مسار مستودع البيانات المخصص هو ما ينتهي به المطاف بمعظم الفرق الكبيرة؛ يتكامل مع بقية مكدس البيانات الخاص بك، ولكنك تكتب الاستعلامات والتنبيهات بنفسك. واجهة برمجة التطبيقات الأصلية للاستخدام جيدة إذا كانت احتياجاتك بسيطة، وعديمة الفائدة بمجرد أن تصبح غير بسيطة.

لقراءة أعمق حول كيف تبدو مراقبة تكاليف LLM الجيدة في الممارسة، يوضح دليل فريق Helicone حول تتبع تكاليف LLM النهج القائم على الوكيل. تغطي وثائق Langfuse حول تتبع التكلفة المسار مفتوح المصدر.

إذا قمت بتشغيل هذا على نطاق المنصة، فإن الأنماط تعمم. انظر منصات واجهات برمجة التطبيقات لهندسة الخدمات المصغرة لمعرفة كيفية تناسب أغلفة إسناد التكلفة مع استراتيجية شبكة الخدمات.

حالات الاستخدام الواقعية

منتجات SaaS لقطاع الأعمال (B2B SaaS) مع إنفاق LLM لكل عميل. تبيع شركة منتجًا لذكاء المبيعات. يقوم كل عميل بتشغيل استدعاءات GPT-5.5 عندما يطلب موجزًا. بدون إسناد، تعرف الشركة أنها تنفق 80 ألف دولار شهريًا على OpenAI. مع إسناد التكلفة لكل عميل، تتعلم أن 12 بالمائة من العملاء يدفعون 71 بالمائة من الإنفاق. تقوم بإدخال تسعير متدرج، وحصصًا مرنة على الطبقة الأدنى، ورسوم تجاوز لكل مقعد. ينتقل هامش الربح الإجمالي على ميزة الذكاء الاصطناعي من 41 بالمائة إلى 73 بالمائة في ربع واحد.

تتبع أدوات المطورين الداخلية. تمنح منظمة هندسية كل مطور إمكانية الوصول إلى مساعد دردشة GPT-5.5 خاص. باستخدام علامات لكل مطور (يصبح customer_id هو dev_email)، ترى هندسة المنصة أن ثلاثة مطورين يمثلون 50 بالمائة من الإنفاق الداخلي. اثنان منهم يديران حلقات وكلاء آلية نسيا إيقاف تشغيلها. يؤدي إيقاف تشغيلها إلى توفير 1,800 دولار شهريًا. الثالث يقوم بعمل مشروع؛ البيانات تبرر حصة أعلى على مستوى المنظمة لهم.

توقعات إنفاق ميزات الذكاء الاصطناعي. يرغب فريق منتج في شحن ميزة تلخيص جديدة. لا يعرف مدير المنتج كيفية التنبؤ بالتكلفة. باستخدام بيانات تاريخية لكل ميزة، يبني الفريق نموذجًا: متوسط توكنات المطالبة لكل استدعاء، متوسط توكنات الإخراج، الاستدعاءات المتوقعة لكل مستخدم نشط، المستخدمون النشطون المتوقعون. تعود التوقعات: 0.04 دولار لكل مستخدم نشط يوميًا، أو 1.20 دولار شهريًا. يقوم فريق التسعير بتسعير الميزة بـ 5 دولارات لكل مستخدم شهريًا. يوافق قسم المالية لأن اقتصاديات الوحدة مرئية.

الخلاصة

لا يمكنك إدارة ما لا يمكنك قياسه. لوحة تحكم فواتير OpenAI تجيب على سؤال مالي. إسناد التكاليف لكل ميزة، لكل عميل، ولكل مسار يجيب على سؤال المنتج. ابنِ الغلاف، سجل الحدث، استعلم مستودع البيانات، وسيتوقف سطر الذكاء الاصطناعي الخاص بك عن كونه لغزًا.

خمس نقاط رئيسية:

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

لقراءة ذات صلة بإدارة التكاليف، راجع تفاصيل تسعير GPT-5.5 و فاتورة استخدام GitHub Copilot لفرق واجهات برمجة التطبيقات.

الأسئلة الشائعة

هل تحسب توكنات الاستدلال كمدخلات أم مخرجات للفواتير؟توكنات الاستدلال يتم احتسابها بسعر المخرجات. تعيد OpenAI API هذه التوكنات تحت usage.completion_tokens_details.reasoning_tokens. أضفها إلى completion_tokens عند حساب التكلفة. لمعرفة المضاعفات لكل مستوى جهد، راجع تفاصيل تسعير GPT-5.5.

ما مدى دقة response.usage مقارنة بلوحة تحكم OpenAI؟تتطابق أعداد التوكنات في response.usage مع لوحة التحكم بدقة التوكن. قد تتسبب تغييرات التسعير في انحراف بسيط إذا كنت تحسب التكلفة من جدول أسعار قديم؛ ثبت السعر لكل نموذج وحدثه في اليوم الذي تجري فيه OpenAI تغييرًا في السعر.

هل يمكنني إجراء الإسناد باستخدام مفاتيح مشروع OpenAI وحدها؟تمنحك مفاتيح المشروع بُعدًا واحدًا للإسناد: لكل مشروع. لا تمنحك إسنادًا لكل ميزة، أو لكل عميل، أو لكل مسار. استخدم مفاتيح المشروع لتقسيم البيئات وحدود الميزانية؛ استخدم البيانات الوصفية على مستوى التطبيق لكل شيء آخر.

ماذا عن إعادة المحاولات وأخطاء حدود المعدل؟ هل تضاعف التكلفة؟الطلب الذي يفشل قبل تشغيل النموذج (4xx، خطأ في الشبكة قبل الاكتمال) لا يعيد كائن usage، لذا لا يتم تسجيل أي تكلفة. الطلب الذي ينجح ثم يتم إعادة محاولته على طبقة التطبيق سيتم تسجيله مرتين ما لم تعيد استخدام request_id. يجب أن تمرر عمليات إعادة المحاولة المتساوية نفس request_id ويجب أن يقوم الغلاف الخاص بك بإزالة التكرارات عند الكتابة.

ما مدى سرعة واجهة برمجة تطبيقات استخدام OpenAI في إرجاع البيانات؟تحتوي واجهة برمجة تطبيقات الاستخدام على تأخير يصل إلى عشرات الدقائق. لاتخاذ قرارات في الوقت الفعلي (تنبيهات، مفاتيح إيقاف الطوارئ)، استخدم مستودع البيانات الخاص بك. للمصالحة الشهرية، واجهة برمجة تطبيقات الاستخدام جيدة وتتطابق مع فاتورة الفواتير الخاصة بك.

هل يجب علي أخذ عينات من الطلبات لتقليل حجم السجل؟لا. حجم البيانات صغير (سطر JSON واحد لكل طلب)، وأخذ العينات يفسد إسناد كل عميل وكل مسار. سجل كل طلب.

هل يمكنني استخدام هذا النهج لموفري LLM الآخرين؟نعم. المخطط عام. أضف عمود provider (openai، anthropic، google، deepseek) وجدول تسعير واحد لكل موفر. الغلاف خاص بالموفر؛ مستودع البيانات ولوحات التحكم ليست كذلك. كنقطة مقارنة، راجع تسعير DeepSeek V4 API.

هل ينطبق هذا أيضًا على تضمين الرموز واستدعاءات إنشاء الصور؟نعم، مع حساب التكلفة الخاص بالمزود. يتم احتساب التضمينات بناءً على التوكنات المدخلة بسعر ثابت؛ يتم احتساب الصور بناءً على كل صورة بمعدل لكل دقة. أضف endpoint (مثل chat، embeddings، image) إلى المخطط وقم بتفريع حساب التكلفة بناءً عليه.

زر

ممارسة تصميم API في Apidog

اكتشف طريقة أسهل لبناء واستخدام واجهات برمجة التطبيقات