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

في هذه الصفحة
وكيل الذكاء الاصطناعي لا يرسل طلبًا واحدًا — بل يرسل العشرات، وكل خطوة تعيد إرسال المحادثة المتنامية. لهذا تهيمن رموز الإدخال على فواتير الوكلاء، ولهذا لا تنجح بديهة "السعر لكل إجابة" من تطبيقات الدردشة. إليك كيفية تقدير التكلفة قبل تشغيل الوكيل، وأين تذهب الأموال فعليًا.
المعادلة#
تكلفة الطلب الواحد هي رموز الإدخال مضروبة في سعر الإدخال زائد رموز الإخراج مضروبة في سعر الإخراج. تُسعَّر الأسعار لكل مليون رمز:
request_cost = input_tokens / 1,000,000 × input_price
+ output_tokens / 1,000,000 × output_priceتكلفة المهمة هي مجموع كل الطلبات التي يرسلها الوكيل أثناء حلها.
لماذا الوكلاء ثقيلو الإدخال#
في كل خطوة يرسل الوكيل إلى النموذج:
- موجه النظام وتعريفات الأدوات؛
- كامل السجل حتى الآن — الرسائل السابقة، وإجابات النموذج السابقة، ونتائج الأدوات (محتويات الملفات، ومخرجات الأوامر، ونتائج البحث)؛
- التعليمة الجديدة.
عادةً يجيب النموذج برسالة قصيرة أو استدعاء أداة. ثم تُضاف نتيجة الأداة إلى السجل، وترسل الخطوة التالية كل شيء مرة أخرى. لذا ينمو إدخال كل خطوة، بينما يبقى الإخراج صغيرًا.
مثال محلول#
الشروط (افتراضات — استبدلها بأرقام من وكيلك):
- موجه النظام وتعريفات الأدوات: 6,000 رمز؛
- كل خطوة تضيف 1,500 رمز من نتائج الأدوات و500 رمز من مخرجات النموذج إلى السجل؛
- تستغرق المهمة 30 خطوة؛
- النموذج: DeepSeek-V4-Flash بسعر $0.0221 لكل 1M رمز إدخال و$0.10 لكل 1M رمز إخراج (الأسعار الحالية).
إدخال الخطوة n هو 6,000 + (n − 1) × 2,000 رمز. على مدى 30 خطوة:
- إجمالي الإدخال: 30 × 6,000 + 2,000 × (0 + 1 + … + 29) = 180,000 + 870,000 = 1,050,000 رمز؛
- إجمالي الإخراج: 30 × 500 = 15,000 رمز؛
- التكلفة: 1.05 × $0.0221 + 0.015 × $0.10 ≈ $0.0247 لكل مهمة.
الإدخال هو 98.6% من الرموز وكل التكلفة تقريبًا. مقدار هيمنة الإدخال يعتمد على السيناريو: الإجابات الطويلة والملفات المولدة ونماذج الاستدلال ترفع حصة الإخراج، بينما سجل مُقلَّم ومخرجات أدوات قصيرة تخفض حصة الإدخال.
المهمة نفسها على كل نموذج بالأسعار الحالية، مع أسعار OpenRouter المرجعية للمقارنة:
| النموذج | الإدخال $/1M | الإخراج $/1M | التكلفة | OpenRouter |
|---|---|---|---|---|
| GLM-5.3-Flash | $0.027 | $0.08 | $0.0296 | $0.0534 |
| DeepSeek-V4-Flash | $0.0221 | $0.10 | $0.0247 | $0.0264 |
| MiniMax-M2.7 | $0.05 | $0.15 | $0.0548 | $0.333 |
1,050,000 رمز إدخال و15,000 رمز إخراج إجمالًا. الأسعار لكل مليون رمز حالية وتتغير مع تعريفاتنا؛ يعرض عمود OpenRouter أسعارًا مرجعية لنفس حجم العمل.
قدّرها بالكود#
الحساب نفسه كدالة — غيّر الافتراضات والأسعار:
def estimate(steps, base_tokens, tool_tokens, out_tokens, price_in, price_out):
"""Token totals and cost of one agent task. Prices: $ per 1M tokens."""
grow = tool_tokens + out_tokens # what each step adds to the history
total_in = steps * base_tokens + grow * steps * (steps - 1) // 2
total_out = steps * out_tokens
cost = (total_in * price_in + total_out * price_out) / 1_000_000
return total_in, total_out, round(cost, 5)
# example rates, $ per 1M tokens — put in the current ones from the pricing table below
print(estimate(30, 6_000, 1_500, 500, price_in=0.10, price_out=0.40))
# (1050000, 15000, 0.111)لاحظ الحد التربيعي: مضاعفة عدد الخطوات تضاعف الإدخال أربع مرات تقريبًا. الجلسات الطويلة تصبح مكلفة ليس بسبب أي خطوة واحدة، بل لأن كل خطوة تحمل السجل بأكمله.
قِس بدلًا من التخمين#
كل استجابة تتضمن usage. (إدخال) وusage. (إخراج). سجّلهما لكل خطوة من مهمة حقيقية، واضربهما في الأسعار الحالية، وستحصل على التكلفة الفعلية. تعرض لوحة التحكم أيضًا الاستخدام حسب النموذج وحسب اليوم.
الأسعار الحالية — نفس البيانات الموجودة في صفحة الأسعار:
| النموذج | السياق | الإدخال $/1M | الإخراج $/1M | OpenRouter إدخال | OpenRouter إخراج |
|---|---|---|---|---|---|
| GLM-5.3-Flash reasoning غير متاح مؤقتاً | 390K | $0.027 | $0.08 | $0.048 | $0.20 |
| DeepSeek-V4-Flash غير متاح مؤقتاً | 380K | $0.0221 | $0.10 | $0.016 | $0.64 |
| MiniMax-M2.7 غير متاح مؤقتاً | 200K | $0.05 | $0.15 | $0.30 | $1.20 |
الأسعار بالدولار الأمريكي لكل مليون رمز (token). أرقام OpenRouter معروضة للمقارنة وقد تتغير.
سبع طرق لخفض التكلفة#
- ابدأ مهمة جديدة للأعمال غير ذات الصلة. الجلسة الجديدة لا تحمل سجل الجلسة السابقة.
- أعطِ الوكيل أجزاءً، لا ملفات كاملة. دالة ومستدعيها بدلًا من وحدة من 3,000 سطر.
- قلّم مخرجات الأدوات. السجلات الطويلة ومخرجات الأوامر تبقى في السجل لبقية الجلسة — حدّها، مثلًا باستخدام
| tail -n 50. - لخّص الجلسات الطويلة. يمكن للعديد من الوكلاء ضغط السجل؛ استخدمه قبل أن يصبح السياق طويلًا.
- حدّد طول الإجابة باستخدام
max_tokensحيث لا حاجة للإجابات الطويلة. - استخدم النموذج المناسب للخطوة. الخطوات الروتينية لا تحتاج نموذج استدلال.
- احتفظ بميزانية مدفوعة مسبقًا. الرصيد مدفوع مسبقًا: عندما ينفد، تتوقف الطلبات بخطأ HTTP 402 بدلًا من تراكم فاتورة مفتوحة.
لمعرفة كيف يقارن نفس عبء العمل عبر النماذج ومع OpenRouter، استخدم مقارنة التكلفة في الصفحة الرئيسية.



