هزینهٔ پنهان توکنها در ایجنتهای هوش مصنوعی
خلاصهٔ کاملتر
تو این مقاله اومده که چرا صورتحساب API مدلهای زبانی حتی وقتی پرامپتهات کوتاهه بازم بالا میره: مدل بین فراخوانیها حافظه نداره، پس هر درخواست کل تاریخچهٔ گفتگو، تعریف ابزارها، پاسخهای قبلی و دستورهای سیستمی رو دوباره با خودش میبره. به این بخش میگن ورودی تکراری (reused input). نویسنده به یه کاربر سنگین Codex اشاره میکنه که تو یه روز کاری ۳٫۷۷ میلیارد توکن جابهجا کرده و حدود ۹۶٪ اون (۳٫۵۹ میلیارد) توی ۱۴۳ ترد فقط ورودی تکراری بوده.
یه سرچشمهٔ دیگهٔ هزینه، خودِ ابزارهاست. هر ابزاری که به ایجنت وصل میکنی یه اسکیما داره — اسم، توضیح، زمان استفاده و آرگومانها — و این اسکیما تو هر فراخوانی توی کانتکست مدل قرار میگیره، چه ازش استفاده بشه چه نشه. طبق آماری که Anthropic منتشر کرده، یه چیدمان معمولی با GitHub و Slack و Sentry و Grafana میتونه حدود ۵۵ هزار توکن فقط صرف تعریف ابزارها بکنه، قبل از اینکه مدل حتی یه کلمه از درخواست کاربر رو پردازش کنه. راهحل عملیش هم سادهست: فقط ابزارهایی رو لود کن که همون کار بهشون نیاز داره.
برای نشستهای طولانی دو تا مکانیزم متفاوت وجود داره. compaction توی Codex اوپنایآی تاریخچه رو خلاصه میکنه و یه حالت فشرده رو با خودش جلو میبره، و context editing آنتروپیک نتیجهٔ ابزارهای قدیمی و بلوکهای فکری میانی رو بین درخواستها از کانتکست بیرون میریزه. نویسنده تأکید میکنه هیچکدوم مجانی نیستن: هر دو روی نسخهٔ تقریبی و خلاصهشدهٔ گفتگو کار میکنن، پس اگه لازم باشه یه پیام خطا یا تکهکد دقیق از چند نوبت قبل موبهمو یادت بمونه، ممکنه دقت از دست بره.
کش کردن پرامپت مسئلهٔ دیگهای رو حل میکنه؛ اندازهٔ کانتکست رو کم نمیکنه، فقط هزینهٔ پردازش دوبارهٔ بخشهای ثابت رو پایین میاره — پس مکمل فشردهسازیه، نه جایگزینش. ولی بزرگترین اهرم از نظر نویسنده لایهٔ میانافزاره: چیزی که بین اپلیکیشن و ارائهدهندهٔ مدل میشینه و قبل از ارسال، درخواستها رو فیلتر، کش یا به مدل ارزونتر مسیریابی میکنه. برای کاربر تکی عادتهای خوب کافیه، ولی برای تیمی که دهها ایجنت و پایپلاین خودکار داره، همین لایه هزینه رو متناسب با کار واقعی نگه میداره.
نکات کلیدی:
- ورودی تکراری بخش اصلی صورتحسابه، چون هر فراخوانی کل تاریخچه رو دوباره میفرسته
- تعریف ابزارها قبل از هر کاری هزینه داره؛ یه ستاپ معمولی میتونه حدود ۵۵ هزار توکن باشه
- compaction تاریخچه رو خلاصه میکنه، context editing نتایج کهنهٔ ابزارها رو حذف میکنه
- کش پرامپت هزینه رو کم میکنه، نه اندازهٔ کانتکست رو
- برای مقیاس بالا، میانافزار پایدارترین صرفهجویی رو میسازه




