JSON در برابر TOON — آغاز عصری جدید برای ورودیهای ساختاریافته؟
در زمانی که حجم پرامپتها روز به روز افزایش مییابد و مدلهای هوش مصنوعی قدرتمندتر میشوند، یک سوال دائماً مطرح میشود: چگونه میتوان هزینهها و زمان پردازش را پایین نگه داشت؟
هنگامی که با مدلهای زبان بزرگ (LLM) کار میکنیم، خروجیهای ساختاریافته به یک استاندارد تبدیل شدهاند. شما میتوانید از هوش مصنوعی بخواهید که در قالب مشخصی، مثلاً JSON، پاسخ دهد. با تعریف یک اسکیمای مدل و توضیح دقیق معنای هر فیلد، مدل سعی میکند خروجی را «تا حد ممکن دقیق» تولید کند. این کار پردازش نتایج AI را آسانتر از همیشه کرده است.
اما با وجود اینکه میتوانیم خروجیها را مرتب و ساختاریافته کنیم، اکثر ما هنوز حجم زیادی از دادهها در قالب JSON، YAML یا حتی متن ساده را مستقیماً وارد پرامپت میکنیم. این کار نه تنها کند و پرهزینه است، بلکه از نظر تعداد توکنها نیز بهینه نیست. بنابراین طبیعی بود که یک فرمت جدید برای حل این مشکل ظاهر شود و اینجاست که TOON وارد میشود
TOON نسخه کمحجم و بهینه JSON
TOON یک فرمت فایل جدید است که بین JSON و CSV قرار میگیرد. این فرمت همچنان قابل خواندن توسط انسان است، اما برای مدلهای LLM و بهرهوری توکن بهینهسازی شده است. سازندگان TOON ادعا میکنند که میتواند تعداد توکنها را ۳۰ تا ۶۰ درصد کاهش دهد، که با توجه به نحوه قیمتگذاری توکنها، صرفهجویی مالی قابل توجهی ایجاد میکند.
ویژگیهای TOON:
- بهینه برای توکنها: معمولاً ۳۰–۶۰٪ توکن کمتر نسبت به JSON
- سازگار با LLM: طولها و فیلدها به صورت واضح تعریف شدهاند و امکان اعتبارسنجی فراهم است
- سینتکس مینیمال: حذف علائم اضافی مثل آکولاد، کروشه و اکثر علامتهای نقلقول
- ساختار مبتنی بر تورفتگی: مانند YAML، از فاصله برای تعیین ساختار استفاده میکند
- آرایههای جدولی: کلیدها یک بار تعریف میشوند و دادهها به صورت ردیف اضافه میشوند
مثال:
JSON
[
{"id": 1, "name": "Alice", "department": "Engineering", "salary": 120000},
{"id": 2, "name": "Bob", "department": "Marketing", "salary": 95000},
{"id": 3, "name": "Charlie", "department": "Engineering", "salary": 110000}
]
TOON
[3]{Id,Name,Department,Salary}:
1,Alice,Engineering,120000
2,Bob,Marketing,95000
3,Charlie,Engineering,110000
اگر دقیق نگاه کنید، TOON شبیه یک ملاقات بین YAML و CSV است که تصمیم گرفتهاند یک فرزند ساختاریافته با هم داشته باشند!
چرا باید TOON برای ما اهمیت داشته باشد؟
اگر شما هر نوع سیستمی میسازید که به طور مرتب دادههای ساختاریافته را به LLM میدهد، مثل چتباتها، تولید کد با کمک AI یا گردش کار چندمرحلهای، TOON میتواند اندازه پرامپت را به شکل چشمگیری کاهش دهد.
موضوع فقط صرفهجویی مالی نیست (گرچه کاهش ۵۰٪ مصرف توکن واقعاً قابل توجه است)، بلکه سرعت پردازش هم مهم است. هر چه تعداد توکنها کمتر باشد، زمان پاسخدهی سریعتر و تاخیر کمتر خواهد بود، به ویژه در سیستمهای بلادرنگ یا هنگام استفاده از APIهای جریان داده.
و نکته جذاب دیگر: TOON در حال حاضر برای چندین زبان برنامهنویسی موجود است:
- .NET: ToonSharp
- Python: python-toon
- Go: gotoon
ارزیابی در دنیای واقعی
من یک ابزار بنچمارک کوچک ساختهام تا عملکرد TOON را در مقایسه با JSON بررسی کنم. با استفاده از یک دیتاست ساده شامل اطلاعات کارکنان، از GPT خواستم تا دادهها را تحلیل کند و میانگین حقوق هر بخش را محاسبه کند. ابزار، اندازه پرامپت، تعداد توکنهای تکمیل و زمان پاسخدهی را اندازهگیری میکند.
نتایج:
| نوع | توکن پرامپت | توکن تکمیل | زمان |
|---|---|---|---|
| JSON | 1344 | 3475 | ۰۰:۰۰:۲۸ |
| TOON | 589 | 2928 | ۰۰:۰۰:۲۳ |
این یعنی کاهش حدود ۵۶٪ در توکنهای پرامپت و بهبود ۵ ثانیهای در سرعت، با همان کیفیت خروجی مدل. TOON نه تنها روی کاغذ خوب به نظر میرسد، بلکه واقعاً سریعتر، ارزانتر و قابل خواندنتر است.
جمعبندی
جالب است که مسیر ما به یک چرخه کامل رسیده است: سالها تلاش کردیم تا هوش مصنوعی خروجیهای ساختاریافته تولید کند و اکنون ورودیها را به نحوی بهینه میکنیم که بهتر با زبان آنها هماهنگ باشد.
چه TOON به استاندارد جدید تبدیل شود و چه فقط یک ایده هوشمندانه در یک حوزه خاص باقی بماند، پیگیری آن ارزشمند است، بهخصوص اگر به عملکرد، هزینه و بهرهوری اهمیت میدهید و صادقانه بگویم، چه کسی اهمیت نمیدهد؟



