- بواسطة x32x01 ||
كنت شغال على جزء Optimization لتقليل استهلاك الـ tokens في مشروع بيعتمد على LLMs
الموديل المستخدم كان gpt-5.1، والبروجيكت عبارة عن AI Chat Agents الناس بتدخل تكلمه
الصدمة؟
Cost Reduction = 97.7%
وأنا ببص على الـ logs لاحظت حاجة مرعبة 
أي رسالة من اليوزر حتى: "سلام عليكم"
كانت بتستهلك 5000 token
قلت أكيد:
دخلت أعمل Debugging ولقيت إن الـ agent عنده:
حتى لو اليوزر كتب كلمة واحدة!
أنا موافق أستخدم الـ 50 Tool كلهم
بس مش موافق يدخلوا كلهم مع كل رسالة
رجعت بقى للصح:
الفكرة ببساطة 
بدل ما:
نعملهم: Embedding
وندخلهم في RAG 
يعني:
قبل ما نخلق الـ Agent نفسه، بنضيف خطوة صغيرة جدًا 
اسمها: Tool Prediction
الجزء ده:
رسالة:"سلام عليكم" الـ prediction model هيقول:
~90 token
رسالة:"عايز أعرف انتوا مين وتفاصيلكم" الـ prediction هيقول:
الفكرة بسيطة… لكن تأثيرها على التكلفة ضخم جدًا 
حبيت أشارك التجربة يمكن حد يستفاد
ولو عندك حالة شبه كده أو مشكلة في استهلاك الـ tokens
شاركنا
يمكن نطلع بحل أذكى 
الموديل المستخدم كان gpt-5.1، والبروجيكت عبارة عن AI Chat Agents الناس بتدخل تكلمه
الصدمة؟
- من 5000 token للرسالة
- لـ 80 ~ 150 token بس

- من 5000$
- لـ 115$ فقط
المشكلة ظهرت فين؟
وأنا ببص على الـ logs لاحظت حاجة مرعبة أي رسالة من اليوزر حتى: "سلام عليكم"
كانت بتستهلك 5000 token
قلت أكيد:
- الـ prompt بايظ؟

- الـ RAG results؟
(تمام وزي الفل)
الصدمة: 50 Tool شغالين مع كل رسالة
دخلت أعمل Debugging ولقيت إن الـ agent عنده:- 50 Tool
- كل Tool فيها:
- title
- description
- input schema
طب نعمل إيه من غير ما نمسح الـ Tools؟
أنا موافق أستخدم الـ 50 Tool كلهمبس مش موافق يدخلوا كلهم مع كل رسالة
رجعت بقى للصح:
- Papers
- Research
- Articles
الحل الذكي: Tools Metadata تدخل RAG مش Context
الفكرة ببساطة بدل ما:
- title
- description
نعملهم: Embedding
يعني:
- الـ Agent مش شايف كل الـ Tools طول الوقت
- بيشوف بس اللي محتاجه فعلًا
طب الـ Agent هيعرف يستخدم أنهي Tool إزاي؟
قبل ما نخلق الـ Agent نفسه، بنضيف خطوة صغيرة جدًا اسمها: Tool Prediction
الجزء ده:
- بياخد رسالة اليوزر
- يتوقع أنهي Tools محتاجها
مثال بسيط
- محتاج Tools؟

- عدد Tools = 0
- محتاج Tool اسمها مثلًا: retrieve_knowledge
- يستخدم Tool واحدة بس
- الاستهلاك يوصل لـ ~150 token
مش 5000
مثال توضيحي (Pseudo Code)
Python:
user_message = "سلام عليكم"
predicted_tools = predict_tools(user_message)
if len(predicted_tools) == 0:
run_agent(context_only=True)
else:
run_agent(
context_only=False,
tools=predicted_tools
)
النتيجة النهائية
- نفس الموديل
- نفس الجودة
- نفس الـ Tools
- Tokens أقل
- Performance أحسن
- فاتورة أقل بكتير

الخلاصة
- أكبر استهلاك tokens مش دايمًا من الـ prompt
- Tools الكتير ممكن تدمّر الميزانية
- Tool Prediction + RAG = حل عبقري
- Optimization مش رفاهية… ده ضرورة
ولو عندك حالة شبه كده أو مشكلة في استهلاك الـ tokens
شاركنا