الرموز (Tokens) هي أجزاء من الكلمات، لذا لا تتطابق أعدادها مع أعداد الكلمات أبدًا. في الإنجليزية العادية، يساوي الرمز الواحد نحو أربعة محارف أو ثلاثة أرباع الكلمة — أي إن 1,000 كلمة تساوي تقريبًا 1,300 رمز. أما الشيفرة والكتابة بلغات غير إنجليزية والكلمات غير الشائعة فتستهلك رموزًا أكثر لكل محرف، وأحيانًا عدة أضعاف.
ما الرمز (Token) حقًا
النماذج اللغوية لا تقرأ محارف ولا كلمات. بل تقرأ رموزًا (Tokens): أجزاءً ناتجة عن تقسيم النص وفق مفردات ثابتة مُستفادة من بيانات التدريب.
الكلمات الشائعة تكون عادة رمزًا واحدًا، بينما تُقسَّم الكلمات النادرة إلى قطع. وعادة ما تُلحق المسافات بمقدمة الرمز التالي، ولهذا قد تُحتسب الكلمة نفسها بشكل مختلف بحسب وقوعها في بداية الجملة أم لا.
الكلمة unbelievable ليست رمزًا واحدًا — بل تُقسَّم غالبًا إلى شيء مثل Un + believ + able. في المقابل، the رمز واحد، وكذلك international لأنها ظهرت في التدريب بما يكفي لتحصل على مدخل خاص بها.
لهذا تبدو أعداد الرموز غير قابلة للتنبؤ. فالوحدة ليست لغوية بل إحصائية؛ فالتكرار في مجموعة التدريب هو ما يحدد كون الشيء رمزًا واحدًا أو أربعة.
37 محرفًا · 7 رموز · نحو 5.3 محارف لكل رمز
قاعدة تقريبية في الإنجليزية: رمز واحد ≈ 4 محارف ≈ 0.75 كلمة.
الشيفرة والأحرف غير الإنجليزية والكلمات النادرة تستهلك رموزًا أكثر لكل محرف.
قواعد تقريبية صحيحة فعلًا
في النثر الإنجليزي:
- رمز واحد ≈ 4 محارف
- رمز واحد ≈ 0.75 كلمة
- 1,000 كلمة ≈ 1,300 رمز
- صفحة قياسية (~500 كلمة) ≈ 650 رمزًا
تنهار هذه القواعد بسرعة خارج النثر العادي:
| نوع المحتوى | تقريبًا |
|---|---|
| النثر الإنجليزي | 0.75 كلمة لكل رمز |
| الشيفرة | رموز أكثر بمرتين إلى ثلاث من النثر المكافئ |
| JSON بمفاتيح طويلة | مرتفع جدًا — فعلامات الترقيم والاقتباس رموز مستقلة |
| الصينية واليابانية والكورية | غالبًا رمز أو رمزان لكل محرف |
| السيريلية والديفاناغارية والعربية | عادة ضعفا إلى ثلاثة أضعاف الإنجليزية للمعنى نفسه |
| عناوين URL والبصمات (hashes) | مرتفعة للغاية — فالسلاسل العشوائية تُجزَّأ بشكل سيئ |
| المسافات المتكررة | كل سلسلة منها قد تكون رمزًا مستقلًا |
الفجوة بين اللغات كبيرة ولا تحظى بالانتباه الكافي: الجملة نفسها باليابانية قد تكلف عدة أضعاف تكلفتها بالإنجليزية، وهذا يؤثر في التكلفة وفي مقدار ما يتسع في نافذة السياق معًا.
لماذا يختلف العدد بين النماذج
تستخدم كل عائلة نماذج مجزئ رموز خاصًا بها بمفردات خاصة، لذا ينتج عن النص نفسه أعداد مختلفة.
تستخدم نماذج GPT صيغًا من ترميز أزواج البايتات — cl100k_base لنماذج حقبة GPT-4، وo200k_base للنماذج الأحدث. أما Claude فيستخدم مجزئًا مختلفًا بمفردات مختلفة. والنماذج المفتوحة مثل Llama وMistral لكل منها مجزئه الخاص أيضًا.
فروقات بنسبة 10–20% بين العائلات على النص الإنجليزي نفسه أمر طبيعي، وتتسع الفجوة في الشيفرة والنصوص غير الإنجليزية حيث تتباعد المفردات أكثر.
عمليًا، هذا يعني:
- العدد الصادر عن مجزئ معيّن هو تقدير بالنسبة لأي نموذج آخر.
- مجزئ المزوّد نفسه وحده هو من يعطي رقمًا دقيقًا لفوترته.
- خطط بهامش أمان بدل الوصول إلى الحد تمامًا.
يعرض عدّاد الرموز لدينا عدد GPT-4o وتقدير Claude جنبًا إلى جنب، وهذا يكفي عادة لمعرفة ما إذا كان الموجّه داخل الحد بأمان أم قريبًا منه بشكل مقلق.
لماذا يهم هذا الرقم
التكلفة. تسعير الواجهات البرمجية (API) محسوب لكل رمز، بسعر منفصل للإدخال والإخراج، ويكون الإخراج عادة أغلى بعدة أضعاف. مضاعفة موجّه النظام تعني مضاعفة تلك التكلفة في كل استدعاء — وهو أمر غير مرئي أثناء الاختبار ومكلف عند التوسع.
حدود السياق. تغطي النافذة كل شيء: موجّه النظام وسجل المحادثة والمستندات المُسترجعة والرسالة الحالية والمساحة المحجوزة للرد. لا تفشل المحادثات الطويلة لأن رسالة واحدة طويلة، بل لأن السجل يتراكم.
الاقتطاع. عندما يتجاوز الإدخال الحد، يُحذف شيء ما — غالبًا من دون تنبيه، وغالبًا يكون المحتوى الأقدم. النموذج الذي "نسي" تعليماتك كثيرًا ما تكون قد اقتُطعت منه ببساطة.
التقسيم للاسترجاع. تقسيم المستندات للتضمين (embedding) يتم بالرموز لا بالمحارف. الأجزاء المُقاسة بعدد المحارف تكون غير متسقة، والأجزاء المقطوعة من منتصف الجملة تُسترجع بشكل سيئ. ولتقسيم النصوص الطويلة إلى قطع عملية، يقطع تقسيم النص قرب حدود الفقرات لا من منتصف الكلمات.
تقليل العدد من دون فقدان المعنى
أكثر وسائل التقليل تأثيرًا، مرتبة تقريبًا:
- قلّص سجل المحادثة. في المحادثات الطويلة يتجاوز أثره كل شيء آخر. لخّص الجولات القديمة بدل إعادة إرسالها حرفيًا.
- احذف التعليمات المكررة. تكرار قاعدة بثلاث صيغ لا يجعل الالتزام بها أكثر احتمالًا بثلاث مرات، لكنه يضاعف تكلفتها ثلاث مرات بكل تأكيد.
- تخلّص من مخلفات التنسيق. المحارف غير المرئية والمسافات المتكررة والأسطر الفاصلة الزخرفية كلها تُحتسب رموزًا، وقد يكلف صف من أربعين شرطة أكثر من الجملة التي فوقه. إزالة المحارف غير المرئية تتولى ما لا تراه.
- قصّر مفاتيح JSON في الموجّهات المنظمة. الفرق بين
{"n": ...}و{"customer_full_name": ...}مضروبًا في ألف سجل فرق كبير. - أرسل المقاطع ذات الصلة فقط. استرجاع ثلاث فقرات مناسبة أفضل من لصق مستند كامل، وعادة ما يعطي إجابات أفضل وأرخص معًا.
ما لا يساعد: حذف علامات الترقيم العادية أو إسقاط أدوات التعريف أو الكتابة بأسلوب برقي متقطع. فالوفورات هامشية والضرر على جودة المخرجات ليس كذلك.
الأسئلة الشائعة
كم عدد الرموز في 1,000 كلمة؟
نحو 1,300 رمز في النثر الإنجليزي العادي، بناءً على معدل 0.75 كلمة لكل رمز تقريبًا. أما الشيفرة وJSON والنصوص غير الإنجليزية فأعلى بكثير — فالصينية واليابانية والكورية تستهلك غالبًا رمزًا إلى رمزين لكل محرف.
لماذا يختلف عدد الرموز بين GPT وClaude؟
تستخدم كل عائلة نماذج مجزئ رموز خاصًا بها بمفردات مُستفادة مختلفة، فيتجزأ النص نفسه بشكل مختلف. فروقات بنسبة 10–20% في النثر الإنجليزي طبيعية، وتتسع الفجوة في الشيفرة والنصوص غير الإنجليزية.
ما الرمز (Token) في نماذج الذكاء الاصطناعي؟
جزء من النص مأخوذ من مفردات النموذج الثابتة. الكلمات الشائعة تكون عادة رمزًا واحدًا بينما تتجزأ الكلمات النادرة إلى عدة قطع، فكلمة 'unbelievable' قد تصبح ثلاثة رموز بينما 'international' رمز واحد فقط.
هل تُحتسب المسافات وعلامات الترقيم رموزًا؟
نعم. تُلحق المسافات عادة بمقدمة الرمز التالي، وكثيرًا ما تكون علامات الترقيم رموزًا مستقلة. وقد تستهلك سلاسل المسافات المتكررة الطويلة أو الأسطر الفاصلة الزخرفية عددًا مفاجئًا من الرموز.
كيف أقلل استهلاك الرموز؟
ابدأ بتقليص سجل المحادثة المتراكم — فهو في المحادثات الطويلة يطغى على كل شيء آخر. ثم احذف التعليمات المكررة، وتخلّص من المحارف غير المرئية والمسافات المتكررة، وقصّر مفاتيح JSON، وأرسل المقطع ذا الصلة من المستند فقط بدل المستند كله.