عوامل کدنویسی هوش مصنوعی دهها هزار توکن را پیش از آنکه حتی دستور شما را بخوانند، مصرف میکنند

پیش از آنکه یک عامل کدنویسی هوش مصنوعی حتی یک کلمه از متن شما را بخواند، هزاران توکن را برای معرفی خود مصرف کرده است: پرامپتهای سیستم، شِمای ابزارها، یادآورهای داربست. یک مقایسه مستقل اخیر بین دو هارنس محبوب عامل، یعنی Claude Code و OpenCode، این سربار را مستقیماً با استفاده از یک پراکسی ثبتکننده اندازهگیری کرد که محمولههای دقیق JSON ارسالشده به API مدل را ضبط میکرد. این شکاف آنقدر بزرگ بود که میتواند دیدگاه هر کسی را که این ابزارها را در مقیاس اجرا میکند، درباره هزینه تغییر دهد.
در یک وظیفه پایه در نوبت اول روی Claude Sonnet 4.5، Claude Code تقریباً ۳۲,۸۰۰ توکن را قبل از پردازش پرامپت واقعی کاربر ارسال کرد. OpenCode برای همان وظیفه حدود ۶,۹۰۰ توکن ارسال کرد — تفاوتی ۴.۷ برابری. این شکاف در مدلهای جدیدتر به ۳.۳ برابر کاهش مییابد اما بسته نمیشود. این سربار در استفاده معمولی نامرئی است: شما یک پرامپت تایپ میکنید، پاسخ میگیرید و هرگز محمولهای را که در پسزمینه ارسال شده نمیبینید. اما مانند هر چیز دیگری صورتحساب میشود و به گونهای انباشته میشود که پس از عبور از مثالهای ساده اهمیت پیدا میکند.
توکنها واقعاً به کجا میروند
سربار به سه مؤلفه قابل اندازهگیری تقسیم میشود. پرامپتهای سیستم کوچکترین سهم را دارند اما همچنان واقعی هستند: پرامپت سیستم Claude Code ۲۷,۳۴۴ کاراکتر (تقریباً ۶,۵۰۰ توکن) است، در حالی که OpenCode دارای ۹,۳۲۴ کاراکتر (حدود ۲,۰۰۰ توکن) است. شِمای ابزارها هزینه بزرگتری هستند — Claude Code ۲۷ تعریف ابزار را با حدود ۹۹,۷۷۸ کاراکتر (حدود ۲۴,۰۰۰ توکن) ارسال میکند، در حالی که مجموعه ابزار سبکتر OpenCode با ۱۰ ابزار، ۲۰,۸۵۶ کاراکتر (حدود ۴,۸۰۰ توکن) دارد. باقیمانده داربست است: Claude Code بلوکهای یادآور، کاتالوگ عاملها و چارچوببندی زمینه را پیش از پیام واقعی کاربر تزریق میکند؛ OpenCode به طور پیشفرض هیچکدام را اضافه نمیکند.
هیچکدام از اینها به معنای بیهوده بودن نیست — ابزارهای بیشتر و داربست غنیتر معمولاً به این معناست که عامل میتواند بدون پرسیدن سؤالات روشنکننده، کارهای بیشتری انجام دهد. این یک مصالحه طراحی واقعی بین قابلیت به ازای هر درخواست و هزینه به ازای هر درخواست است و چیزی است که بیشتر کاربران هرگز آن را نمیبینند، چه رسد به انتخاب.
شکاف با پیکربندی واقعی بدتر میشود
اعداد پایه هزینه واقعی تنظیمات تولید را کمتر از واقع نشان میدهند. یک فایل دستورالعمل پروژه معمولی ۷۲ کیلوبایتی (از نوع فایلهای CLAUDE.md یا AGENTS.md که بیشتر پایگاههای کد جدی اکنون نگهداری میکنند) اضافه کنید و هر دو هارنس تقریباً ۲۰,۰۰۰ توکن اضافی به ازای هر درخواست دریافت میکنند — این بخش مبتنی بر پیکربندی است، نه مبتنی بر هارنس، بنابراین هر دو ابزار را به طور مساوی تحت تأثیر قرار میدهد. پنج سرور MCP (پروتکل زمینه مدل) را اضافه کنید، که یک راهاندازی رایج برای تیمهایی است که Slack، Jira، پایگاههای داده یا APIهای داخلی را متصل میکنند، و هر سرور بین ۴,۹۰۰ تا ۶,۹۶۷ توکن به ازای هر درخواست فقط برای تبلیغ ابزارهای موجود خود اضافه میکند.
همه اینها را روی هم بگذارید و یک پیکربندی تولید واقعی قبل از اینکه کاربر حتی یک کلمه از درخواست واقعی خود را تایپ کند، به ۷۵,۰۰۰ تا ۸۵,۰۰۰ توکن میرسد. در یک پنجره زمینه ۲۰۰,۰۰۰ توکنی، این بیش از ۴۰٪ از فضای موجود است که قبل از نوشتن یا خواندن هر کدی توسط داربست مصرف میشود.
رفتار کشکردن جایی است که واگرایی واقعی هزینه رخ میدهد
تفاوت مهمتر تعداد توکن پایه نیست — بلکه آن چیزی است که برای آن سربار در طول یک نشست رخ میدهد. OpenCode یک پیشوند درخواست یکسان بایتی را در طول نوبتها حفظ میکند، به این معنی که کش کردن پرامپت نزدیک به ایدهآل کار میکند: همان توکنها نوبت به نوبت از کش با حداقل بازنویسی مجدد استفاده میشوند.
داربست Claude Code، در مقابل، در میان نشست بازنویسی میشود — بلوکهای یادآور جدید، زمینه بهروز، وضعیت ابزار تازهسازی شده — که کش را مجبور به باطل شدن و بازسازی مکرر میکند. حجم نوشتن کش اندازهگیریشده برای Claude Code بین ۵.۹ تا ۵۴ برابر OpenCode بود، بسته به اینکه کش در زمان اندازهگیری چقدر "گرم" بود. نوشتنهای کش رایگان نیستند: آنها با حق بیمه ۱.۲۵ برابری نسبت به نرخ ورودی پایه برای یک TTL استاندارد ۵ دقیقهای صورتحساب میشوند. یک هارنس که مدام کش خود را بازنویسی میکند، خیلی بیشتر از هارنسی که این کار را نمیکند، آن حق بیمه را پرداخت میکند.
زیرعاملها مشکل را چند برابر میکنند، نه فقط به آن اضافه
بارزترین عدد در این مقایسه به واگذاری مربوط میشود. یک وظیفه که به صورت مستقیم ۱۲۱,۰۰۰ توکن تجمعی هزینه داشت، وقتی همان کار به دو زیرعامل واگذار شد، ۵۱۳,۰۰۰ توکن هزینه داشت — افزایشی ۴.۲ برابری برای کاری که در اصل باید همان مقدار کل کار تقسیمشده باشد. هر زیرعامل به طور مستقل سربار پایه کامل (پرامپت سیستم، شِمای ابزارها، داربست) را دوباره پرداخت میکند؛ واگذاری آن هزینه را به اشتراک نمیگذارد، بلکه آن را در تعداد عاملهای ایجادشده ضرب میکند.
این مستقیماً برای نحوه معماری گردشهای کاری عاملی توسط تیمها اهمیت دارد. واگذاری یک وظیفه به زیرعاملها اغلب به عنوان یک برد خالص موازیسازی قاببندی میشود — عاملهای بیشتر، زمان ساعتی کمتر. حسابداری توکن داستان متفاوتی را روایت میکند: این یک مصالحه هزینه واقعی است و برای وظایف کوچک یا متوسط، ضربکننده سربار میتواند بر هر زمانی که صرفهجویی میکنید غلبه کند.
واقعاً با این چه باید کرد
جالب توجه است که در وظایف پیچیده چندمرحلهای، هارنسها همگرا میشوند: Claude Code در ۳ درخواست (دستهبندی تهاجمی فراخوانی ابزار) از ۱۲۱,۰۰۰ توکن تجمعی استفاده کرد، در حالی که OpenCode در ۹ درخواست سریالی از ۱۳۲,۰۰۰ توکن استفاده کرد. برای کار واقعاً پیچیده، شکاف سربار پایه اهمیت کمتری دارد زیرا در میان کار واقعی بیشتری به ازای هر درخواست مستهلک میشود.
نکات عملی: اندازه فایل CLAUDE.md/AGENTS.md خود را حسابرسی کنید — آن مالیات ۲۰,۰۰۰ توکنی صرف نظر از هارنس به هر درخواستی تعلق میگیرد. در مورد تعداد سرورهای MCP که فعال نگه میدارید سنجیده عمل کنید؛ هر کدام یک هزینه ثابت به ازای هر درخواست است، چه در یک نوبت خاص از آن استفاده کنید یا نه. و واگذاری به زیرعاملها را به عنوان یک تصمیم هزینه، نه فقط یک تصمیم سرعت، در نظر بگیرید — آن را برای وظایفی به اندازه کافی بزرگ نگه دارید که ضربکننده سربار ۴ برابری ارزش پرداخت برای موازیسازی را داشته باشد.