پرش به محتوای اصلی
پرش به محتوای مقاله

«حذف توکن‌های استدلالی»؛ دلیل تفاوت شدید هزینه‌های واقعی و گزارش‌شده

·۲۳ مرداد ۱۴۰۵۴ دقیقه مطالعه۱ بازدید
توکن‌های استدلال Sentry در ردیابی Vercel AI برای Gemini حذف شد
توکن‌های استدلال Sentry در ردیابی Vercel AI برای Gemini حذف شد
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

افشای یک نقص سیستمی در یکی از محبوب‌ترین ابزارهای مانیتورینگ (Sentry) که باعث می‌شد توکن‌های تفکر در مدل‌های گوگل به‌طور کامل از محاسبات هزینه حذف شوند.

تصور کنید داشبورد نظارتی شما هزینه‌های هوش مصنوعی را نزدیک به صفر نشان دهد، اما در پایان ماه، صورت‌حساب ابری شما ۸ برابر بیشتر از پیش‌بینی باشد. این کابوس مالی برای بسیاری از توسعه‌دهندگانی رخ داده که از SDK جاوااسکریپت Sentry برای ردیابی مدل‌های گوگل استفاده می‌کردند. این اختلاف فاحش به دلیل یک خطای حسابداری بحرانی در SDK سنتری رخ داده است که باعث شد توسعه‌دهندگان هزینه‌های Google Gemini را بسیار کمتر از مقدار واقعی تخمین بزنند.

این مشکل به دلیل حذف خاموش توکن‌های استدلالی — همان «تفکرات» داخلی مدل پیش از ارائه پاسخ نهایی — از ردپاهای ابزار Vercel AI رخ داده است. همان‌طور که در تحلیل قبلی ما درباره‌ی مدل Gemini 3.7 Flash اشاره کردیم، مدیریت هزینه‌های «تفکر سیستم ۲» در مدل‌های استدلالی (Reasoning Models) — شبیه به شطرنج‌بازی که قبل از هر حرکت چند گام جلوتر را می‌بیند — برای بقای اقتصادی پروژه‌ها حیاتی است. این مدل‌های استدلالی با بهره‌گیری از رویکردهای نوین، توانسته‌اند در بنچمارک‌های پیچیده‌ای مانند MATH به صحت ۹۶ درصدی برسند و استانداردهای جدیدی برای حل مسائل منطقی تعریف کنند. در نبود شمارش دقیق توکن‌ها، داشبورد مانیتورینگ یک شرکت ممکن است هزینه‌ای ناچیز را نشان دهد، در حالی که صورت‌حساب واقعی ابری به شدت افزایش می‌یابد.

زمینه: شکاف در ابزار اندازه‌گیری

SDK جاوااسکریپت سنتری به‌طور خودکار ابزار Vercel AI را مانیتور (Auto-instrument) می‌کند. این بدان معناست که هر فراخوانی تابع generateText یا streamText به‌طور خودکار به‌عنوان یک بازه (span) از نوع gen_ai ثبت می‌شود که میزان مصرف توکن به آن پیوست است.

اما مشکل اینجاست که مدل‌های Gemini توکن‌های استدلالی را جدا از پاسخ مرئی گزارش می‌کنند. در حالی که outputTokens در AI SDK فقط پاسخ نهایی (Candidate Answer) را پوشش می‌دهد، تعداد توکن‌های استدلالی در مسیر providerMetadata.google.usageMetadata.thoughtsTokenCount قرار دارد.

طبق گزارش فنی منتشر شده در ۱۴ اوت ۲۰۲۶، این باگ در تابع getProviderMetadataAttributes() نهفته بود. در حالی که سنتری متادیتای مربوط به OpenAI, Anthropic, Bedrock و DeepSeek را به‌درستی پردازش می‌کرد، بلوک‌های مربوط به گوگل و Vertex را کاملاً نادیده می‌گرفت. این یعنی برای یک فراخوانی استدلالی، سنتری تنها پاسخ نهایی و پرامپت ورودی را ثبت می‌کرد و بخش اعظم محاسبات مدل را نادیده می‌گرفت.

تحلیل فنی خطا

در یک مورد تست واقعی، درخواستی به مدل gemini-3.6-flash نتایج متادیتای مصرفی زیر را برگرداند:

  • توکن‌های ورودی (Prompt Tokens): ۱۴
  • توکن‌های پاسخ (Candidate Tokens): ۱
  • توکن‌های استدلالی (Reasoning/Thoughts Tokens): ۱۰۰
  • مجموع توکن‌ها (Total Tokens): ۱۱۵

پیش از اعمال اصلاحیه، سنتری تنها ۱ توکن خروجی و ۱۵ توکن کل را ثبت می‌کرد. در واقع ۱۰۰ توکن استدلالی که معمولاً بخش اعظم هزینه در گردش‌های کاری سنگین و استدلالی را تشکیل می‌دهند، به‌طور کامل پنهان می‌شدند. این موضوع نشان می‌دهد که حتی با وجود ابزارهای کاهش توکن که در عمل تنها ۶ تا ۳۲ درصد هزینه را کم می‌کنند، خطاهای مانیتورینگ می‌تواند منجر به شوک‌های مالی بسیار بزرگتری شود.

توکن‌های استدلال ردیابی Sentry در Vercel AI برای Gemini حذف شد

جزئیات پیاده‌سازی اصلاحیه

برای رفع این مشکل، یک شاخه منطقی (Branch) اختصاصی برای متادیتای گوگل و Vertex در فایل packages/server-utils/src/ai/vercel-ai/index.ts اضافه شد. جزئیات این تغییرات به شرح زیر است:

  • تغییر منطق: اکنون SDK به‌طور صریح مقادیر موجود در providerMetadata.{google|vertex}.usageMetadata را می‌خواند.
  • محرک شرطی: این شاخه تنها زمانی فعال می‌شود که thoughtsTokenCount > 0 باشد؛ این کار تضمین می‌کند که پاسخ‌های Gemini که فاقد استدلال هستند، بدون تغییر باقی بمانند.
  • نحوه محاسبه: اگر توکن‌های استدلالی وجود داشته باشند، سنتری مقدار خروجی را برابر با مجموع candidatesTokenCount + thoughtsTokenCount قرار داده و مقدار کل را از totalTokenCount واقعی استخراج می‌کند.
  • ردیابی دقیق: اکنون تفکیک توکن‌های استدلالی به‌طور مشخص تحت عنوان gen_ai.usage.reasoning.output_tokens ثبت می‌شود.

توسعه‌دهنده برای جلوگیری از شمارش مضاعف (Double-counting) در نسخه‌های آینده SDK، عمداً مقدار خروجی را از اعداد خام استخراج کرد، به جای اینکه آن را به مقدار موجود در SDK اضافه کند. این استراتژی تضمین می‌کند که حتی اگر Vercel AI SDK نحوه گزارش توکن‌های خروجی را در آینده تغییر دهد، حسابداری سنتری همچنان درست باقی بماند. از آنجایی که هم مسیر OpenTelemetry span و هم مسیر tracing-channel از این تابع کمکی استفاده می‌کنند، هر دو اکنون داده‌های اصلاح‌شده را ارسال می‌کنند.

این اصلاحیه، فرض بنیادی تیم‌هایی که از سنتری برای ردیابی رفتار هوش مصنوعی استفاده می‌کنند را تغییر می‌دهد. تله‌متری از یک معیار «خروجی مرئی» به معیار «کل محاسبات» (Total Compute) تغییر می‌یابد. برای کیف پول توسعه‌دهنده، این یعنی تفاوت بین ردی که رایگان به نظر می‌رسد و ردی که هزینه واقعی استدلال عمیق را منعکس می‌کند.

اعتبارسنجی و تست

تأیید این اصلاحیه شامل مجموعه‌ای از ۳۷۷ تست در بسته @sentry/server-utils بود. نویسنده یک فایل تست جدید با چهار مورد مختلف اضافه کرد: سه پاسخ استدلالی (که در نسخه بدون اصلاحیه شکست می‌خوردند) و یک پاسخ غیر استدلالی (که با موفقیت پاس شد).

فراتر از مجموعه تست‌ها، این اصلاحیه با استفاده از موارد زیر اعتبارسنجی شد:

  • ابزارها: استفاده از oxlint --type-aware برای تحلیل استاتیک، oxfmt --check برای فرمت‌بندی و tsc برای بررسی تایپ‌های سورس.
  • بررسی تطبیق: نویسنده تأیید کرد که این منطق با فایل convert-google-usage.ts در سورس AI SDK مطابقت دارد، جایی که خروجی را برابر با مجموع پاسخ‌ها و تفکرات می‌داند.
  • ترافیک زنده: اجرای واقعی یک مدل استدلالی Gemini تأیید کرد که ویژگی‌های span از output_tokens: 1 به output_tokens: 101 تغییر یافته است.

توسعه‌دهندگانی که از Vercel AI SDK با مدل‌های استدلالی Gemini استفاده می‌کنند، باید فوراً SDK جاوااسکریپت Sentry خود را به‌روزرسانی کنند تا از دقت ردیابی هزینه‌های خود مطمئن شوند. همچنین توصیه می‌شود به‌روزرسانی‌های آتی بلوک‌های متادیتای سایر ارائه‌دهندگان را دنبال کنید تا ببینید آیا شکاف‌های مشابهی در توکن‌های «پنهان» برای سایر مدل‌های استدلالی وجود دارد یا خیر.

گام بعدی شما

  • اگر از Vercel AI SDK و مدل‌های استدلالی Gemini استفاده می‌کنید، فوراً SDK جاوااسکریپت Sentry را به‌روزرسانی کنید.
  • صورت‌حساب‌های ابری ماه گذشته خود را با داده‌های داشبورد Sentry تطبیق دهید تا میزان خطای تخمین را بسنجید.
  • بررسی کنید آیا برای سایر مدل‌های استدلالی (مانند o1) نیز شکاف‌های مشابهی در گزارش توکن‌ها وجود دارد یا خیر.

اما داستان سخت‌افزاری این تحول حتی شگفت‌انگیزتر است — به تحلیل ما درباره‌ی تراشه‌های Blackwell مراجعه کنید.

چرا این موضوع مهم است؟

این خطا مستقیماً بر تخمین بودجه و سودآوری محصولات مبتنی بر AI اثر می‌گذارد. با تکیه بر اعتبار گزارش‌های فنی Sentry، مشخص شد که عدم شفافیت در توکن‌های استدلالی می‌تواند منجر به شوک‌های مالی شدید برای شرکت‌ها شود.

تأثیر برای ایران

برای توسعه‌دهندگان ایرانی که از طریق APIهای واسط یا پروکسی از Gemini استفاده می‌کنند، این باگ می‌تواند باعث تخمین غلط هزینه‌های عملیاتی شود و به‌روزرسانی SDK برای جلوگیری از ضررهای مالی ضروری است.

·نگاه ما
تحریریه دات‌هوش

این اتفاق نشان می‌دهد که معماری مدل‌های استدلالی، لایه‌ای از «هزینه‌های پنهان» را به زیرساخت‌های مانیتورینگ تحمیل کرده است. ابزارهای تله‌متری دیگر نمی‌توانند صرفاً به خروجی نهایی تکیه کنند و باید برای درک هزینه واقعی، به لایه‌های میانی تفکر مدل نفوذ کنند. این یک هشدار برای تمام تیم‌های DevOps است که در پذیرش مدل‌های Reasoning، متدهای سنتی محاسبه توکن را بازنگری کنند.

منابع

این گزارش با خط‌لولهٔ خودکار دات‌هوش از منابع معتبر جهانی تدوین و زیر نظر تحریریه منتشر شده است. روش کار ما

گفتگو

پنج‌شنبه‌های هوش‌محور

بسته‌ی هفتگی دات‌هوش

۵ خبر، ۲ ابزار، ۱ پرامپت در هر شماره. به‌زودی راه‌اندازی می‌شود — هر پنج‌شنبه صبح.

خبر کلیدی
ابزار کاربردی
پرامپت حرفه‌ای
تحلیل پژوهش
به‌زودی
زاویه‌ی ایرانی
به‌زودی
تمرین این هفته
به‌زودی

راهنماهای دات‌هوش

راهنماهای کاربردیِ دات‌هوش برای کار با هوش مصنوعی — از همین‌جا شروع کنید:

دات‌هوش

راهنمای فارسی هوش مصنوعی — با نگاه به ایران

اخبار روزانه، معرفی ابزارها و مدل‌ها، و آموزشِ کار با هوش مصنوعی؛ همیشه با این پرسش که از ایران چه چیزی کار می‌کند و چه چیزی نه.