SSD Nodes Learn Hosting plans →
راهنماها Matt Connorتوسط Matt Connor

توکن Claude چیست؟ محاسبه توکن در Claude Code

هر توکن Claude چند نویسه است؟ ببینید چرا یک نوبت Claude Code تا 80,000 توکن هزینه دارد و 5 دقیقه بیکاری کلید API می‌تواند هزینه نوبت بعدی را 5 برابر کند.

توکن‌ها در Claude چه هستند؟

توکن واحد متنی است که Claude آن را می‌خواند و می‌نویسد؛ بخشی از یک واژه. واژه‌نامه رسمی Anthropic، برای مدل‌های پیش از Claude Opus 4.7، هر توکن را تقریباً معادل 3.5 نویسه انگلیسی در نظر می‌گیرد. در tokenizer فعلی، این مقدار به 2.5 نویسه نزدیک‌تر است، زیرا Anthropic در این tokenizer، 1M توکن را تقریباً معادل 2.5M نویسه محاسبه می‌کند. در هر دو حالت، با احتساب فاصله‌ها و علائم نگارشی، تعداد توکن‌ها بسیار بیشتر از یک توکن به‌ازای هر واژه است؛ بنابراین 1,000 واژه نثر به‌راحتی بیش از 1,300 توکن می‌شود. کد در هر خط توکن بیشتری مصرف می‌کند: آکولادها، عملگرها، زیرخط‌ها و تورفتگی‌ها در مقایسه با متن انگلیسی، به‌ازای هر نویسه به توکن‌های بیشتری تقسیم می‌شوند و یک فایل source چندصدخطی معمولاً چند هزار توکن حجم دارد. فایلی 2,000 خطی که agent تصمیم می‌گیرد آن را بخواند، پیش از آن‌که حتی یک خط کد جدید نوشته شود، هزینه‌ای پنج‌رقمی بر حسب توکن ایجاد می‌کند.

دو نکته درباره tokenizerها معمولاً باعث اشتباه می‌شوند. نخست این‌که tokenizer به مدل وابسته است. از October 2026، Claude Opus 4.7 و همه مدل‌های بعدی، از جمله Fable 5.1، Opus 5.5، Sonnet 5.5 و Haiku 5.5 فعلی، از tokenizer جدیدتری استفاده می‌کنند که برای متن یکسان، تقریباً 30% توکن بیشتر از مدل‌های قدیمی‌تر Claude مانند Haiku 4.5 تولید می‌کند؛ مقدار دقیق این افزایش به محتوای متن بستگی دارد. بنابراین هر چیزی که بر اساس توکن بودجه‌بندی می‌کنید تغییر می‌کند، هرچند قیمت هر توکن همراه با این تغییر افزایش نیافته است. دوم این‌که tiktoken، یعنی کتابخانه‌ای که تقریباً همه blog postها سراغ آن می‌روند، tokenizer شرکت OpenAI است، نه Claude؛ بنابراین شمارش آن با مقداری که Anthropic صورت‌حساب می‌کند مطابقت ندارد. تنها شمارش قابل‌اعتماد، endpoint مربوط به count_tokens است که در ادامه توضیح داده می‌شود.

چرا هزینهٔ جلسهٔ کدنویسی شما این مقدار است

هر صورتحساب Claude، چه فاکتور API باشد و چه محدودیت اشتراک، عمدتاً با یک کنتور محاسبه می‌شود: توکن‌های ورودی و توکن‌های خروجی. برخی ابزارهای API هزینهٔ جداگانه‌ای دارند؛ برای نمونه، هزینهٔ web search تا اکتبر 2026، به‌ازای هر 1,000 جست‌وجو $10 است و توکن‌هایی که نتایج آن اضافه می‌کنند جداگانه محاسبه می‌شوند. اما در یک جلسهٔ کدنویسی، این کنتور توکن است که تغییر می‌کند. صفحهٔ قیمت‌گذاری موضوع را ساده نشان می‌دهد: مبلغی مشخص به‌ازای هر یک میلیون توکن ورودی و مبلغی مشخص به‌ازای هر یک میلیون توکن خروجی. چیزی که این صفحه توضیح نمی‌دهد آن است که در یک جلسهٔ کدنویسی agentic، کنتور ورودی بسیار سریع‌تر از تصور معمول حرکت می‌کند؛ زیرا کل مکالمه در هر نوبت دوباره ارسال می‌شود. من به‌مدت پانزده سال زیرساخت‌های metered فروخته‌ام و توکن‌ها نخستین کنتری هستند که دیده‌ام و بیشتر مشتریان واقعاً نمی‌توانند بگویند چه چیزی آن را به حرکت درمی‌آورد. این درسِ خواندن کنتور است: در یک جلسهٔ agentic چه چیزهایی ورودی و خروجی محسوب می‌شوند، چرا حلقهٔ ارسال مجدد چنین هزینهٔ زیادی دارد، چرا prompt caching محاسبات را تغییر می‌دهد و کدام اهرم‌ها واقعاً این عدد را جابه‌جا می‌کنند.

همه‌چیز ورودی است: آنچه meter واقعاً می‌شمارد

بسیاری تصور می‌کنند هزینه‌ای که می‌پردازند بابت کدی است که Claude می‌نویسد. در یک جلسهٔ agentic، این بخش سهم کوچکی از هزینه است. input tokenها، با نرخ ارزان‌تر اما حجم بسیار بیشتر، شامل موارد زیر هستند:

  • system prompt. دستورالعمل‌های harness خود Claude Code، به‌علاوهٔ CLAUDE.md و فایل‌های memory شما که در آغاز جلسه بارگذاری می‌شوند و پس از آن در هر درخواست حضور دارند.
  • تعریف‌های tool. هر schema مربوط به tool که agent می‌تواند فراخوانی کند. هر MCP server که متصل می‌کنید به این سربار ثابت اضافه می‌شود؛ هرچند Claude Code اکنون به‌طور پیش‌فرض بارگذاری کامل تعریف‌های MCP tool را به تعویق می‌اندازد. بنابراین تا زمان نخستین استفاده از یک tool، فقط نام آن در context قرار می‌گیرد. این کار هزینه را کاهش می‌دهد، اما حذف نمی‌کند.
  • هر فایلی که agent می‌خواند. یک Read از یک فایل source، کل آن فایل را وارد context می‌کند و فایل همچنان در context باقی می‌ماند.
  • هر نتیجهٔ tool. اجرای test، خروجی grep، خروجی terminal، logهای build و همهٔ موارد دیگر به‌عنوان input token بازمی‌گردند. یک test suite ناموفق که 8,000 خط چاپ می‌کند، مانند یک کتاب کوتاه است. از October 2026، Claude Code به‌طور پیش‌فرض تقریباً 30,000 کاراکتر از خروجی command را به‌صورت inline ارسال می‌کند و هر چیزی طولانی‌تر از آن به‌صورت یک فایل ذخیره‌شده، همراه با preview حداکثر 2,000 کاراکتری، ارائه می‌شود؛ اما هر خروجی کمتر از این سقف و هر بار خواندن بعدی فایل ذخیره‌شده، به‌طور کامل محاسبه می‌شود.
  • کل conversation تا این لحظه که در هر نوبت دوباره ارسال می‌شود. این مورد به بخش جداگانه‌ای نیاز دارد.

هزینهٔ ارسال مجددی که کسی در نظر نمی‌گیرد

Claude API بدون حالت است. این API جلسهٔ شما را بین درخواست‌ها به خاطر نمی‌سپارد و هیچ سازوکاری نیز این کار را انجام نمی‌دهد. بنابراین در turn 2، کلاینت turn 1، پاسخ آن و پیام جدید شما را ارسال می‌کند. در turn 50، هر چیزی را که هنوز از turnهای 1 تا 49 در context باقی مانده است دوباره ارسال می‌کند؛ یعنی هر فایل خوانده‌شده، نتیجهٔ هر ابزار و هر diff که compact نشده است، به‌علاوهٔ turn 50. (فرایند compaction تاریخچهٔ قدیمی را با یک خلاصه جایگزین می‌کند و file readهای یک subagent در context خودش باقی می‌ماند؛ فقط نتیجهٔ آن به context اصلی برمی‌گردد.) مدل هر بار کل transcript باقی‌مانده را دوباره می‌خواند و هزینهٔ تمام این tokenهای دوباره‌خوانده‌شده به‌عنوان input محاسبه می‌شود.

نتیجه این است که هزینهٔ هر turn تقریباً به‌صورت خطی با طول جلسه افزایش می‌یابد و هزینهٔ کل جلسه تقریباً به‌صورت درجهٔ دوم رشد می‌کند. پیامی که در turn 3 نیم سنت هزینه داشت، ممکن است در turn 60، برای همان پرسش یک‌خطی، 20 برابر گران‌تر باشد؛ چون بار 60 turn را با خود حمل می‌کند. این مهم‌ترین واقعیتی است که بیشتر ticketهای «چرا صورتحساب من این‌قدر زیاد شد؟» را توضیح می‌دهد. این موضوع ویژگی خاص Claude نیست؛ هر محصول LLM که از نظر ظاهری stateful به نظر می‌رسد، در لایهٔ زیرین یک API بدون حالت دارد که با یک حلقهٔ ارسال مجدد کار می‌کند.

خروجی: آنچه می‌بینید، به‌علاوه تفکری که نمی‌بینید

توکن‌های خروجی گران‌ترین بخش هستند؛ نرخ آن‌ها پنج برابر نرخ ورودی در مدل‌های فعلی است (10 دلار/50 دلار برای Fable 5.1، 4 دلار/20 دلار برای Opus 5.5، 2 دلار/10 دلار برای Sonnet 5.5، و 0.10 دلار/0.50 دلار برای Haiku 5.5 تا سقف 100,000 توکن، تا اکتبر 2026). خروجی شامل متن و کدی است که Claude تولید می‌کند، و همچنین توکن‌های تفکر (thinking tokens): استدلال داخلی که مدل پیش از پاسخ‌دهی انجام می‌دهد. دو نکته در اینجا اهمیت دارد. تفکر با نرخ خروجی محاسبه می‌شود و جزو max_tokens محسوب می‌گردد؛ یک پاسخ API که با stop_reason: "max_tokens" متوقف می‌شود و پاسخ ناقص، اغلب به این معناست که بودجه پیش از رسیدن به پاسخ، توسط تفکر مصرف شده است. در مدل‌های فعلی، خلاصه استدلال ممکن است اصلاً نمایش داده نشود؛ API به‌صورت پیش‌فرض آن را در Fable 5.1، Opus 5.5، Sonnet 5.5، Haiku 5.5 و مدل‌های قدیمی‌تر تا Opus 4.7 حذف می‌کند، اما تفکر همچنان انجام شده و هزینه آن محاسبه می‌شود. نامرئی بودن به معنای رایگان بودن نیست.

Claude Code به‌طور پیش‌فرض تفکر گسترده را فعال می‌کند، زیرا به‌طور قابل‌توجهی عملکرد در کارهای چندمرحله‌ای را بهبود می‌بخشد و بودجه پیش‌فرض می‌تواند به ده‌ها هزار توکن در هر درخواست برسد. در کارهای ساده‌تر می‌توانید آن را کاهش دهید: سطح تلاش را با /effort یا در /model پایین بیاورید، یا در مدل‌هایی که اجازه می‌دهند، تفکر را در /config خاموش کنید. تا اکتبر 2026، Claude Code نمی‌تواند تفکر را در Opus 5.5، Sonnet 5.5، Haiku 5.5 یا مدل‌های Fable خاموش کند، بنابراین در اینجا «تلاش» (effort) اهرم کنترل است. API در دو مورد از آن‌ها فضای بیشتری به شما می‌دهد. Haiku 5.5 در سطح تلاش high یا پایین‌تر، thinking: {"type": "disabled"} را می‌پذیرد، همانند Opus 5 قدیمی؛ در حالی که Sonnet 5 قدیمی آن را در تمام سطوح تلاش، از جمله xhigh و max می‌پذیرد. Sonnet 5.5 گزینه "disabled" را رد کرده و در عوض thinking: {"type": "between_tools"} را می‌پذیرد که تفکر اولیه را در سطوح تلاش low، medium یا high حذف می‌کند، بنابراین درخواستی که ابزاری نداشته باشد، بدون تفکر اولیه پاسخ خود را دریافت می‌کند. تنها Opus 5.5 و مدل‌های Fable تفکر را در هر شرایطی حفظ می‌کنند. این یک اهرم واقعی برای مدیریت هزینه است، نه یک باور خرافی.

کش‌کردن prompt معادلات هزینه را بازنویسی می‌کند

دلیل آن‌که حلقهٔ ارسال مجدد همه را ورشکست نمی‌کند، prompt caching است. API می‌تواند یک prefix پایدار از prompt، system prompt، تعریف‌های ابزار و تاریخچهٔ مکالمهٔ شما را cache کند و در درخواست بعدی آن را با کسری از قیمت ارائه دهد. تا اکتبر 2026، ضرایب به این صورت هستند: write کردن cache برابر با 1.25× نرخ پایهٔ input هزینه دارد (برای variant یک‌ساعته 2×) و read کردن cache در بیشتر مدل‌ها 0.1×، در Claude Opus 5.5 و Claude Sonnet 5.5 برابر با 0.05× و در Claude Fable 5.1 برابر با 0.025× هزینه دارد. writeها هزینهٔ اضافی دارند؛ readها در بیشتر مدل‌ها 90% تخفیف، در Opus 5.5 و Sonnet 5.5 برابر با 95% تخفیف و در Fable 5.1 برابر با 97.5% تخفیف دارند. (نرخ read در Sonnet 5.5 در 7 اکتبر 2026 از 0.1× به 0.05× کاهش یافت.) حتی یک read نیز هزینهٔ اضافی write پنج‌دقیقه‌ای را بیش از حد جبران می‌کند.

Claude Code مدیریت caching را برای شما انجام می‌دهد و در یک session سالم، تقریباً تمام آن resend بزرگ از cache ارائه می‌شود. اما cache پس از مدتی عدم فعالیت منقضی می‌شود. تا اکتبر 2026، Claude Code برای conversation اصلی شما در subscription، در محدودهٔ usage گنجانده‌شده در plan، cache یک‌ساعته در نظر می‌گیرد؛ اما برای API key، cloud provider یا زمانی که از usage creditها استفاده می‌کنید، cache از آخرین استفاده فقط پنج دقیقه اعتبار دارد (تنظیم promptCacheTtl می‌تواند در این حالت cache یک‌ساعته را درخواست کند، اما با نرخ write برابر با 2×). در cache پنج‌دقیقه‌ای، اگر برای قهوه‌ای که طول می‌کشد از session فاصله بگیرید، برگردید و پیامی بفرستید، cache منقضی شده است و کل prefix انباشته‌شده به‌جای read با نرخ cache، دوباره با نرخ 1.25× write می‌شود. در sessionی با 150K token، آن turn سرد تمام 150K token را با نرخ 1.25× write می‌کند؛ در حالی که turn گرم همان tokenها را با نرخ 0.1× read می‌کرد. این یعنی برای prefix تفاوتی 12.5 برابری (در Opus 5.5 و Sonnet 5.5 برابر با 25 برابر و در Fable 5.1 برابر با 50 برابر). این نتیجهٔ خلاف شهود ارزش به‌خاطر سپردن دارد: الگوی توقف و ادامه می‌تواند از کار مداوم پرهزینه‌تر باشد، زیرا هر فاصلهٔ غیرفعال‌بودن که از TTL عبور کند، turn بعدی را از یک read ارزان به یک re-write پرهزینه تبدیل می‌کند. کار را در بازه‌های متمرکز انجام دهید؛ در cache پنج‌دقیقه‌ای، یک session بزرگ را هر 10 دقیقه با یک پیام کوچک ادامه ندهید.

اگر API را از برنامهٔ خودتان روی یک VPS فراخوانی می‌کنید، هیچ‌یک از این فرایندها به‌طور خودکار رخ نمی‌دهد: باید با cache_control آن را فعال کنید. خطای رایجِ ایجادشده توسط خود کاربر، قرار دادن timestamp یا request ID در system prompt است؛ این کار بایت‌های prefix را در هر درخواست تغییر می‌دهد و caching را بدون اعلام قبلی غیرفعال می‌کند. نشانهٔ آن، صفر ماندن usage.cache_read_input_tokens در فراخوانی‌هایی است که ظاهراً یکسان هستند.

فرمول، همراه با یک مثال محاسبه‌شده

به هر کسی که می‌گوید «هزینهٔ هر session برابر با $X است» توجه نکنید. sessionها می‌توانند تا دو مرتبهٔ بزرگی با یکدیگر تفاوت داشته باشند. آنچه ثابت می‌ماند، این فرمول است:

turn cost = (uncached input        x base input price)
          + (cache writes          x 1.25 x base input price)
          + (cache reads           x read multiplier x base input price)
          + (output incl. thinking x output price)

read multiplier = 0.10 on most models, 0.05 on Opus 5.5 and Sonnet 5.5, 0.025 on Fable 5.1
session cost = sum over all turns

یک مثال محاسبه‌شده با Claude Opus 4.8؛ این مدل اکنون legacy محسوب می‌شود، اما همچنان در دسترس است و تا October 2026، قیمت آن همچنان برای هر یک میلیون input token برابر با $5 و برای هر یک میلیون output برابر با $25 است. یک turn در میانهٔ session که 80,000 token از context انباشته‌شده را حمل می‌کند: 75,000 token از cache خوانده شده، 3,000 token جدید نوشته شده، 2,000 token ورودی تازه و خارج از cache بوده و 1,500 token خروجی، شامل thinking، تولید شده است.

  • خواندن از cache: 75,000 × $0.50/M = $0.0375
  • نوشتن در cache: 3,000 × $6.25/M = $0.019
  • ورودی خارج از cache: 2,000 × $5/M = $0.010
  • خروجی: 1,500 × $25/M = $0.0375

برای این turn حدود $0.10 هزینه دارد؛ پنجاه turn مشابه، حدود $5 می‌شود. حالا همین turn را پس از منقضی‌شدن cache در نظر بگیرید: 78,000 token قابل cache دوباره با نرخ $6.25/M نوشته می‌شوند و 2,000 token خارج از cache نیز با نرخ $5/M محاسبه می‌شوند؛ این مبلغ پیش از احتساب خروجی حدود $0.50 است و تقریباً پنج برابر کل هزینهٔ turn گرم می‌شود، در حالی که کار انجام‌شده یکسان است. این اختلاف، داستان caching را در یک عدد خلاصه می‌کند. در Claude Opus 5.5 فعلی با قیمت‌های $4/$20 و cache read برابر با 0.05×، همین turn گرم حدود $0.07 هزینه دارد: reads برابر با $0.015، writes برابر با $0.015، uncached input برابر با $0.008 و output برابر با $0.030. نسخهٔ سرد، پیش از احتساب output، $0.40 هزینه دارد و به شش برابر turn گرم نزدیک‌تر است. همین چهار خط تنها روش صادقانه برای مقایسهٔ vendorها نیز هستند، زیرا نرخ‌های اعلام‌شده، cache read و thinking را کاملاً نادیده می‌گیرند؛ اجرای آن‌ها روی سه کار واقعی نشان می‌دهد هزینهٔ Claude کجا بالاتر یا پایین‌تر از OpenAI قرار می‌گیرد.

اگر می‌خواهید خود واحد billing را بهتر درک کنید، نه فقط هزینهٔ یک turn را، محاسبهٔ یک میلیون token بر اساس تعداد صفحه، فایل و دلار همین محاسبات را یک سطح بالاتر انجام می‌دهد. برای calibration، نه prediction: بر اساس ارقام منتشرشدهٔ Anthropic برای deploymentهای enterprise مربوط به Claude Code، تا October 2026 میانگین هزینه حدود $13 برای هر developer در هر روز فعال و $150 تا $250 در ماه است و 90% کاربران کمتر از $30 در روز هزینه می‌کنند. هزینهٔ واقعی شما تابع انتخاب model، رعایت hygiene در session و اندازهٔ codebase است؛ دقیقاً به همین دلیل است که اهرم‌های زیر اهمیت دارند.

مشاهده میزان مصرف خود

در Claude Code، دستور /usage است (/cost همچنان کار می‌کند و یک alias است). بلوک Session در بالا، آمار توکن‌ها و برآورد هزینه محاسبه‌شده به‌صورت محلی برای نشست فعلی را نشان می‌دهد؛ در طرح‌های اشتراکی، همین صفحه نوارهای محدودیت طرح و تفکیک مصرف اخیر بر اساس مهارت‌ها، subagentها، پلاگین‌ها و سرورهای MCP مجزا را نمایش می‌دهد. در نسخه‌های اخیر، بلوک Session همچنین دارای یک خط Prompt cache (main) است که سهم ورودی ارائه‌شده از حافظه پنهان (cache)، موارد از دست رفته (misses) و وضعیت فعال بودن فعلی حافظه پنهان را نشان می‌دهد. برای صورت‌حساب معتبر در حساب‌های API، صفحه usage در Claude Console منبع اصلی است و عدد CLI تنها یک برآورد است. /context یک شبکه رنگی از آنچه پنجره زمینه را اشغال کرده است، شامل system prompt، ابزارها، تعاریف MCP، فایل‌ها و تاریخچه را ترسیم می‌کند و سریع‌ترین راه برای شناسایی یک CLAUDE.md حجیم یا یک سرور MCP پرحرف است؛ در حالت تمام‌صفحه، تفکیک جزئیات هر آیتم جمع می‌شود و با ارسال all، آن جزئیات باز می‌شود.

از طریق API، هر پاسخ دقیقاً به شما می‌گوید چه اتفاقی افتاده است:

response = client.messages.create(model="claude-sonnet-5-5", max_tokens=2048,
                                  messages=messages)
u = response.usage
total_prompt = u.input_tokens + u.cache_creation_input_tokens + u.cache_read_input_tokens
print(f"uncached={u.input_tokens} written={u.cache_creation_input_tokens} "
      f"read={u.cache_read_input_tokens} output={u.output_tokens}")

توجه داشته باشید که input_tokens فقط باقیمانده غیرکش‌شده است؛ اندازه واقعی prompt مجموع هر سه فیلد ورودی است. عاملی که یک ساعت اجرا شده و input_tokens: 4000 را نشان می‌دهد، ارزان نیست؛ 200,000 توکن دیگر از حافظه پنهان تأمین شده‌اند. برای برآورد پیش از ارسال، از endpoint شمارش توکن استفاده کنید؛ فراخوانی آن رایگان است، محدودیت نرخ خاص خود را دارد و با tokenizer مدلی که نام می‌برید شمارش می‌کند (نتیجه را به عنوان یک برآورد نزدیک در نظر بگیرید؛ صورت‌حساب بازتاب‌دهنده درخواست واقعی است):

count = client.messages.count_tokens(model="claude-sonnet-5-5",
                                     messages=[{"role": "user", "content": big_file}])
print(count.input_tokens)

به دلیلی که در بالا ذکر شد، هرگز tiktoken نکنید.

طرح‌های اشتراکی در برابر پرداخت به‌ازای مصرف

سازوکارهای این راهنما در همه‌جا یکسان‌اند؛ فقط نحوهٔ محاسبهٔ هزینه تفاوت دارد. با یک API key، Anthropic هزینه را به‌صورت پرداخت به‌ازای مصرف و بر اساس تعداد token، طبق نرخ‌های اعلام‌شده، محاسبه می‌کند و همهٔ اعداد بالا هزینهٔ واقعی دارند. این محاسبه زودتر از چیزی که بیشتر افراد انتظار دارند شروع می‌شود، چون free tier برای استفاده وجود ندارد و فقط یک اعتبار اندک هنگام ثبت‌نام و چند endpoint بدون هزینه در دسترس است؛ همان چیزی که یک حساب API جدید پیش از ثبت کارت دریافت می‌کند. از October 7, 2026، استثنا شامل اشتراک Max یا Team است: این طرح‌ها اکنون برای برنامه‌ها و agentهای خودتان در Claude Platform، اعتبار ماهانهٔ API دارند؛ این اعتبار در Max 5x برابر $100 در ماه و در Max 20x برابر $200 در ماه است. در Team نیز برای هر صندلی Standard برابر $20 و برای هر صندلی Premium برابر $100 است؛ این اعتبار به‌صورت تجمیعی ارائه می‌شود و سقف آن $500 است. برای دریافت این اعتبار باید یک سازمان در Console را متصل کنید. اعتبارهای استفاده‌نشده در پایان هر چرخهٔ صورتحساب منقضی می‌شوند و هزینهٔ Claude Code تعاملی را پوشش نمی‌دهند. در اشتراک Claude، شامل Pro، Max، Team و طرح‌های قدیمی Enterprise مبتنی بر seat، مصرف Claude Code به‌جای آن از سهمیهٔ لحاظ‌شده در طرح شما کم می‌شود. از October 2026، این سهمیه شامل یک پنجرهٔ session پنج‌ساعتهٔ شناور و یک پنجرهٔ هفتگی است که بین modelها و چت claude.ai مشترک‌اند؛ عدد دلاری /usage صرفاً اطلاعاتی است و به‌معنای صدور صورتحساب نیست. از October 2026، دو استثنا وجود دارد: seatهای فعلی Enterprise مبتنی بر مصرف هیچ سهمیهٔ مصرفی ندارند، بنابراین همهٔ tokenها با نرخ استاندارد API صورتحساب می‌شوند؛ همچنین modelهای Fable در سهمیهٔ Pro، seatهای Standard در Team یا seatهای Standard در Enterprise قدیمی لحاظ نمی‌شوند و در این موارد مصرف آن‌ها از اعتبارهای pay-as-you-go کم می‌شود. اگر یک پنجره را کامل مصرف کنید، پیام "You've hit your session limit" یا "You've hit your weekly limit" را همراه با زمان reset می‌بینید. تغییر model با /model دسترسی را برنمی‌گرداند، زیرا این پنجره‌ها بین modelها مشترک‌اند. این پنجره‌ها به حساب کاربری وابسته‌اند، نه clientی که در آن مشغول کار هستید. اگر هنوز در حال بررسی این هستید که چه چیزهایی به‌صورت native روی Linux اجرا می‌شوند و هر plan کدام سطح را پوشش می‌دهد، دانستن این نکته مهم است. این‌که کدام‌یک از دو پنجره را واقعاً کامل کرده‌اید، مدت انتظار و اقدام مناسب در این فاصله را تعیین می‌کند؛ بنابراین بهتر است گزینه‌های خود را هنگام رسیدن به محدودیت در میانهٔ کار بدانید. طرح‌ها می‌توانند به‌صورت اختیاری usage credits را فعال کنند که با /usage-credits مدیریت می‌شوند تا مصرف فراتر از سقف خریداری شود. عمداً سهمیه‌های plan را در اینجا نمی‌نویسم، چون این اعداد در کل این موضوع بیشترین تغییر را دارند؛ در عوض، claude.com/pricing و نوارهای /usage حساب خودتان را بررسی کنید. سازوکار token در اشتراک نیز همچنان مهم است؛ یک session پرمصرف پنجرهٔ شما را دقیقاً همان‌طور مصرف می‌کند که می‌توانست دلارهای شما را مصرف کند. برای بخش مربوط به اشتراک، ببینید کدام Claude plan با الگوی مصرف شما سازگار است.

اهرم‌هایی که واقعاً مؤثرند

  • دامنهٔ محتوایی را که agent می‌خواند محدود کنید. عبارت «باگ اعتبارسنجی را در auth.py برطرف کن» یک فایل را می‌خواند؛ اما عبارت «این codebase را بهبود بده» چهل فایل را می‌خواند. CLAUDE.md را مختصر نگه دارید، چون در هر session بارگذاری می‌شود. موارد ضروری را در آن نگه دارید و دستورالعمل‌های مخصوص workflow را به skillهایی منتقل کنید که در صورت نیاز بارگذاری می‌شوند.
  • شفاف و فشرده باشید. /clear بین taskهای نامرتبط، context قدیمی در هر پیام بعدی دوباره ارسال و دوباره صورتحساب می‌شود. در یک task طولانی، /compact Focus on the failing tests and the diff تاریخچه را خلاصه می‌کند و از قرار گرفتن در منحنی درجه‌دوم جلوگیری می‌کند.
  • مدل را متناسب انتخاب کنید. Sonnet بیشتر کارهای coding را انجام می‌دهد و تا اکتبر 2026، قیمت آن برای هر یک میلیون token برابر با $2/$10 است؛ این قیمت اکنون نرخ استاندارد است و دیگر introductory نیست: Sonnet 5.5 برابر با $2/$10 است و Sonnet 5 نیز پس از لغو افزایش برنامه‌ریزی‌شدهٔ قیمت از $2/$10 به $3/$15 در 1 سپتامبر، همان نرخ $2/$10 را حفظ کرد. در مقایسه، Opus 5.5 با نرخ $4/$20 عرضه می‌شود و Haiku 5.5 با نرخ $0.10/$0.50 برای promptهای حداکثر 100,000 token، و $0.50/$2.50 برای بیشتر از آن، ابزار مناسبی برای کارهای مکانیکی subagent مانند بررسی اولیهٔ log است. Fable 5.1 در سوی دیگر، با نرخ $10/$50 قرار دارد؛ این نرخ با Fable 5 یکسان است و در هر دو بخش محاسبه، دو و نیم برابر Opus 5.5 است. بنابراین پیش از آن‌که این مدل را برای کارهای معمول انتخاب‌شده باقی بگذارید، بهتر است بدانید کدام کارها واقعاً چنین نرخی را توجیه می‌کنند. /model در میانهٔ session مدل را تغییر می‌دهد.
  • خروجی طولانی را پیش‌پردازش کنید. یک hook که پیش از مشاهدهٔ اجرای test توسط Claude، آن را با grep به خطاها محدود کند، نتیجهٔ 20,000 توکن ابزار را به 300 توکن تبدیل می‌کند و این کار را در هر ارسال مجدد بعدی همان turn نیز انجام می‌دهد.
  • موارد غیرتعاملی را دسته‌ای اجرا کنید. برای pipelineهای API خودتان، classification، بررسی انبوه و jobهای شبانه، Batches API همان مدل‌ها را با 50% تخفیف اجرا می‌کند و نتیجه را به‌صورت asynchronous تحویل می‌دهد.
  • زمان‌بندی cache را در نظر بگیرید. کار را در بازه‌های پیوسته انجام دهید. یک session مربوط به Claude Code در tmux روی یک VPS در زمان idle هزینه‌ای ندارد و tokenها فقط هنگام اجرای یک turn مصرف می‌شوند؛ اما idle ماندن بیشتر از cache TTL باعث از بین رفتن cache گرم می‌شود و turn بعدی هزینهٔ بازنویسی را خواهد داشت.

FAQ

یک جلسهٔ کدنویسی در Claude Code چند توکن مصرف می‌کند؟

عدد ثابتی وجود ندارد. پس از انباشته‌شدن فایل‌ها و تاریخچه، هر نوبت در میانهٔ جلسه معمولاً ده‌ها هزار توکن prompt دارد و یک جلسهٔ کاری به چند میلیون توکن می‌رسد. بیشتر این توکن‌ها، بسته به مدل، از cache و با یک‌دهم نرخ پایه یا کمتر ارائه می‌شوند. برای مقایسه، طبق آمار منتشرشدهٔ Anthropic برای مشتریان سازمانی در October 2026، میانگین هزینه حدود $13 برای هر developer در هر روز فعال است و هزینهٔ 90% کاربران کمتر از $30 است. /usage را در جلسهٔ خود اجرا کنید؛ پنج دقیقه مشاهده، از هر میانگین منتشرشده‌ای دقیق‌تر است.

آیا توکن‌های thinking حتی وقتی آن‌ها را نمی‌بینم هزینه دارند؟

بله. هزینهٔ توکن‌های thinking مانند output token و با نرخ گران‌تر محاسبه می‌شود و از max_tokens کم می‌کند. مدل‌های فعلی حتی زمانی که رابط کاربری خلاصهٔ reasoning را نمایش نمی‌دهد، این توکن‌ها را محاسبه می‌کنند. اگر پاسخ پیش از تکمیل پاسخ قابل مشاهده با stop_reason: "max_tokens" متوقف شود، احتمالاً thinking بودجه را مصرف کرده است. در Claude Code، برای کارهایی که به reasoning عمیق نیاز ندارند، سطح effort را با /effort کاهش دهید.

چرا در یک جلسهٔ طولانی Claude Code، هزینهٔ هر پیام بیشتر می‌شود؟

زیرا API بدون state است. در هر نوبت، کل conversation باقی‌مانده در context دوباره ارسال می‌شود؛ این موارد شامل هر فایل خوانده‌شده، نتیجهٔ هر tool و exchangeهای قبلی است که هنوز compact نشده‌اند و همگی به‌عنوان input محاسبه می‌شوند. بنابراین نوبت 50، نوبت‌های 1 تا 49 را نیز با خود حمل می‌کند. در بیشتر مدل‌ها، prompt caching، prefix تکراری را با یک‌دهم قیمت پایهٔ input ارائه می‌کند؛ این مقدار برای Opus 5.5 و Sonnet 5.5 برابر 5% و برای Fable 5.1 برابر 2.5% است. بااین‌حال، خود prefix همچنان بزرگ‌تر می‌شود و هر فاصلهٔ بدون فعالیت که از cache TTL بیشتر باشد، نوبت بعدی را به بازنویسی کامل با قیمت عادی تبدیل می‌کند. /compact تاریخچه را کوچک می‌کند؛ /clear آن را reset می‌کند.

چگونه میزان مصرف token و هزینهٔ Claude را بررسی کنم؟

در Claude Code، /usage آمار token جلسه، برآورد محلی هزینه و نوارهای محدودیت plan را در subscriptionها نمایش می‌دهد؛ /cost نام مستعار آن است. /context نشان می‌دهد چه چیزهایی window را پر کرده‌اند. برای billing معتبر API، از صفحهٔ usage در Claude Console استفاده کنید. در کد خود، response.usage را بخوانید. جمع‌کردن input_tokens، cache_creation_input_tokens و cache_read_input_tokens اندازهٔ واقعی prompt را به دست می‌دهد. برای برآورد از قبل نیز از endpoint مربوط به count_tokens استفاده کنید، نه tiktoken.