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

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

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