تصور کنید یک تغییر نامحسوس در نحوه خواندن متن توسط مدل، ناگهان صورتحساب ابری شما را بهشدت افزایش دهد. با عرضه Claude Sonnet 5، شرکت Anthropic یک توکنساز (Tokenizer) — شبیه به قیچیکاری متنی که کلمات را به تکههای کوچکتر برای مدل تبدیل میکند — بهروزرسانی کرده است که باعث میشود یک پرامپت مشابه، اکنون به توکنهای بیشتری نسبت به قبل تبدیل شود.
یک حسابدار دیجیتالی را تصور کنید که هزار صفحه داده را پردازش میکند. اگر توکنساز جدید هر صفحه را ۱۰٪ بیشتر توکن کند، این تغییر کوچک فقط هزینه یک فراخوانی را بالا نمیبرد؛ بلکه در هر بار استفاده از ابزار، بازرسی فایل و تلاش مجدد در یک حلقهٔ پیچیدهٔ عاملمحور (Agentic)، اثرش چند برابر میشود.
به نقل از تغییرات Vercel's AI Gateway، این جزئیات فنی برای هر کسی که سامانههای خودکار میسازد حیاتی است. Anthropic قیمت Sonnet 5 را تا ۳۱ اوت ۲۰۲۶، ۲ دلار برای هر میلیون توکن ورودی و ۱۰ دلار برای هر میلیون توکن خروجی تعیین کرده است؛ این ارقام پس از این تاریخ به ترتیب به ۳ و ۱۵ دلار افزایش مییابند.
مشکل تخمین هزینه
bسیاری از سامانههای عامل (Agent)، هزینهها را با فرمول سادهای تخمین میزنند: const estimatedCost = inputTokens * inputPrice + maxOutputTokens * outputPrice. طبق گزارشهای فنی، این روش بر پایه فرضهای شکنندهای است: اینکه سیستم زمانبندی (Runtime) مدل درست را میشناسد، رفتار دقیق توکنساز را میداند، قیمت لحظهای را دارد و مطمئن است که عامل واقعاً در حال پیشرفت به سمت هدف است.

همانطور که در تحلیل قبلی ما دربارهی پروتکلهای ارتباطی مدلها اشاره کردیم، هرگونه انحراف در این فرضها — مثل بهروزرسانی توکنساز — دقت تخمین را از بین میبرد. این چالش دقیقاً با آنچه در بررسی پارادوکس جِونز و افزایش هزینههای سازمانی مشاهده کردیم همسو است، جایی که حتی با کاهش قیمت توکنها، ساختار مصرف باعث افزایش کل صورتحساب میشود. برای یک درخواست واحد، این شوک هزینهای قابل مدیریت است، اما برای عاملی که در یک حلقه، مدل را فراخوانی میکند، فایلها را میخواند، کانتکست اضافه میکند و ابزارها را اجرا میکند، این خطاها روی هم جمع میشوند. انحرافات کوچک در هر فراخوانی، در یک اجرای کامل (بهخصوص هنگام استفاده از عوامل موازی یا گردشهای کاری با پنجرههای متنی بلند) به هزینههای کلان تبدیل میشوند.
جزئیات پیادهسازی
بر اساس مستندات توسعه، برای جلوگیری از تخطی از بودجه، برنامهنویسان باید یک مکانیسم حفاظتی «پیش از فراخوانی» (Pre-call guard) ایجاد کنند. این لایه ایمنی با استفاده از نوع دادهای BeforeCallInput قبل از اجرای فراخوانی ارائهدهنده، متغیرهای زیر را بررسی میکند:
- تأیید قیمت: اگر سیستم قیمت فعلی مدل را نشناسد (
!pricingCatalog.has(model))، فراخوانی باید متوقف شود (Fail Closed). برای جلوگیری از هزینههای غیرمنتظره، هرگز بر اساس نامهای مستعار یا مقادیر جایگزین حدس نزنید. - سقف گامها و تکرارها: تعیین حد سخت برای
maxStepsوmaxRetriesاز ایجاد «طوفانهای تکرار» (Retry storms) که در آن عامل بهطور بینهایت در حلقه میچرخد، جلوگیری میکند. اگرstepCount >= maxStepsباشد، گارد باید مقدارallowed: falseرا با دلیلmax_steps_exceededبازگرداند. - تشخیص حلقهٔ پرامپت: سیستم باید شناسایی کند که آیا یک پرامپت بیش از حد به تلاشهای اخیر شبیه است (
similarToRecentPrompt) یا خیر. این امر سیگنالی از یک حلقه منطقی است و باید باعث توقف با دلیلprompt_loopشود. - ردیابی بودجه: گارد حفاظتی، مقدار
budgetRemainingرا در برابر هزینه تخمینی فراخوانی بعدی ارزیابی میکند و سپس تصمیم نهایی در مورد اجازه به اجرا (allowed) را صادر میکند.
در هنگام مهاجرتی به مدلهای جدید، چکلیست زیر پیشنهاد میشود:
- اجرای پرامپتهای نماینده و واقعی با توکنساز جدید.
- مقایسه تعداد توکنهای ورودی و رفتار طول خروجی.
- بهروزرسانی متادیتای قیمت و تست مجدد محدودیتهای حداکثر گام (max-step).
- بررسی مجدد رفتار تکرارها (Retry) و چک کردن مسیرهای جایگزین (Fallback paths).
- اندازهگیری هزینه نهایی بهازای هر تسک موفق.
اتکا به قیمت واحد یک اشتباه است؛ تنها معیاری که واقعاً اهمیت دارد، «هزینه بهازای هر تسک موفق» است. این تغییر یک ریسک ثانویه را آشکار میکند: مدلهای هوشمندتر ممکن است برنامههای پیچیدهتری را دنبال کنند و در نتیجه مسیرهای اجرای طولانیتری را طی کنند. این مسئله نشان میدهد که چرا صرفاً استفاده از مدلهای ارزانتر راهکار قطعی برای مهار هزینههای عملیاتی نیست، زیرا پیچیدگی اجرای تسکها تعیینکننده نهایی است. یعنی مدل با وجود توانایی بیشتر، ممکن است با برداشتن گامهای بیشتر برای رسیدن به نتیجه، هزینه کل اجرای یک تسک را بالا ببرد.
برای مهندسان، این بدان معناست که ایمنی هزینه باید از داشبورد صورتحساب به زمان اجرا (Runtime) منتقل شود. سیستم شما باید بر اساس بودجه باقیمانده و تعداد گامهای فعلی تصمیم بگیرد که فراخوانی بعدی مجاز است یا خیر، نه اینکه منتظر رسیدن صورتحساب بماند.
برای ایمنسازی این گردشهای کاری، توسعهدهندگان به لایههای ایمنی محلی (Local-first) مانند AI CostGuard برای TypeScript/Node.js روی آوردهاند. این لایه ایمنی در زمان اجرا بر شناسایی اجراهای runaway (از کنترل خارج شده)، حلقههای پرامپت و قیمتهای ناشناخته مدل پیش از ارسال درخواست به API تمرکز دارد. این ابزار مشابه رویکرد Tokens Forge برای ایجاد سقف هزینه API عمل میکند تا از تخلیه ناگهانی حساب توسط عاملهای خودکار جلوگیری شود. این ابزار یک دفتر حسابداری یا یک مرز امنیتی سختگیرانه نیست، بلکه روشی برای شناسایی فراخوانیهای آشکارا پرریسک پیش از اجرا است.
مراقب بهروزرسانیهای آتی کتابخانههای توکنساز در سایر ارائهدهندگان بزرگ باشید، زیرا تغییرات مشابه میتواند فرضهای بودجهبندی برای عوامل GPT و Gemini را نیز مختل کند.
گام بعدی شما
- پرامپتهای پرتکرار خود را با توکنساز جدید Sonnet 5 مقایسه کنید تا درصد انحراف هزینه را بیابید.
- در کد خود یک محدودکننده سخت (Hard Cap) برای تعداد گامهای هر عامل تعریف کنید.
- معیار موفقیت را از «قیمت هر توکن» به «هزینه هر خروجی معتبر» تغییر دهید.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است — به تحلیل ما دربارهی تراشههای Blackwell مراجعه کنید.




گفتگو