- بواسطة x32x01 ||
في 2025 ظهر اتجاه مختلف تمامًا في طريقة التعامل مع الـ LLMs، وبدأنا نشوف تحول كبير من مجرد Prompt Engineering وRAG إلى حاجة أعمق بكتير: Structured Data Optimization 👀
ببساطة… بدل ما تبعت نصوص طويلة، بقيت تبعت بيانات منظمة زي JSON أو أي صيغة منظمة والموديل يرجع لك نفس الشكل.
لكن المشكلة بدأت تظهر مع الوقت…
كل حاجة بتتبعت بتتحسب Tokens:
يعني ببساطة:
الفكرة ببساطة:
نفس البيانات… لكن بصيغة أخف في عدد الـ Tokens.
هو بيجمع بين:
الإجابة الأقرب:
دلوقتي إحنا داخلين على مرحلة اسمها: Data Engineering for LLMs
واللي يقدر:
ببساطة… بدل ما تبعت نصوص طويلة، بقيت تبعت بيانات منظمة زي JSON أو أي صيغة منظمة والموديل يرجع لك نفس الشكل.
لكن المشكلة بدأت تظهر مع الوقت…
مشكلة الـ JSON مع التوكنز 💸
الـ JSON كان وما زال معيار أساسي بين الأنظمة، لكن مع الـ LLMs الوضع اختلف.كل حاجة بتتبعت بتتحسب Tokens:
- الأقواس { }
- علامات الاقتباس "
- الفواصل ,
يعني ببساطة:
نفس الداتا… بس بتدفع أكتر بسبب الشكل!
ليه موضوع الـ Tokens مهم جدًا؟ 🧠
لأن كل API Call في الـ LLMs بيتحسب على أساس:- Input Tokens
- Output Tokens (واللي غالبًا أغلى 💰)
ظهور TOON كحل جديد 🔥
هنا ظهر مفهوم جديد اسمه: TOON = Token Object Optimization Notationالفكرة ببساطة:
نفس البيانات… لكن بصيغة أخف في عدد الـ Tokens.
هو بيجمع بين:
- مرونة YAML
- وبساطة CSV
- مع تقليل الـ overhead بتاع JSON
النتيجة الحقيقية 💡
استخدام TOON ممكن يحقق:- تقليل الـ Tokens من 30% إلى 60%
- تقليل التكلفة بشكل مباشر 💸
- تحسين الأداء في الـ latency
- تقليل الضغط على الـ API
نستخدم TOON إمتى؟ 🤔
TOON مش حل سحري لكل الحالات، لكنه قوي جدًا في:مناسب لـ:
- البيانات البسيطة أو المتوسطة
- أنظمة فيها عدد Requests كبير
- Microservices بتعتمد على LLM APIs
مش مناسب لـ:
- البيانات الـ nested والمعقدة جدًا
- الهياكل اللي فيها علاقات عميقة بين الكائنات
Layer بين JSON و TOON 🧩
أفضل طريقة للتطبيق هي إنك ما تغيّرش السيستم كله، لكن تضيف Layer بسيطة:الفكرة:
- JSON ⬅️ TOON قبل الإرسال
- TOON ⬅️ JSON بعد الاستقبال
شبه كده:
Code:
request = toTOON(jsonData)
response = LLM(request)
final = toJSON(response) أنماط التصميم المناسبة هنا 🏗️
السؤال المهم هنا: نستخدم أنهي Design Pattern؟الإجابة الأقرب:
- Adapter Pattern (لتغيير شكل البيانات بدون تغيير النظام)
- ممكن كمان Pipeline Pattern لو عندك خطوات معالجة متعددة
- أو حتى Decorator لو بتضيف طبقة تحسين فوق النظام الأساسي
المستقبل: TOON Native داخل الـ LLMs 🤖
الخطوة الجاية المتوقعة هي إن الـ LLM نفسها تدعم TOON بشكل Native:- Input TOON
- Output TOON
- Output Tokens (واللي أغلى)
- وقت المعالجة
- تكلفة الـ APIs بشكل كبير جدًا
الخلاصة 🎯
الموضوع بقى أكبر من Prompt Engineering…دلوقتي إحنا داخلين على مرحلة اسمها: Data Engineering for LLMs
واللي يقدر:
- يقلل Tokens
- ويحسن شكل البيانات
- ويخلي الـ pipeline أنضف