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

بودجه ۲۰۰ هزار توکنی یک سیاست مسیریابی است، نه یک فخرفروشی

در هزینه‌های شش‌رقمی توکن، پرسش مهندسی این نیست که عامل‌ها چقدر خودمختارند، بلکه این است که چه کسری از ترافیک به لایه مدل درست می‌رسد — و چگونه آن را اثبات می‌کنید.

Close-up of columns and exterior architectural details of a historic landmark building.

عددی که اهمیت دارد، مجموع نیست

هزینه سالانه شش‌رقمی توکن برای یک اپراتور واحد، نقطه عطفی نیست که ارزش جشن داشته باشد. این نشانه‌ای است که سیستم از نقطه‌ای فراتر رفته که کسی بتواند آن را از یک میانگین ترکیبی استنتاج کند. وقتی یک بار کاری به آن مقیاس می‌رسد، پرسش مهندسی جالب دیگر این نیست که عامل‌ها چقدر خودمختاری دارند. بلکه این است که چه کسری از ترافیک به لایه مدل درست هدایت می‌شود، و آیا آن کسر اندازه‌گیری می‌شود یا فرض.

در نظر بگیرید که یک ناوگان عامل تک‌کاربره در آن سطح هزینه واقعاً چه شکلی است. بیشتر فراخوانی‌ها ارزان‌اند: گام‌های طبقه‌بندی کوتاه، ساخت آرگومان فراخوانی ابزار، بازرتبه‌بندی بازیابی، خلاصه‌سازی پاسخ ابزاری که دور انداخته خواهد شد. دُمی کوچک گران است: برنامه‌ریزی بلندمدت، تعمیر کد در برابر تست شکست‌خورده، ترکیب چندسندی که مدل باید شواهد متناقض را در بافت نگه دارد. نسبت بین این دو جمعیت، متغیر طراحی است. اگر فراخوانی‌های ارزان به لایه گران فرستاده شوند، بودجه بدون هیچ افزایش کیفیت متناظر باد می‌کند. اگر فراخوانی‌های گران به لایه ارزان فرستاده شوند، بودجه سالم به نظر می‌رسد در حالی که وظایف سخت بی‌صدا شکست می‌خورند.

میانگین ترکیبی هر دو شکست را پنهان می‌کند. میانگین هزینه هر درخواست هیچ چیزی درباره اینکه آیا ناوگان بیش از حد تأمین شده یا نه نمی‌گوید، زیرا تعداد کمی فراخوانی صحیح بسیار گران و تعداد زیادی فراخوانی غیرضروری بسیار گران همان میانگین را تولید می‌کنند. آنچه نیاز دارید توزیع هزینه هر وظیفه است: شکل هزینه در وظایف تکمیل‌شده، تفکیک‌شده بر اساس کلاس وظیفه. توزیعی با سر نازک و دُم سنگین سیستمی است که کارش را انجام می‌دهد — کار ارزان روی مدل‌های ارزان، کار سخت تشدیدشده. توزیعی بدون هیچ دُمی مشکوک است. معمولاً یعنی وظایف سخت ارزان حل نمی‌شوند؛ بلکه رها، بریده یا قبل از تکمیل کنار گذاشته می‌شوند، و منحنی هزینه فقط فراخوانی‌هایی را می‌شمارد که برگشته‌اند.

این تمایز — تکمیل‌شده در برابر تلاش‌شده — جایی است که بیشتر داشبوردهای توکن شکست می‌خورند. آن‌ها توکن به ازای درخواست را گزارش می‌کنند چون API همان را برمی‌گرداند. عددی که بودجه شما را اداره می‌کند توکن به ازای وظیفه تکمیل‌شده است، و شکاف بین این دو هزینه شکست است.

مسیریابی یک طبقه‌بند با بودجه تأخیر است

هر درخواست در یک ناوگان خوب‌ساخته از یک پیش‌طبقه‌بند ارزان قبل از شروع فراخوانی گران عبور می‌کند. آن طبقه‌بند به یک پرسش پاسخ می‌دهد: این وظیفه به کدام لایه مدل نیاز دارد؟ روی یک مدل کوچک، یک لایه قواعد، یا یک مقایسه تعبیه سبک در برابر مجموعه‌ای برچسب‌خورده از وظایف گذشته اجرا می‌شود. کارش این است که تصمیم مسیریابی را به اندازه کافی ارزان بگیرد که خود تصمیم به یک ردیف هزینه تبدیل نشود.

Two adults sign documents on a wooden table at a business meeting, emphasizing teamwork.

طبقه‌بند هم بودجه تأخیر دارد و هم بودجه هزینه. اگر پیش‌طبقه‌بندی رفت‌وبرگشت‌هایی اضافه کند که کاربر حسش کند، اپراتورها آن را غیرفعال می‌کنند و همه چیز را به طور پیش‌فرض به مدل بزرگ می‌فرستند. این رایج‌ترین راهی است که سیاست‌های مسیریابی می‌میرند: نه از طریق طبقه‌بندی بد، بلکه از طریق تأخیری که مسیر درست را برای حفظ کردن خیلی کند کرده است.

مسیریابی‌های نادرست در دو جهت می‌آیند و متقارن نیستند.

  • مسیریابی نادرست به بالا یک رویداد هزینه است. وظیفه‌ای که مدل کوچک می‌توانست انجام دهد به مدل بزرگ می‌رود. کیفیت خوب است؛ بودجه خطا را جذب می‌کند. تشخیص گذشته‌نگر آن‌ها ارزان است با بازپخش وظیفه در برابر لایه ارزان‌تر.
  • مسیریابی نادرست به پایین یک رویداد کیفیت است. وظیفه‌ای که به مدل بزرگ نیاز داشت از مدل کوچک پاسخ مطمئن، قابل قبول و غلط می‌گیرد. تشخیص آن‌ها گران است چون شکست بی‌صداست، و وقتی یک عامل بر اساس خروجی غلط عمل کند تشدید می‌شوند.

این دو به معیارهای جداگانه نیاز دارند. یک رقم واحد «دقت مسیریابی» باعث می‌شود ناوگانی که هرگز تشدید نمی‌کند به خوبی ناوگانی به نظر برسد که درست تشدید می‌کند. نرخ مسیریابی نادرست به بالا را به عنوان نسبت هزینه و نرخ مسیریابی نادرست به پایین را به عنوان نرخ شکست وظیفه ردیابی کنید، و هرگز آن‌ها را در یک عدد میانگین نگیرید.

خود طبقه‌بند باید روی همان توزیع وظیفه‌ای ارزیابی شود که عامل‌ها می‌بینند. این همان بخشی است که فرسوده می‌شود. طبقه‌بندی که روی ترافیک سه‌ماهه گذشته آموزش دیده با تغییر بار کاری — ابزارهای جدید، انواع سند جدید، نیات جدید کاربر — منحرف می‌شود. این انحراف در هزینه کل نامرئی است چون مجموع به دلایل دیگر مدام حرکت می‌کند. راه‌حل عملی یک برش نگه‌داشته‌شده از ترافیک واقعی اخیر است که طبق برنامه از طبقه‌بند بازپخش شود و تصمیم مسیریابی با آنچه لایه گران تولید می‌کرد مقایسه شود. آن بازپخش تنها معیار صادقانه برای این است که آیا سیاست هنوز برقرار است. کارهای مرتبط در ارزیابی عامل و استقرار آگاه از هزینه همچنان بر تست هم‌توزیع با داده واقعی به جای نمرات محک تأکید می‌کنند، که غریزه درستی است — یک محک به شما می‌گوید طبقه‌بند می‌تواند طبقه‌بندی کند، نه اینکه ترافیک شما را طبقه‌بندی می‌کند.

چه چیزی را ابزارگذاری کنیم

ابزارگذاری برای ناوگانی در این مقیاس سه باید غیرقابل‌مذاکره دارد.

Close-up view of the intricate Gothic Revival architecture of a historic landmark in Budapest, Hungary.

توکن‌ها را به ازای وظیفه تکمیل‌شده ثبت کنید، نه به ازای درخواست. هر اجرا را با وضعیت تکمیل برچسب بزنید و هزینه را فقط روی اجراهایی تجمیع کنید که به یک حالت پایانی تعریف‌شده رسیده‌اند. اجراهای ناتمام — وقفه‌ها، حلقه‌های ابزار، برنامه‌های رهاشده — گران‌ترین‌اند، و از میانگین‌های هر درخواست ناپدید می‌شوند چون هر فراخوانی منفرد عادی به نظر می‌رسید. اجرایی که بافت بزرگی را در دوازده گام سوزانده و سپس شکست خورده، تک‌گران‌ترین شیء در سیستم است، و بیشتر داشبوردها نمی‌توانند آن را ببینند.

نرخ تشدید را ردیابی کنید. هر چند وقت یک بار یک اجرا در میانه کار از مدل کوچک به بزرگ می‌رود؟ تشدید همان شیر اطمینانی است که مسیریابی تهاجمی به پایین را قابل دفاع می‌کند. نرخ تشدید پایین با نرخ بالای مسیریابی نادرست به پایین یعنی شیر گیر کرده. نرخ تشدید بالا یعنی پیش‌طبقه‌بند کم‌برآورد می‌کند و ناوگان هزینه دو تلاش را می‌پردازد جایی که یکی کافی بود. خود نرخ یک سیگنال سلامت مسیریابی است، نه هزینه‌ای برای کمینه‌سازی.

نرخ اصابت کش را به عنوان ورودی مسیریابی در نظر بگیرید. کش کردن پرامپت معمولاً زیر بهینه‌سازی زیرساخت بایگانی می‌شود، جدا از انتخاب مدل. نباید این‌طور باشد. اگر یک کلاس وظیفه نرخ اصابت کش بالایی روی پیشوند پایدارش داشته باشد، هزینه مؤثر مدل بزرگ پایین می‌آید و آستانه مسیریابی باید جابه‌جا شود. سیاستی که وضعیت کش را نادیده می‌گیرد دقیقاً روی بارهای کاری‌ای بیش‌مسیریابی به لایه ارزان می‌کند که لایه گران از قبل با استفاده مجدد تخفیف خورده است. نرخ اصابت را در تصمیم مسیریابی بگنجانید، نه در گزارش ماهانه.

قاعده

بودجه‌ای که نمی‌توانید بر اساس کلاس وظیفه تجزیه کنید، بودجه‌ای است که نمی‌توانید در یک بازبینی از آن دفاع کنید. وقتی کسی می‌پرسد چرا هزینه این‌قدر است، «عامل‌ها مشغول‌اند» پاسخ نیست. «شصت درصد وظایف تکمیل‌شده کلاس B هستند و روی لایه کوچک با هزینه پایدار اجرا می‌شوند؛ دُم اجراهای برنامه‌ریزی کلاس D است، و این هم نرخ تشدید و نرخ مسیریابی نادرست به پایین روی آن دُم» پاسخ است.

قاعده عملیاتی کوتاه است: بر اساس کلاس وظیفه مسیریابی کن، با تکمیل دروازه‌گذاری کن، دُم را ماهانه حسابرسی کن.

  • بر اساس کلاس وظیفه مسیریابی کن. کلاس‌ها را صریح تعریف کن، هر کدام را به یک لایه نگاشت کن، و طبقه‌بند را در برابر ترافیک اخیر ارزیابی نگه دار.
  • با تکمیل دروازه‌گذاری کن. هزینه را فقط روی اجراهایی بشمار که تمام شده‌اند. هزینه شکست یک سیگنال مسیریابی است، نه سربار.
  • دُم را ماهانه حسابرسی کن. گران‌ترین وظایف تکمیل‌شده را در برابر لایه ارزان‌تر بازپخش کن. هر وظیفه‌ای که از بازپخش جان سالم به در ببرد یک مسیریابی نادرست به بالاست، و مجموع آن اندازه تصحیحی است که در دسترس شماست.

معامله صادقانه این است که این ماشین‌آلات زمان مهندسی هزینه می‌کند و یک مؤلفه تأخیرآور جلوی هر فراخوانی اضافه می‌کند. تیمی که همه چیز را به یک مدل بزرگ می‌فرستد سریع‌تر تحویل می‌دهد و برای بارهای کاری کوچک توجه کمتری خرج می‌کند. آن معامله جایی حدود نقطه‌ای که هزینه یک اپراتور واحد به شش رقم می‌رسد دیگر قابل دفاع نیست — نه چون پول در términos مطلق بزرگ است، بلکه چون در آن مقیاس سیستم تنوع وظیفه کافی دارد که یک لایه واحد برای بیشتر آن اثباتاً غلط است. بودجه یک فخرفروشی نیست. یک سیاست است، و سیاست‌ها قابل حسابرسی‌اند.

اشتراک‌گذاریXLinkedInپیوند یکتا6 دقیقه مطالعه

خواندن مرتبط

پرسش‌هایی که این پاسخ می‌دهد

Why is tokens per request the wrong metric?

Because it averages over runs that never completed. Failed runs — timeouts, tool loops, abandoned plans — can be the most expensive objects in the system while each individual call looks normal. Aggregating over completed tasks only surfaces the real cost distribution.

How should upward and downward mis-routes be measured?

Separately. Upward mis-routes are a cost ratio, detected by replaying completed tasks against the cheaper tier. Downward mis-routes are a task-failure rate, detected by comparing cheap-tier output against what the expensive tier would have produced. Averaging them into one accuracy figure hides both.

Why does the routing classifier drift?

It is trained on a task distribution that changes — new tools, document types and intents. Aggregate spend keeps moving for unrelated reasons, so drift stays invisible. Replaying a held-out slice of recent real traffic through the classifier on a schedule is the practical countermeasure.

Why treat cache hit rate as a routing input?

A high cache hit rate on a stable prefix lowers the effective cost of the large model for that task class, which should move the routing threshold. Treating caching as a separate infrastructure optimisation causes over-routing to the cheap tier on workloads where the expensive tier is already discounted by reuse.