LLM-шлюздің продакшендегі метрикалары: бір күнге арналған қысқа жиынтық
LLM-шлюз метрикалары күн сайын сапаны, кідірісті, қателерді және шығынды көруге көмектеседі. Продакшенге арналған қысқа көрсеткіштер жиынын талдап шығамыз.

Неге цифрсыз шлюз бақылаудан тез шығады
LLM-шлюздегі мәселелер сирек үлкен апаттан басталады. Көбіне бәрі жайлап бұзылады: бір модельдің кідірісі өседі, екіншісінің сапасы түседі, үшіншісінде қателер қаптай бастайды. Шағымдар кейін келеді, ал команда оған дейін уақыт пен ақшадан ұтылып қояды.
Егер тек пайдаланушы шағымына қарасаңыз, мәселені әрдайым тым кеш білесіз. Бір ортақ график те көп көмектеспейді. Шлюз арқылы ондаған модель, бірнеше провайдер және әртүрлі сценарийлер өтеді: чат, қысқаша мазмұндау, база бойынша іздеу, қолдау. Орташа есепте бәрі дұрыс сияқты көрінеді, бірақ бір провайдерде 5xx қателері басталып кеткен, ал бір модель әдеттегіден 40% баяуырақ жауап беріп жатыр. Бір OpenAI-үйлесімді endpoint ішінде бұл жиі болады.
Метрикалар есеп үшін емес, күнделікті шешім үшін керек. Олар мынаны тез түсінуге көмектеседі:
- мәселе қай жерде басталды;
- пайдаланушы бірінші нені байқайды;
- қазір нені жөндеу керек;
- қашан маршрутты басқа модельге немесе провайдерге ауыстырған дұрыс.
Цифрсыз команда сезім деңгейінде дауласа береді. Біреулер сапа төмендеді дейді. Басқалары желіні немесе провайдерді кінәлайды. Үшіншілері тек өсіп жатқан шотты көреді. Барлығы бірдей дұрыс болуы мүмкін, бірақ қарапайым көрсеткіштер жиыны болмаса, ол көрінбейді.
Алғашқы қадамды таңдау да қиынырақ. Егер жауаптар нашарласа, себеп әрдайым модельде болмайды. Кейде кідіріс өсіп, қолданба жауапты таймаутпен кесіп тастайды. Кейде маршрутизация трафикті арзанырақ нұсқаға бұрып жібереді де, бағамен бірге сапа да төмендейді. Кейде сапа қалыпты, бірақ шығын күндік шектен асып кеткен болады.
Қалыпты дашборд бірнеше минут ішінде не істеу керегін көрсетуі тиіс. Команда оны таңертең ашып, қай провайдер сыр бергенін, қай сұраныс қымбаттағанын және қай маршрутты кері қайтару керегін бірден көруі керек.
Метрикалар жинағын неден бастау керек
Тым кең дашборд оның жоқтығынан да зиян болуы мүмкін. Күнделікті шолу үшін 8-10 көрсеткіш жеткілікті. Оларды екі минут қарап шығып, жағдай тыныш па, әлде тереңірек қазу керек пе, соны бірден түсінуге болатындай етіп таңдаңыз.
Бір ортақ жолға қарап отыруға болмайды. Деректерді кемінде үш өлшем бойынша бөлу керек: модель, провайдер және сценарий. Әйтпесе орташа температура шынайы мәселені жасырады. Қолдау чаты жақсы жұмыс істеп тұруы мүмкін, ал құжаттан дерек шығару сапаны да, жауап уақытын да жоғалтып жатуы мүмкін.
Алғашқы экранға әдетте мына көрсеткіштер қойылады:
- күніне және сағатына түскен сұраныс саны;
- сәтті жауаптар үлесі;
p95кідіріс;- бірінші токенге дейінгі орташа уақыт;
- таймауттар үлесі;
4xxқателерінің үлесі;5xxқателерінің үлесі;- бір сұраныстың орташа құны;
- 1000 токеннің орташа құны;
- сапаға шағым түскен сұраныстар үлесі, қолмен немесе автоматты түрде.
Осы жиын сапаны, кідірісті, қателерді және шығынды артық шуылсыз көруге жеткілікті. Егер шлюз трафикті бірнеше провайдер арқылы жіберсе, провайдер бойынша бөлу таймаут қай жерде өскенін, ал қай жерде шот көтерілгенін тез көрсетеді.
Тесті мен боевый трафикті бірден бөліп қойған дұрыс. Әйтпесе түнгі прогон, жүктемелік тест немесе команданың жаңа промпттармен жұмысы суретті бұзады. Қарапайым ереже жақсы істейді: пайдаланушыға әсер етпейтіннің бәрі бөлек ағынға және бөлек дашбордқа кетеді.
Әр метриканың нақты әрекеті болуы керек. Егер p95 шектен асып кетсе, команда провайдерді тексереді және қажет болса трафиктің бір бөлігін ауыстырады. Егер 5xx өссе, бұл маршрутизацияның бұзылуы ма, әлде провайдердегі мәселе ме — соны қарайды. Егер сұраныс бағасы көтерілсе, трафик қымбатырақ модельге кетпеді ме, тексереді. Егер бір сценарийде сәтті жауап үлесі түссе, промпт пен кіріс деректерін талдайды.
Әрекет алдын ала белгіленбесе, метрика іс жүзінде пайдасыз.
Жауап сапасын не арқылы өлшеу керек
Сапа бір ғана бағамен сирек көрінеді. Сыпайы мәтін жауаптың пайдаланушыға көмектескенін немесе өнімге шынымен жарамды екенін білдірмейді. Күнделікті жұмыс үшін төрт сигнал жеткілікті. Олар сирек кездесетін ұзақ тізімнен әлдеқайда пайдалы.
Ең аз жиын
- Іріктелген жауаптарды қолмен тексеру. Күніне бір рет немесе релизден кейін 30-50 жауап алып, әрқайсысы нақты жауап берді ме, факт ойдан қоспады ма және ережені бұзбады ма, соны белгілеңіз. Егер 40 жауаптың 32-сі өтсе, бұл 80% болады.
- Формат бұзылуы. Модель JSON-ды бұзған, өрісті өткізіп алған немесе схеманы бұзған жағдайларды бөлек санаңыз. Өнім үшін бұл көбіне жай әлсіз мәтіннен ауыр, өйткені ары қарай код құлайды немесе сценарий тұрып қалады.
- Сәтсіздіктен кейінгі қайталама сұраныстар үлесі. Егер қолданба retry жасаса, сұранысты қосалқы модельге жіберсе немесе пайдаланушы сол сұрақты қайта қойса, сапа төмендегені анық. Мұндай белгі журналда айқын қате аз болғанда жасырын мәселені жақсы ұстайды.
- Бақылау тапсырмалар жиыны. 20-50 типтік сұранысты сақтап, модель, промпт немесе маршрут өзгерген сайын іске қосыңыз. Өріс шығару, қысқаша мазмұндау, жіктеу және білім базасы бойынша жауаптар жарайды.
Бұл көрсеткіштерді бірге оқу керек. Қолмен тексеру жауаптың адамға пайдасы бар-жоғын көрсетеді. Формат пен қайталама сұраныстар жүйе бұл жауаппен артық айналмай өмір сүре ала ма, соны көрсетеді.
Қарапайым мысал: қолдау боты түсінікті жауап береді де, қолмен тексеру 84% деңгейінде тұрады. Бірақ JSON 6% жағдайда бұзылады, ал қайталама сұраныстар 9%-дан 17%-ға өсті. Сырттай модель жаман жазбайды, ал іс жүзінде команда қайталаулар мен сәтсіздіктерді талдауға уақыт жоғалтады.
Егер тек екі тексеру енгізе алсаңыз, қолмен іріктеу мен бұзылған формат үлесінен бастаңыз. Олар модельдің шынымен керек нәрсеге жауап беріп тұрғанын және оның жауабын боевый ағынға салуға бола ма, соны тез көрсетеді.
Кідіріс бойынша не қарау керек
Орташа уақыт көбіне өтірік айтады. Бір жылдам жауап пен бір өте баяу жауап оңай «қалыпты» орташа сан береді, ал пайдаланушы әлдеқашан ашуланып отыр. Сондықтан жанында p50 және p95 ұстаған дұрыс.
p50 әдеттегі күнді көрсетеді: шлюз типтік сұраныста қаншалық жылдам жауап береді. p95 шетін көрсетеді: сәті түспегендер қанша күтеді. Дәл p95 көбіне өнімге, қолдауға және SLA-ға соққы береді.
Чат үшін тек жалпы жауап уақытын білу аз. Пайдаланушы ең алдымен бірінші токеннің қаншалық тез келгенін байқайды. Егер жауап 700 мс ішінде жазыла бастаса да, 8 секундта бітсе, бұл бір тәжірибе. Егер бірінші токен 4 секундтан кейін келсе, сол жауаптың өзі ілініп қалғандай сезіледі.
Сондықтан жалпы жауап уақыты бойынша p50 және p95-ті бөлек ұстаған жақсы, диалог сценарийлері үшін first token time-ды, ұзақ тапсырмалар үшін толық жауап уақытын және таймаутқа тірелген сұраныстар үлесін де бөлек қараңыз.
Бүкіл жүйеге бір сан аз нәрсе айтады. Кідірісті кемінде модель, провайдер және сұраныс түрі бойынша бөлу керек. Қысқа чат, құжаттан дерек шығару және ұзақ есеп генерациясы әртүрлі жүреді. Бұларды бір графикке араластырсаңыз, мәселенің себебі жоғалады.
Бұл бөліністерді қатар қарау пайдалы. Егер p95 тек бір модельде өскен болса, мәселе көбіне модельдің өзінде немесе провайдерде. Егер өсу бір провайдер ішіндегі барлық модельде көрінсе, тар жерді қолданбада, кезекте немесе желіде іздеңіз.
Таймауттарды p95-тен бөлек ұстамаған дұрыс. p95 20 немесе 30 секундтық лимитке жақындай бастаса, бұл уже белгі. Егер команда бір сценарийді шлюз ішіндегі әртүрлі модельдер мен провайдерлер арқылы өткізсе, мұндай метрикалар жұбы қай жерде күтуге болатынын, ал қай жерде маршрутты бірден ауыстырған жөн екенін тез көрсетеді.
Қандай қателерді бөлек санау керек
Бір ортақ error rate көбіне көмектескеннен гөрі кедергі болады. Егер 429, 5xx, желілік таймауттар және схема қатесін бір санға қоссanız, команда сәтсіздіктер өскенін көреді, бірақ бірінші нені жөндеу керегін түсінбейді.
Қателерді кемінде төрт топқа бөліңіз:
- 429 — лимитке тірелдіңіз, мұнда көбіне кезек, басқа провайдер немесе мұқият ретрай көмектеседі;
- 5xx — мәселе әдетте модель немесе провайдер жағында, бұл маршрутты ауыстыруға тікелей белгі;
- желілік ақаулар мен timeout — мұнда тұрақсыз арна, DNS, прокси немесе тым қысқа таймауттар тексеріледі;
- валидация және схема қателері — сұраныс жетті, бірақ код немесе контракт бұзылды.
Схема қателерін үлесі аз болса да бөлек ұстаған дұрыс. Олар сирек жаппай болады, бірақ ауыр соғады: JSON талданбайды, міндетті өріс жетіспейді, tool call басқа форматта келеді. Мұнда ретрай көбіне көмектеспейді.
Стримнің үзілуі мен бос жауаптар үшін де бөлек жол керек. Формалды түрде сұраныс 5xx-сыз аяқталуы мүмкін, бірақ өнім үшін бұл бәрібір қате. Пайдаланушы ілініп қалған жауапты немесе бос терезені көреді, ал қалыпты табыс есептегіші бәрі дұрыс өткенін көрсетеді.
Тағы бір пайдалы көрсеткіш — ретрайдан кейін ғана сәтті болған сұраныстар үлесі. Егер ол өссе, шлюз әлі ұстап тұр, бірақ қоры таусылып келеді. Мысалы, бүгін success rate 99.2% болып, тыныш көрінуі мүмкін. Бірақ сәтті жауаптардың 7%-ы тек екінші немесе үшінші талпыныста келген болса, инцидент жақындап қалды деген сөз.
Әрбір сәтсіздік үшін request_id сақтаңыз. Онсыз талдау тез арада болжауға айналады: логты табу, провайдер, модель, статус және жауап уақытын салыстыру қиын. request_id болса, инженер бірнеше минутта қай жер бұзылғанын түсінеді: клиентте ме, шлюзде ме, әлде сыртқы API-де ме.
Шығынды шатастырмай қалай есептеу керек
Күндік жалпы сома көп нәрсе айтпайды. Ол трафиктен де, дұрыс емес маршрутизациядан да, ұзақ жауаптардан да өседі. Сондықтан шығынды барлық сұранысқа емес, қалыпты нәтиже бергендерге байлаған дұрыс.
Бірінші тірек — 1000 сәтті сұраныстың құны. Егер күні бойы 12 000 шақыру өтсе, бірақ бір бөлігі таймаутпен немесе қатемен құласа, шығынды тек сәттілерге бөліңіз. Сонда бүкіл шу емес, нақты жұмыс ағынының бағасы көрінеді.
Екінші метрика өнімге жақынырақ: сценарий бойынша бір пайдалы жауаптың бағасы. Қолдау ботында пайдалы жауап деп адам қайта сұрамай, оператор шақырмай қалған жауапты санауға болады. Ішкі іздеуде — қызметкер ашып, пайдаланған жауап. Бұл сан көбіне сұраныстың орташа бағасынан пайдалырақ.
Токендерді де бөлек санаған дұрыс. Кіріс токендері системный промпттың, диалог тарихының немесе қызметтік нұсқаулардың қай жерде үлкейгенін көрсетеді. Шығыс токендері модельдің тым ұзақ жауап беретінін көрсетеді. Бәрі бір сомаға бірігіп кетсе, артық шығынның себебі көрінбей қалады.
Жанында тағы бірнеше сан пайдалы: айқын себепсіз қымбат модельге кеткен сұраныстар үлесі, әр сценарий бойынша пайдалы жауап бағасы және кэш қосулы болса, prompt cache-ке түсу үлесі.
Кішкентай мысал: FAQ боты әдетте қарапайым сұрақтарды арзан модельде шешеді. Егер бір аптадан кейін мұндай сұраныстардың 25%-ы қымбатырақ модельге ауысып кетсе, ал кэшке түсу үлесі төмендесе, трафик өзгермесе де шот өседі. Мұндағы проблема сұраныс санында емес, маршрутизация ережесінде немесе өзгерген промпт шаблонында.
Мұндай көрсеткіштерді кідіріс пен қателермен қатар қарау пайдалы. Сонда команда шығын өсімінің нақты себебін көреді: ұзын кіріс, тым сөзшең шығыс, кэштен жанап өту немесе қымбат модельді орынсыз таңдау.
Бір күнде алғашқы дашбордты жасау
Бүкіл трафикті бірден қамтуға тырыспаңыз. Бір-екі тірі жүктемесі бар сценарийді алыңыз: қолдау боты, білім базасынан іздеу немесе операторларға арналған ішкі көмекші. Егер сұраныс аз болса, графиктер тым тегіс болып кетеді де, шлюз қай жерде ақша не уақыт жоғалтатынын көрмейсіз.
Бастау үшін әр сұранысқа қарапайым лог жеткілікті. Модельді, провайдерді, таңдалған маршрутты, кіріс және шығыс токендерді, қате кодын және жауап уақытын сақтаңыз. Егер команда бір OpenAI-үйлесімді шлюз арқылы жұмыс істесе, мұндай өрістерді провайдерлердің әртүрлі кабинеттеріне бөлмей, бір жерден жинау оңайырақ.
Алғашқы экран төрт сұраққа жауап беруі керек: лайк, дизлайк, адамға эскалация үлесі немесе қайталама сұраныс сияқты қарапайым сигнал бойынша сапада не болып жатыр; әр сценарий үшін кідірістің p95 көрсеткіші қандай; қателер қай жерде өсіп жатыр және қай кодтар жиі кездеседі; токендер мен қайта талпыныстарды қоса есептегенде бір сәтті жауап қанша тұрады.
Шектерді күрделендірмеңіз. Егер p95 қалыпты базадан шамамен 30% өссе, сары белгі беріңіз. Егер қателер 2-3%-дан асып кетсе немесе сәтті жауап құны күрт өссе, қызыл қосыңыз.
Мұндай дашборд күнделікті жұмысқа қазірдің өзінде көмектеседі. Ол бір провайдер баяулағанын, маршрут таймаутқа жиі түсетінін және жаңа модель бюджетті байқатпай жеп жатқанын тез көрсетеді.
Оны таңертең және әр релизден кейін тексеріңіз. Таңертеңгі қарау бірнеше минут алады, бірақ түнгі ақауларды жиі ұстап қалады. Релизден кейінгі тексеріс те сол себепті керек: команда промптты немесе маршрутты өзгертеді, ал p95, қателер және жауап бағасы алғашқы сағаттың өзінде-ақ жылжып кетеді.
Мысал: қолдау боты іске қосылғаннан кейін
Релизден кейін қолдау боты қарапайым сұрақтарды өзі жаба бастады: тапсырыс статусы, тариф ауыстыру, қайтарым, пароль. Егер сұрақ күрделі көрінсе, шлюз оны күштірек модельге жіберетін. Ортақ сводкада бәрі тыныш сияқты болды: жауаптың орташа уақыты дерлік өзгермеді, қателер үлесі төмен қалды.
Мәселе команда жауап ұзақтығы бойынша деректерді бөлген кезде шықты. Қысқа жауаптарда бәрі бұрынғыдай қалды, ал ұзақ жауаптарда p95 едәуір өсті. Ақша қайтару немесе келісімшарт шарты туралы сұраған пайдаланушы 4-5 секунд емес, 11-13 секунд күтіп қалды. Орташа көрсеткіш мұны дерлік жасырып тұрды, өйткені қысқа диалогтар көп еді.
Қателер жағынан да сурет біркелкі болмады. 429 коды негізінен бір провайдерден келді және көбіне ең қарбалас уақытта байқалды. Формалды түрде сұраныстар жаппай құламады, бірақ бір бөлігі ретрайға кетіп, кезек үлкейіп, ұзақ жауаптар одан сайын баяулаған.
Шығын жағында да солай болды. Сәтті жауап құны модельдер қымбаттағандықтан емес, боттың қымбат модельді тым жиі шақырғанынан өсті. Эскалация шегі тым сақ қойылған еді: «тапсырысым қайда» немесе «email-ды қалай ауыстырамын» сияқты қалыпты сұрақтар да жиі дұрыс модельге жетпейтін.
Бірнеше ондаған диалогты қолмен іріктеу тағы бір мәселені көрсетті. Жауап форматы логтардан көрінгеннен жиі бұзылған екен. HTTP 200 келді, токендер есептен алынды, бірақ JSON кейде бір өрісті жоғалтты, ал операторға арналған жауап шаблоны ауытқып кетті. Бизнес үшін бұл қате, ал техникалық мониторинг мұндай шақыруды сәтті деп санады.
Содан кейін команда төрт нәрсені түзетті: ұзақ жауаптар үшін p95-ті бөлек қарай бастады, 429-ды провайдерлер мен сағаттар бойынша бөлді, сұраныс құнын ғана емес, сәтті жауап құнын да қосты және генерациядан кейін жауап схемасын тексеруді енгізді.
Дәл осылай пайдалы метрикалар продакшенада жұмыс істейді. Олар абстрактілі түрде «бір нәрсе нашарлады» деп айтпайды. Олар секундтар, ақша және сапа қай жерде жоғалып жатқанын көрсетеді.
Командалар көбіне қай жерде қателеседі
Көбіне команда картинаны өзі бұзады. Олар көп сан жинайды, бірақ олардан шешім шығаруға болмайтындай қарап отырады. Метрикалар бүгін қандай модельді, қандай маршрутты және қандай лимитті таңдау керек екенін көрсетуі тиіс, әдемі есепте өмір сүруі емес.
Бірінші қате — жауаптың орташа уақытымен өмір сүру. Орташа көрсеткіш көбіне орынсыз тыныштандырады. Егер сұраныстардың 80%-ы 2 секундта өтсе, ал қалғаны 15 секундқа ілінсе, пайдаланушы дәл сол кідірісті есінде сақтайды.
Екінші қате — барлық модель мен провайдерді бір графикке құлату. Бір маршрут баяулауы мүмкін, екіншісі тұрақты қалуы мүмкін, ал жалпы график бәрі «шамамен қалыпты» екенін көрсетеді.
Үшінші қате бюджетке тиеді. Команда шығынды тек токен бойынша есептеп, арзан модельге қуанады. Сосын ол модель жиірек қате береді, оператор көбірек қайталауға мәжбүр болады, ал бот диалогты адамға жиі береді. Қағаз жүзінде токен арзан. Іс жүзінде бір шешілген кейс қымбатқа түседі.
Тағы бір жиі қате — тест және боевый трафикті араластыру. Жүктемелік прогондар, қолмен тексеру және промпт эксперименттері кідіріс пен қате суретін оңай бұзады. Тесттің өз тегі болуы керек, тіпті жеке кілті болса тіпті жақсы.
Маршрутизация өзгергеннен кейін командалар көбіне жаңа графикке қарап, есте қалғанмен қорытынды жасайды. Ес жады жаңылысады. Бірдей трафик түрімен екі салыстыру терезесі керек: дейін және кейін.
Егер дашбордта барлық модельге бір график, p95-сіз тек орташа, сәтті жауап үлесінсіз шығын, тест пен боевый трафик бір ағынға араласқан күй немесе маршрут ережесі өзгергеннен кейінгі дейін/кейін салыстыру жоқ болса, дерекке сенуге болмайды.
Жақсы дашборд сезіммен дауласады. Оның мәні де сонда.
Күн сайынғы қысқа тексеріс
Күнделікті тексеріс жарты сағат алмауы керек. Дашборд дұрыс жиналса, командаға шлюз қалыпты режимде ме, әлде ауытқи бастады ма, соны түсіну үшін 5-7 минут жеткілікті.
Мұндай тексеріс үшін бес белгі жеткілікті.
- Негізгі сценарийлер бойынша
p95-ті қараңыз, орташа кідірісті емес. Егер қолдау боты әдетте 4 секундқа сыйып жүрсе, ал бүгінp957 секундқа өссе, мәселе бар. - Жанында
429,5xxжәне таймауттарды ұстаңыз. Оларды идеалмен емес, соңғы күндердегі өзіңіздің қалыпты диапазоныңызбен салыстырған пайдалы. - Маршрутизация, промпт немесе модель өзгерген сайын бір пайдалы жауаптың бағасын тексеріңіз. Егер сапа өспесе, ал жауап 20-30% қымбаттаса, мұндай өзгерісті қалдырған сирек дұрыс.
- Тірі жауаптардың шағын іріктемесін ашыңыз. Он бес шақтысы бұзылған JSON-ды, қажет форматтың орнына артық мәтінді немесе модельді үнсіз ауыстырғаннан кейінгі әлсіз жауаптарды байқауға жетеді.
- Барлық трафик бір провайдерге немесе бір модельге жиналып қалмады ма, соны қараңыз. Егер бір маршрут сұраныстардың бәріне жуығын алып қойса, сіз артық тәуекелге, лимитке және бағаға кіріп кеттіңіз.
Қарапайым ереже ұстаған пайдалы: егер екі белгі бірден бұзылса, команда кешкі жиналысты күтпей, кеше енгізілген өзгерісті кері қайтарады немесе қосалқы маршрутты қосады.
Жалықтыратын сияқты, бірақ жұмыс істейді. Таңертеңгі бір қысқа қарау пайдаланушы шағымынан кейінгі ұзақ талдаудан гөрі күнді жақсырақ құтқарады.
Команда үшін келесі қадам
Метрикалар жиыны тек команда оны жұмыс ырғағына енгізгенде ғана пайда береді. 8-12 көрсеткішті жазып қойыңыз, оларға қарапайым атау беріңіз және оларды күн сайын бақылайтын бір адамды тағайындаңыз. Оның бәрін өзі жөндеуі міндетті емес. Міндеті қарапайым: ауытқуды байқау, талдауды ашу және мәселенің релиздер арасында жоғалып кетуіне жол бермеу.
Бірнеше модель мен провайдер болса да, метриканы бір шлюз деңгейінде есептеген жақсы. Әйтпесе команда картинаның тек бөлігін көреді. Бір провайдерде кідіріс өседі, екіншісінде қате жиілейді, үшіншісінде баға жоғары болады, ал өнімге әсері бір жерге жиналмай қалады. Алдымен сапа, p95 кідіріс, қате үлесі және 1000 сұранысқа шаққандағы құн бойынша ортақ көріністі ұстаңыз. Сосын ғана модель, маршрут немесе клиент деңгейіне тереңдеңіз.
Айына бір рет қысқаша тазалау пайдалы. Егер бір көрсеткіш шешімге апармаса, оны алып тастаңыз. Егер команда қайта-қайта бір мәселе туралы цифрсыз таласа берсе, жаңа метрика қосыңыз да, бірден әрекет ететін шекті қойыңыз.
Әдетте мынадай ырғақ жеткілікті: бір шолу иесі дашбордты күн сайын тексереді, команда аптасына бір рет тек ауытқуларды қарайды, айына бір рет артық метрикаларды алып, шектерді жаңартады, ал жаңа метриканы тек нақты сұрақ үшін қосады.
Қазақстан мен Орталық Азиядағы командалар үшін модель көп болып, есеп бірізді керек болғанда бұл әсіресе ыңғайлы. Осындай схемаға AI Router on airouter.kz маршрутизацияны, аудит-логтарды және теңгедегі биллингті бір жерге жинауға көмектеседі. Сонда провайдерлерді салыстыру, шығынды есептеу және инциденттерді әртүрлі кабинеттер арасында секірмей талдау оңайырақ болады.
Жиі қойылатын сұрақтар
Алғашқы дашбордқа қандай метрикалар жинау керек?
success rate, p95 кідіріс, чат үшін бірінші токенге дейінгі уақыт, таймауттар үлесі, 4xx және 5xx қателері, сұраныстың орташа құны және сәтті жауаптың құнынан бастаңыз. Осысының өзі таңертең сапа, жылдамдық немесе шығын қай жерде сыр бергенін тез түсінуге жетеді.
Деректерді бірден модель, провайдер және сценарий бойынша бөліңіз. Әйтпесе орташа сандар мәселені жасырып қалады.
Мәселені жоғалтпау үшін метрикаларды қалай дұрыс бөлу керек?
Орташа мән көбіне жағымсыз ұзын шетін жұмсартып жібереді. Сұраныстардың бір бөлігі тез өтсе, ал ұзақ жауаптар 10–15 секундқа ілініп қалса, орташа көрсеткіш қалыпты көрінуі мүмкін, бірақ пайдаланушы әлдеқашан күтіп отырады.
Кем дегенде p50 және p95 көрсеткіштерін қараңыз. Чат үшін бірінші токенге дейінгі уақытты бөлек ұстаңыз, өйткені адам ең алдымен соны байқайды.
Жауап сапасы шынымен төмендегенін қалай түсінеміз?
Ең аз дегенде мына үш өлшем керек: модель, провайдер және сценарий. Осы үш бөлу әдетте мәселе нақты маршрутта ма, әлде бүкіл қолданбада ма, бірден көрсетеді.
Егер трафик тапсырма түрі мен ұзақтығы бойынша әртүрлі болса, сұраныс түрі бойынша да бөлек қараңыз, мысалы қысқа чат және ұзақ генерация. Сонда себепті тезірек табасыз.
Қандай қателерді бөлек санау керек?
Сапаны бір ғана бағамен шектеуге тырыспаңыз. Күнделікті жұмысқа жауаптардың қолмен тексерілген үлгісі, бұзылған JSON немесе схема үлесі, сәтсіздіктен кейінгі қайталама сұраныстар және шағын бақылау тапсырмалар жиыны жеткілікті.
Жауап сыпайы көрініп, бірақ форматын бұзып тұрса немесе пайдаланушыны қайта сұратса, сапа әлдеқашан төмендеген. Мұндай белгі әдемі мәтіннен маңыздырақ.
Тесттік және боевый трафикті қалай араластырмай ұстаймыз?
Бәрін бір error rate ішіне қоспаңыз. 429, 5xx, желілік таймауттар және схема немесе валидация қателерін бөлек ұстаңыз.
Сонда команда не істеу керегін бірден түсінеді. 429 кезінде көбіне кезек немесе басқа провайдер көмектеседі, 5xx кезінде — маршрутты ауыстыру, схема қатесінде — контрактты не промптты түзету.
Шығынды шатастырмай қалай есептеу керек?
Тесттік трафикті бөлек тегпен белгілеңіз немесе оны басқа кілт арқылы өткізіңіз. Сонда түнгі прогондар, қолмен тексерулер және промпт эксперименттері боевый метрикаларды бұзбайды.
Тест пен продты араластырсаңыз, кідіріс, қателер және баға бойынша жалған секірулер аласыз. Одан кейін дашбордқа сену қиын болады.
Қашан трафикті басқа модельге немесе провайдерге ауыстыру керек?
Күндік жалпы сома көп нәрсені түсіндірмейді. Барлық шақыруды емес, сәтті жауаптың құнын және 1000 сәтті сұраныстың бағасын есептеңіз.
Вход және выход токендерін бөлек қараған пайдалы. Сонда шығынның ұзын промпттан, тым көп сөзден немесе маршруттың трафикті қымбат модельге жиірек жіберуінен өсіп жатқанын көресіз.
Әр сұраныстың логына міндетті түрде не жазу керек?
p95 әдеттегі диапазоннан айқын асып кетсе, 5xx немесе таймауттар өссе, ал сапа мен баға сіздің шегімен қабыспай қалса, маршрутты ауыстырыңыз. Жаппай шағымды күтудің қажеті жоқ.
Қарапайым ереже бар: бірден екі белгі бұзылса, мысалы жылдамдық пен қате қатар өссе, қосалқы маршрутты қосыңыз немесе кешегі өзгерісті кері қайтарыңыз.
Дашбордты қаншалық жиі тексеру керек және оған кім жауап беруі тиіс?
request_id, модель, провайдер, таңдалған маршрут, кіріс және шығыс токендері, қате коды, жауап уақыты және retry белгісін сақтаңыз. Осылардың өзі инцидентті тез талдауға жетеді.
Егер стриминг немесе қатаң жауап схемасы қолданылса, стрим мәртебесі мен формат тексеру нәтижесін де қосыңыз. Әйтпесе кейбір нақты бұзылулар байқалмай қалады.
Дашбордты қаншалық жиі тексеру керек және оған кім жауап беруі тиіс?
Әдетте таңертең қысқа тексеріс және әр релизден кейінгі қарау жеткілікті. Дашборд дұрыс жиналса, қарауға 5–7 минут кетеді.
Бір жауапты адамды тағайындаңыз. Ол күн сайын ауытқуларды қарап, талдауды бастайды және мәселенің релиздер арасында жоғалып кетуіне жол бермейді.