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

وقتی قابلیت هوش مصنوعی کند به نظر میرسد، توصیه «مدل سریعتر انتخاب کنید» وسوسهکننده است، اما اغلب تمام مسئله نیست. یک درخواست تولیدی شاید از احراز هویت، کنترل سیاست، حافظه، بازیابی، مونتاژ پرامپت، مسیریابی ارائهدهنده، صف استنتاج، prefill، تولید توکن، ابزار، کنترل ایمنی، رندر و بررسی پس از اقدام عبور کند. مدل ممکن است بزرگترین بخش یا فقط قطعهای کوچک در زنجیرهای کممشاهده باشد.
مهندسی تأخیر با تعریف چیزی آغاز میشود که کاربر منتظر آن است. کاربر چت، واکنش فوری، نخستین بخش مفید و سرعت خواندنی تولید میخواهد. تحلیلگر در انتظار نخستین یافته قابل اعتماد و بسته کامل شواهد است. کاربر پرداخت میخواهد بداند اقدام کسبوکار دقیقاً یک بار ثبت شده است. اینها هدفهای خدمتی متفاوتاند.
معیارهای صنعتی اکنون مرحلههای سرو مدل را جدا میکنند. MLCommons در معیارهای جدید LLM، TTFT و TPOT را برای سناریوی سرور به کار میبرد و در توضیح MLPerf Inference v5 محدودیتهای مخصوص benchmark در صدک ۹۹ تعیین میکند، نه یک میانگین کلی. قراردادهای معنایی GenAI در OpenTelemetry نیز معیار زمان تا نخستین توکن دارد. درس ماندگار روشن است: مرحلهها و مسیر کند را جدا بسنجید.
حداقل این معیارها را instrument کنید:
| معیار | تعریف | چه چیزی نشان میدهد؟ |
|---|---|---|
| واکنش رابط | از اقدام کاربر تا نمایش حالت «در حال کار» | آیا محصول پاسخگو به نظر میرسد؟ |
| زمان تا نخستین نتیجه معنادار | از اقدام تا اولین محتوای واقعاً مفید | ارزش از چه زمانی شروع میشود؟ |
| TTFT | از ارسال درخواست مدل تا اولین توکن یا chunk | صف، prefill و overhead ارائهدهنده |
| TPOT | میانگین زمان هر توکن خروجی پس از توکن اول | سرعت decode |
| فاصله بین توکن | فاصله chunkهای متوالی در stream | jitter و روانی خواندن |
| زمان کامل مدل | از ارسال درخواست تا پایان پاسخ مدل | مدت کامل ارائهدهنده و مدل |
| تأخیر ابزار | از فراخوانی تا نتیجه راستیآزماییشده | هزینه وابستگی بیرونی |
| زمان گردشکار | از درخواست تا تمام گامهای لازم | مدت واقعی وظیفه |
| زمان تا تصمیم | تا وقتی اطلاعات معتبر کافی برای تصمیم بعدی حاضر است | ارزش محصول، نه پایان متن |
| زمان تا تأیید اثر | تا وقتی شرط کسبوکار پس از اقدام تأیید میشود | اعتماد در تراکنش و عمل |
مرز ساعت را دقیق مشخص کنید. TTFT اندازهگیریشده در سرور استنتاج با «نخستین نتیجه مفید» در مرورگر فرق دارد. بافر شبکه شاید توکن را دریافت کرده باشد، اما چیزی روی صفحه paint نشده باشد. ابزار شاید HTTP 200 برگرداند، ولی برنامه هنوز وضعیت واقعی کسبوکار را بررسی نکرده باشد.
Google Cloud در مستند فعلی معیارهای استنتاج، TPOT را زمان تولید پس از توکن اول تقسیم بر تعداد توکنهای باقیمانده تعریف میکند. یک فرمول انتخاب کنید، حالتهای لبه مانند خروجی تکتوکن را بنویسید و همهجا همان را به کار ببرید.
در مرز کاربر یک شناسه trace بسازید و آن را از این مرحلهها عبور دهید:
پرامپت و پاسخ حساس را به هر span نچسبانید. شناسه پایدار، نسخه، تعداد توکن، وضعیت cache، مدل، مسیر، نام ابزار، کلاس نتیجه و زمان کافی است. نمونهگیری یا redaction محتوا باید سیاست دسترسی جدا داشته باشد.
عملیات موازی را درست نمایش دهید. اگر سه بازیابی همزمان اجرا شوند، زمان آنها بهسادگی جمع نمیشود؛ مسیر بحرانی از کندترین شاخه ضروری و overhead هماهنگی میآید.
راهنمای مشاهدهپذیری عامل ساخت trace گردشهای چندمرحلهای را دقیقتر پوشش میدهد.
مدل در prefill زمینه ورودی را پردازش و KV cache لازم برای تولید را میسازد. پرامپت بلند معمولاً کار و حافظه بیشتری میخواهد. سند بازیابیشده بزرگ یا کل تاریخچه میتواند TTFT را خراب کند، حتی اگر پاسخ نهایی کوتاه باشد.
مدل autoregressive خروجی را بهصورت ترتیبی تولید میکند. سرعت decode، TPOT و زمان کل تولید را هدایت میکند. طول خروجی مهم است؛ نرخ سریع توکن هم اگر سامانه ۳۰۰۰ توکن غیرضروری بسازد، کار را کند نگه میدارد.
سرور درخواستها را برای استفاده بهتر از شتابدهنده batch میکند. batching بزرگتر ممکن است throughput کل را بالا ببرد، اما انتظار هر درخواست یا tail latency در ورودیهای با طول متفاوت را بدتر کند. throughput با responsiveness یکسان نیست.
در عامل، پایگاه، مرورگر، جستوجو، اجرای کد یا انتظار تأیید ممکن است از مدل طولانیتر باشد. هر وابستگی، retry و مرز انسانی را جدا بسنجید. کل trace را «تأخیر LLM» نام نگذارید.
TTFT خوب جهانی وجود ندارد. هدف را با نوع کار تنظیم کنید:
از p50 برای تجربه معمول و p90، p95 و p99 برای مسیر کند استفاده کنید. منطقه، دستگاه، شبکه، سازمان، مدل، طول ورودی و خروجی، وضعیت cache، concurrency، زبان، ابزار و کلاس درخواست را جدا کنید.
آستانه benchmark را مستقیماً SLO محصول نکنید. محدودیت MLPerf مقایسه سختافزار را زیر workload مشخص ممکن میکند؛ کاربر، پرامپت، هدف کیفیت، مسیر ارائهدهنده و زنجیره کامل شما متفاوتاند.
هر SLO زمانی باید کف کیفیت و ایمنی داشته باشد. مسیریابیای که p95 را بهتر میکند اما hallucination را بالا میبرد regression است.
بودجه برای هر قطعه مسیر بحرانی، مالک و هدف تعیین میکند. یک نمونه صرفاً توضیحی برای پاسخ تعاملی همراه بازیابی:
| بخش | هدف p95 | مالک |
|---|---|---|
| واکنش رابط | ۱۰۰ میلیثانیه | frontend |
| edge، احراز و پذیرش | ۱۵۰ میلیثانیه | platform |
| بازیابی و rerank | ۶۰۰ میلیثانیه | search |
| مونتاژ زمینه | ۱۵۰ میلیثانیه | AI application |
| صف و prefill تا توکن اول | ۱۲۰۰ میلیثانیه | model platform |
| نخستین جمله مفید | ۶۰۰ میلیثانیه بعد از توکن اول | model + product |
| ابزار اختیاری | ۱۵۰۰ میلیثانیه | integration owner |
| اعتبارسنجی و paint نهایی | ۲۵۰ میلیثانیه | application + frontend |
اعداد توصیه جهانی نیستند؛ هدف، پاسخگویی مالک است. اگر بازیابی ۱٫۴ ثانیه طول میکشد، افزایش سرعت مدل از ۴۰ به ۵۰ توکن بر ثانیه شاید تأثیر کمی بر زمان تا ارزش داشته باشد.
برای مسیر گرم و سرد، cache hit و miss، درخواست دارای ابزار و بدون ابزار و کار foreground و background بودجه جدا نگه دارید.
مرورگر باید پیش از پایان شبکه تغییر قابل مشاهده بدهد. راهنمای Core Web Vitals درباره Interaction to Next Paint توضیح میدهد تأخیر بازخورد چگونه رابط را بیپاسخ نشان میدهد. این تأخیر مدل نیست، اما کاربر کل محصول را تجربه میکند.
ارسال تکراری را ببندید، دامنه فعال را نشان دهید و امکان لغو یا انتقال امن به پسزمینه بدهید. spinner مبهم برای عامل بلندمدت کافی نیست؛ مرحلههایی مانند «در حال بررسی منابع» یا «منتظر تأیید» را نمایش دهید.
بازیابی تکراری، بارگذاری چندباره سیاست، فراخوانی زائد مدل، تاریخچه بیشازحد و خروجی طولانیتر از نیاز را حذف کنید. ارزانترین میلیثانیه مربوط به کاری است که نباید انجام شود.
مهندسی زمینه مستقیم اثر میگذارد. برای انتخاب آگاه از مجوز و فشردهسازی، ساخت زمینه قابل اعتماد را ببینید.
بازیابی و lookup مستقل را همزمان اجرا کنید، به شرطی که واقعاً مستقل و داخل محدودیت منابع باشند. اثرهای جانبی دارای ترتیب یا رکورد مشترک را موازی نکنید.
deadline و cancellation داشته باشید. اگر منبع اختیاری از بودجه گذشت، شاید بتوان با نتیجه جزئی و برچسب روشن ادامه داد؛ غیبت منبع مرجع ضروری باید باعث خودداری یا ارجاع شود.
مدل کوچکتر یا reasoning کمتر را برای دستهبندی، استخراج یا قالببندی کمریسک فقط پس از ارزیابی همان گردش به کار ببرید. مدل بزرگ یا استدلال بیشتر را جایی نگه دارید که کیفیت بهاندازه کافی بهتر میشود.
راهنمای مسیریابی مدل میان هزینه، تأخیر و کیفیت چارچوب تصمیم را ارائه میکند.
کامپایل تغییرناپذیر سیاست، schema، embedding، نتیجه بازیابی با قاعده تازگی و prefix مشترک مجاز را cache کنید. کلید باید سازمان، مجوز، زبان، نسخه سیاست، مدل و نسخه داده را شامل شود. برای سرعت، نشت بین کاربر یا اختیار کهنه نسازید.
نرخ hit، زمان ذخیرهشده، stale hit و تأخیر invalidation را بسنجید. نرخ hit بالا اگر سیاست قدیمی تحویل دهد موفقیت نیست.
streaming انتظار ادراکی را کم میکند، نه لزوماً کل کار را. ادعایی را که بعد از ابزار یا کنترل ایمنی احتمال بازپسگیری دارد، زود نمایش ندهید. در کار شواهدی، ساختار پایدار یا یافته تأییدشده را پخش و بخش ناتمام را روشن علامت بزنید.
اندازه chunk بر روانی اثر دارد. chunk بسیار کوچک overhead و jitter میسازد؛ بسیار بزرگ پیشرفت را دیر نشان میدهد. paint مرورگر و خوانایی را اندازه بگیرید، نه فقط event ارائهدهنده را.
مقاله vLLM و PagedAttention اتلاف حافظه KV cache را هدف میگیرد و در workloadهای آزمودهشده throughput بالاتر با سطح مشابه latency گزارش میکند. موتورهای جدید نیز continuous batching و scheduler برای پذیرش کار دارند.
اما برد throughput در یک benchmark تضمین کاهش p99 workload ترکیبی شما نیست. طول واقعی پرامپت، طول تولید، concurrency، معماری مدل و سختافزار را آزمایش کنید.
Speculative sampling از مدل draft سریع برای پیشنهاد چند توکن استفاده میکند و مدل هدف آنها را موازی بررسی میکند؛ در پیادهسازی درست توزیع هدف حفظ میشود. سود به هزینه draft و نرخ پذیرش وابسته است. تحلیل تأخیر ۲۰۲۶ گزارش میکند با افزایش بار و تغییر batch مؤثر، speedup ممکن است کم شود.
با نرخ ورود واقعی benchmark کنید. بهینهسازی برنده تکدرخواست شاید در اشباع سرور بازنده باشد.
دقت عددی کمتر میتواند حافظه را کاهش و سرعت را بالا ببرد، اما شاید دقت، قابلیت استفاده ابزار، کیفیت فارسی و calibration را عوض کند. خروجی را روی مجموعه ارزیابی با مرجع precision بالاتر مقایسه کنید، نه فقط tokens/s.
استفاده دوباره از حالت prefill برای prefix مشترک، کار تکراری را کم میکند. کلید باید هر جزء تغییردهنده معنا یا مجوز را دربرگیرد. cache مدیریتشده ارائهدهنده پیامد نگهداری و حاکمیت داده دارد؛ قواعد جاری را بررسی کنید.
پیش از غالبشدن صف scale کنید، اما زمان بارگذاری و warm-up مدل را لحاظ کنید. ترافیک تعاملی فوری را از گزارش بلند پسزمینه جدا کنید. زیر overload صریح reject یا degrade کنید، نه اینکه کار را در صف بینهایت بپذیرید.
برای هر ابزار:
hedged request میتواند tail خواندن یکتا را با ارسال درخواست دوم پس از تأخیر کم کند، اما بار را بالا میبرد و ممکن است congestion را بدتر کند. پرداخت یا پیام غیر idempotent را hedge نکنید.
راهنمای گردشکار پایدار عامل checkpoint و اثر دقیقاً یکبار در سطح کسبوکار را توضیح میدهد.
توزیع workload را از تولید یا نمونه حریمخصوصیمحور بسازید:
اگر ورود مستقل کاربر را مدل میکنید، load generator باز به کار ببرید؛ کلاینت بسته که تا پایان هر پاسخ صبر میکند ممکن است فروپاشی صف را پنهان کند، زیرا با کندشدن سرور ترافیک کمتری میفرستد.
برای هر سناریو histogram تأخیر، throughput، عمق صف، استفاده شتابدهنده، حافظه، طول توکن، خطا، retry، cancellation، کیفیت و هزینه را ثبت کنید. هنگام مقایسه تنظیم سرو، کیفیت را ثابت نگه دارید.
پیش از بهینهسازی علت را پیدا کنید. decoder سریعتر، document store کند را درست نمیکند.
برای تولید تعاملی مهم است، اما کافی نیست. TTFT پایین میتواند با توکن کند، توقف ابزار، رندر ضعیف یا اقدام تأییدنشده همراه باشد. معیار نزدیک به ارزش را انتخاب کنید: نخستین نتیجه مفید، زمان تا تصمیم یا اثر تأییدشده.
معمولاً با نمایش زودتر کار، حس سرعت را بهتر میکند. شاید زمان کل را تغییر ندهد و حتی overhead اضافه کند. نخستین paint معنادار و پایان را هر دو بسنجید.
برای مسیر مهم تعاملی و تراکنشی بله، اما جمعیت پشت آن را بررسی کنید. چند صدک و چند segment گزارش کنید؛ یک tail شاید کلاسهای متفاوتی را مخلوط کرده باشد که مسیر و SLO جدا میخواهند.
وقتی ارزیابی کنترلشده نشان دهد همان آستانه کیفیت و ایمنی کار را با سود معنادار latency یا هزینه میگذراند. اندازه مدل بهتنهایی سیاست routing نیست.
این مقاله در ۸ مرداد ۱۴۰۵ (۳۰ ژوئیه ۲۰۲۶) با منابع زیر بهطور اساسی بازبینی شد:
مهندسی تأخیر همان طراحی محصول در بُعد زمان است: فوری واکنش نشان دهید، فقط جایی منتظر بمانید که کیفیت تأییدشده میخرد و هرگز نمایش سریع را جای نتیجه راستیآزماییشده ننشانید.

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