تصور کنید هر پیامی که در دیسکورد یا اسلک میخوانید، همزمان یک خطکش دقیق برای اندازهگیری حافظهٔ مدل باشد. با ابزار جدیدی که در ۲۶ سپتامبر ۲۰۲۶ معرفی شد، مرزهای نامرئی دایرهلغت مدلهای زبانی دیگر پنهان نیستند. این ابزار یک کامپایلر فونت فضای توکنی (Token-space font compiler) است که به جای هر نویسه، به هر توکن (Token) — مثل برشهای یک کیک طولانی که مدل تکهتکه میخورد — عرضی یکسان اختصاص میدهد. نتیجه این است که رابط کاربری چت به یک شبکهٔ دقیق برای شمارش توکنها تبدیل میشود.
برای اکثر کاربران، توکنسازی (Tokenization) فرآیندی پنهان است که بین ارسال پرامپت و دریافت پاسخ رخ میدهد. ما معمولاً به کلمات یا نویسهها فکر میکنیم، اما مدلها «توکنها» را پردازش میکنند؛ تکههایی از متن که میتواند یک حرف واحد، یک کلمه کامل یا بخشی از یک هجا باشد. وقتی این مرزها نامرئی باشند، درک این موضوع دشوار میشود که چرا یک مدل ممکن است با یک کلمه خاص دستوپنجه نرم کند یا دقیقاً چه مقدار از پنجرهٔ زمینه (Context Window) — مثل میز کاری که جا برای چند ورق دارد، نه برای کل کتابخانه — اشغال شده است.
دنیایی را تصور کنید که در آن میتوانید به یک پیام دیسکورد نگاه کنید و فوراً ببینید مدل دقیقاً از چند توکن استفاده کرده است، بدون اینکه نیاز باشد یک اسکریپت جداگانه را اجرا کنید. این کامپایلر با ادغام منطق توکنساز مستقیماً در قوانین شکلدهی (Shaping) فونت، نیاز به ابزارهای خارجی برای بصریسازی مرزهای توکن را از بین میبرد.
سازوکار فنی و سازگاری
این کامپایلر با دریافت یک فونت و یک توکنساز به عنوان ورودی، یک «فونت فضای توکنی» تولید میکند. به نقل از گزارش ampdot.mesh.host، خروجی این ابزار یک فایل تک TrueType (TTF) است که قوانین توکنساز را در منطق شکلدهی فونت جاسازی میکند. از آنجایی که این منطق در خودِ قوانین شکلدهی فونت تعبیه شده است، برای نمایش آن به هیچ اسکریپت توکنساز جانبی نیاز نیست.
پیشتنظیمهای توکنساز پشتیبانیشده عبارتاند از:
- DeepSeek، OpenAI، Kimi، Qwen، GLM، Llama 3، Trinity و Laguna.
- پشتیبانی آزمایشی از Gemma و Gemini از طریق مکانیسمهای space-marker و byte-fallback.
- پشتیبانی از BPE سطح بایت (ByteLevel BPE) برای آپلودهای سفارشی، به شرطی که تنظیمات
use_regex: falseوadd_prefix_space: falseفعال باشند.
در هر اجرای شکلدهی پشتیبانیشده، هر توکن صادر شده دقیقاً ۳ em فضا اشغال میکند. فاصله اضافی توکنها به طور پیشفرض صفر است و حداکثر تا ۰.۵ em محدود میشود. CSS تولیدشده بهگونهای طراحی شده که فاصله بین کلمات و ارتفاع خطوط را تغییر ندهد تا ظاهر اصلی برنامه و اپلیکیشن حفظ شود.
پوشش فونت و جایگزینها
این ابزار از تغییرات پیشفرض و پوشش نویسههای فونت منبع انتخابشده استفاده میکند. برای جلوگیری از بههمریختگی چیدمان در صورت نبود یک نویسه (Missing Characters)، کاربران میتوانند فونتهای جایگزین (Fallback) را فعال کنند که طرحهای (Outlines) منتخب را در همان فونت توکنی جاسازی میکند.
- Noto Emoji به عنوان جایگزین پیشفرض برای ایموجیها عمل میکند و ۵۲۵۰ مورد بررسی برای هویت، فاصله و ترسیم ایموجیها را با موفقیت پشت سر گذاشته است.
- Mutant Standard (اثر Caius Nocturne تحت لایسنس CC BY-NC-SA 4.0) به عنوان یک منبع رنگی اختیاری در دسترس است.
- نسخه پیشکامپایل شده DeepSeek + Inter در حال حاضر شامل Noto Emoji است.
ادغام با ابزارهای ارتباطی
این ابزار گردشکارهای خاصی برای ادغام این فونتها در پلتفرمهای محبوب ارائه میدهد.
تنظیمات دیسکورد (Discord):
کاربران میتوانند از Vesktop و سیستم پلاگین Vencord استفاده کنند. روند کار به این صورت است:
۱. انتخاب یک پیشتنظیم توکنساز (مثلاً DeepSeek V4.1 Flash × Inter) و کلیک روی Compile font.
۲. نصب فایل TTF کامپایلشده از طریق Font Book.
۳. فعالسازی ThemeAttributes در مسیر Settings $\rightarrow$ Vencord $\rightarrow$ Plugins در Vesktop.
۴. دانلود فایل .theme.css و انتقال آن به پوشه Local Themes.
۵. برای هدف قرار دادن یک کاربر خاص، باید Developer Mode را در دیسکورد فعال کرده، روی کاربر راستکلیک کرده و User ID او را پیش از تولید تم، در کامپایلر وارد کنید.
تنظیمات اسلک (Slack):
در اسلک، فرآیند از طریق یک مدیریتکننده userscript در مرورگر وب انجام میشود:
۱. نصب فونت TTF روی دستگاهی که برای خواندن اسلک استفاده میشود.
۲. وارد کردن نام نمایشی (Display Name) یا Member ID عضو اسلک (مثلاً U012345678) در کامپایلر.
۳. دانلود و وارد کردن فایل .user.js تولیدشده در یک مدیریتکننده userscript.
۴. این اسکریپت برچسبهای فرستنده را میخواند و متن پیامهای متناظر، از جمله تردها (Threads) را استایلدهی میکند، بدون اینکه درخواست شبکه ارسال کند یا متن را تغییر دهد.
نتایج بازرسی و محدودیتهای شناختهشده
توسعهدهنده یک بازرسی دقیق روی فضای خالی (Whitespace) شامل ۱۷۹۰۴ بررسی BPE روی ۶ باینری فونت و ۲۳۵۵ مورد ctok در برابر مراجع توکنساز محلی انجام داده است. بررسیهای مرورگر نیز ۶۰ عرض مختلف و ۲۰ نمونه شکست خط (Wrapping) را پوشش داده است. در حالی که اکثر اجراهای فضای خالی معمولی پاس شدند، بازرسی ناهماهنگیهای فنی خاصی را آشکار کرد:
- DeepSeek: باگی وجود دارد که در آن نویسههای کنترلی U+001C تا U+001F به اشتباه به عنوان فضای خالی طبقهبندی میشوند. برای مثال، دو فاصله (Space) که بعد از آنها U+001C بیاید، به یک توکن فاصله تبدیل میشوند. یک بازرسی هدفمند، ۵۹ عدم تطابق ID را در ۲۹۸۴ بررسی یافت.
- GLM-5.3 و Llama 3: این پیشتنظیمها از مرزهای regex فقط-فونت، BPE رتبهبندی شده و میانبرهای تکه-کامل استفاده میکنند. آنها محدودیت ۶۴ بایت / ۳۲ دور دارند؛ اگر تکهای از این حد فراتر رود، فونت عبارت
[BPE limit]را نمایش میدهد. این محدودیت در ۳۵۳ مورد GLM و ۳۵۴ مورد Llama از مجموع ۲۹۸۴ بررسی رخ داد. - Trinity Large Thinking و Laguna M.1: این پیشتنظیمهای آزمایشی، خط لوله پیشپردازش اصلی و ادغامهای مرتبشده را حفظ میکنند. هر دو مدل تمام ۲۹۸۴ بررسی هدفمند فضای خالی را با موفقیت پشت سر گذاشتند.
- Claude (از طریق ctok): به دلیل اینکه ctok یک تخمین غیررسمی است، محدودیت جستوجوی ۲۵۶ مرحلهای برای هر مؤلفه متصل دارد و در صورت سرریز، عبارت
[limit]را نشان میدهد. بازرسی نسخه v4.8 نشان داد که از ۷۸۵ مورد، ۱۶ مورد شکست در تعداد/عرض و ۸ مورد شکست صرفاً معنایی رخ داده است.
چالشهای رندرینگ
نمایش توکنها با عرض یکسان در مرورگرها با موانع سطح مرورگر روبروست. گزارش اشاره میکند که اجراهای شکلدهی مرورگر، شکستهای سخت خط (Hard line breaks) و نرمالسازی میتوانند مرزهای توکن را تغییر دهند.
- اجراهای شکلدهی (Shaping Runs): فونتها نمیتوانند در عرض اجراهای شکلدهی مجزا توکنسازی کنند. تغییرات فرمت (مانند بولد کردن، لینکها)، تغییر اسکریپت، متنهای دوجهتی و شکستهای سخت میتوانند این اجراها را تکهتکه کنند.
- فضای خالی و شکست خط: یک فاصله در ابتدای متن میتواند تحت شرایط
pre-wrapیاbreak-spacesیک اجرای شکلدهی مجزا تشکیل دهد. در یک تست با اندازه ۲۴ پیکسل، عبارت "Hello world" به جای ۱۴۴ پیکسل (در حالت اجرای کامل)، ۲۱۶ پیکسل اندازهگیری شد. از ۶۰ مقایسه عرض، ۱۵ مورد به دلیل چیدمان Tab یا Newline متفاوت بود. - نرمالسازی یونیکد: رندرهای مرورگر ممکن است متن را پیش از آنکه فونت آن را ببیند، نرمال کنند. پشتیبانی NFC در Qwen حداکثر هشت مورد غیر-شروع (nonstarters) متوالی را پس از تجزیه مدیریت میکند؛ فراتر از آن، عبارت
[NFC limit]نمایش داده میشود. - نویسههای نامرئی: نویسههایی مانند Zero-width space، Word joiners، BOM و Soft hyphens میتوانند مرزهای کلمات را سرکوب کرده و یک توکن اضافی ایجاد کنند.
این ابزار بیشتر یک کمکابزار بصری است تا یک ماشینحساب هزینه؛ زیرا توکنهای خاص (Special Tokens)، قالبهای چت (Chat Templates)، محتوای چندوجهی یا سربارهای خودکار پیامها را محاسبه نمیکند. همچنین متن خالی نمیتواند یک توکن قاببندی را ترسیم کند.
این تغییر به سمت رابطهای «آگاه به توکن» (Token-aware)، تمرینات توسعهدهندگان را با بصری کردن ماهیت انتزاعی BPE تغییر میدهد. این امر به مهندسان پرامپت اجازه میدهد دقیقاً ببینند توکنساز یک کلمه را کجا میشکند، که برای بهینهسازی پرامپتها برای مدلهایی با توکنسازهای خاص (Idiosyncratic) حیاتی است.
با انتقال منطق توکنسازی از یک اسکریپت پایتون به یک فایل TTF، این پروژه استفادهای هوشمندانه از شکلدهی فونت برای حل یک مسئله بصریسازی داده را نشان میدهد. این ابزار، خودِ رابط کاربری را به یک ابزار عیبیابی (Debugging) برای رفتار LLM تبدیل میکند. این پروژه به صورت محلی با استفاده از Pyodide و fontTools و با بهرهگیری از لایسنسهای Inter و Noto Emoji کامپایل شده است.
گام بعدی شما
- اگر مهندس پرامپت هستید، این فونت را روی مدل مورد استفادهتان نصب کنید تا نقاط شکست توکنساز را در کلمات پیچیده شناسایی کنید.
- برای بهینهسازی مصرف توکن در پیامهای طولانی، از نسخه دیسکورد برای مشاهده بصری اشغال فضای پنجره زمینه استفاده کنید.
- بررسی کنید که آیا مدلهای مختلف (مثلاً Llama در برابر GPT) یک جمله مشابه را به تعداد توکنهای یکسانی تقسیم میکنند یا خیر.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است — به تحلیل ما دربارهی تراشههای Blackwell مراجعه کنید.




گفتگو