Ұзын контекст үшін артық төлемеудің жолы: нені қысқарту және нені сақтау керек
Ұзын контекст үшін артық төлемеудің жолын талдаймыз: тарихты қысқарту, қысу және диалог жадысын таңдау арқылы мәнді сақтап, токен санын азайту.

Ұзын контекст неге бюджетті тез тауысады
Модельге жасалатын әр жаңа сұрау тек пайдаланушының соңғы сұрағын ғана қамтымайды. Әдетте қолданба деректердің толық жиынтығын жібереді: жүйелік промпт, чат тарихының бір бөлігі, іздеуден немесе білім базасынан алынған үзінділер, құралдардың нәтижелері және қызметтік өрістер. Модель мұның бәрін әр шақырылым сайын қайта оқиды, ал сіз бүкіл көлем үшін қайтадан төлейсіз.
Кәдімгі сұрауда бірнеше қабат болады: модельге арналған ережелер, өткен хабарламалар, құжаттардан алынған кірістірулер, құралдардың жауаптары, логтар немесе JSON. Мәселе мынада: API-де шақырылымдар арасында өз жадысы жоқ. Егер диалог 15 қадамға созылса, бірінші сұрақ модель жағында сақталмайды. Қолданба оны қайта-қайта жібереді. Бір ғана абзац бір сессияда 10–20 рет контекстке түсуі мүмкін.
Сондықтан тіпті шағын қалдықтың өзі тез байқалатын шығынға айналады. Айталық, жүйелік промпт 700 токен алады, чат тарихы тағы 1500 токен, ал жаңа сұраққа 2000 токендік құжат қосылды. Бір қадамның өзі-ақ қымбатқа түседі. Келесі қадамда шамамен сол көлем қайта кетеді, үстіне модельдің жаңа жауабы қосылады.
Тарихтың бәрі бірдей пайдалы емес. Егер пайдаланушы бір рет «маған жауап қазақша керек» немесе «бізде SAP пен 1С бар» десе, осы деректерді сақтап қойған жөн. Олар келесі жауаптарға әсер етеді. Ал сәлемдесулер, алғыс сөздер, бірдей нақтылаулар және бір нәрсенің ескі нұсқалары әдетте артық токеннен басқа ештеңе бермейді.
Бұл қолдау чатында анық көрінеді. Өнім нөмірін, қате мәтінін және пайдаланушының қайта қосып көргенін есте сақтаған пайдалы. Бес сыпайы реплика мен әр сәтсіз әрекеттің толық мәтінін қайта жіберу, егер мағынасы бұрыннан түсінікті болса, пайдасыз.
Көбіне токендер адамның өзі емес, жүйе қосатын жерлерде байқалмай өседі. Артық шығынға әдетте құралдың толық шығысы емес, қысқа нәтиженің орнына берілген толық жауап, шикі логтар мен stack trace, құжаттардың тұтас ұзын кірістірмелері, сондай-ақ іздеуден келген дубликаттар себеп болады — бір фрагмент контекстке бірнеше рет түскенде.
Сондықтан шот қысқа сұрақтардың өзінде де өсе береді. Сұрақтың өзі 20 сөз алса, оның айналасындағының бәрі тағы бірнеше мың токен болуы мүмкін.
Чат тарихында нені қалдырған дұрыс
Чат тарихында бүкіл әңгіме керек емес, тек келесі жауапта модельді шатастырмайтын бөлігі ғана қажет. Көп команда тым көп нәрсені сақтайды: сәлемдесулер, қайталаулар, ұзын «жақсы, түсіндім» және тапсырмаға енді әсер етпейтін мәтін үзінділері.
Егер сіз ұзын контекст үшін артық төлемеудің жолын түсінгіңіз келсе, қарапайым ережеден бастаңыз: әр сақталған фрагмент келесі жауапты өзгертуі керек. Егер өзгертпесе, оны алып тастаған дұрыс.
Әдетте пайдаланушының мақсатын, тапсырманың қазіргі қадамын, мерзім, формат, тіл және бюджет бойынша шектеулерді, атаулар, нұсқалар, ID мен күндер сияқты нақты деректерді, сондай-ақ әңгіме барысында қабылданған шешімдерді қалдырған жөн. Кейде келесі қадамның неге пайда болғанын түсіндіретін болса, 1–2 соңғы репликаны сақтау пайдалы.
Тәжірибеде мұның өзі көбіне жеткілікті. Егер пайдаланушы қысқа есепті кесте түрінде, жұмаға дейінгі дедлайнмен және 50 000 теңге лимитімен таңдаса, дәл осы үш факт сұраумен бірге қалуы керек. «Қайырлы күн», «рахмет» және «тағы бір рет қарастырайық» сияқты сөздер тарихты тек үлкейтіп жібереді.
Қайталауларды бірден алып тастаған дұрыс. Егер пайдаланушы бір нәрсені үш рет әртүрлі сөзбен айтса, ең дәл тұжырымды қалдырыңыз. Егер ассистент әрекетті бұрын растаған болса, ол растауды әрі қарай тізбекпен тасымаңыз.
Нені бөлек сақтау керек
Пайдаланушы туралы тұрақты деректерді әр диалогқа ұзын құйрықпен сүйреген дұрыс емес. Оларды бөлек жадыға немесе профильге шығарған жөн. Оған әдетте тіл, рөл, жауап форматы, компания атауы, ішкі келісу ережелері және ұзақ өмір сүретін басқа фактілер кіреді.
Уақытша контекст — тек осы сессияға қатысты нәрсе: өтінім нөмірі, қазіргі қате, таңдалған модель, тәжірибе лимиті, команданың соңғы шешімі. Бүгін маңызды, ертең маңызды емес.
Қарапайым тест бар. Тарихтағы әр жолға мынадай сұрақ қойыңыз: ол тек қазір керек пе, көбіне керек пе, әлде енді керек емес пе. Бірінші түрін чатта қалдырыңыз. Екіншісін жадыға көшіріңіз. Үшіншісін өшіріңіз.
Егер команда LLM сұрауларын AI Router сияқты шлюз арқылы жіберсе, әр шақырылымдағы артық абзацтар тез арада елеулі шығынға айналады. Таза чат тарихы токен санын азайтып қана қоймай, жауапты да дәлірек етеді: контекстте шу аз болғанда, модельге ойды ұстау жеңілірек.
Контексті мағынасын жоғалтпай қалай қысқарту керек
Алдымен кез келген өзгеріссіз орташа сұрауда қанша токен кететінін есептеңіз. Әйтпесе қай әсердің қайдан шыққанын түсінбейсіз. 50–100 нақты диалогты алыңыз да, кіріс көлемін, жауап көлемін және бір қадамның құнын өлшеңіз.
Одан кейін тарихқа қатаң шек қойыңыз. «Шамамен соңғы 20 хабарлама» емес, нақты бюджет: мысалы, бүкіл кіріс үшін 6–8 мың токенге дейін немесе соңғы N реплика плюс жүйелік нұсқаулар. Қатаң лимит бұлыңғыр ережеден пайдалырақ, өйткені чаттың байқалмай үлкеюіне жол бермейді.
Келесі қадамды ретімен жасаңыз. Алдымен жаңа дерек қоспайтын ескі репликаларды алып тастаңыз. Көбіне бұлар алғыс сөздер, қайталаулар, қайта тұжырымдау және аралық нақтылаулар. Содан кейін келесі жауап соған сүйенетін нәрселерді ғана қалдырыңыз: мақсат, шектеулер, соңғы шешімдер, пайдаланушы деректері және ашық сұрақтар.
Егер үлкен бөлікті қиып тастау керек болса, оны үнсіз жоғалтпаңыз. Оның орнына 2–4 жолдық қысқа түйін жасаңыз. Бірақ мұндай түйінде тек фактілерді жазыңыз, әңгіменің баянын емес. Мысалы: «Пайдаланушы B тарифін таңдады, CSV форматындағы есеп керек, күндер бекітілген, форматты өзгертуге болмайды».
Одан кейін контексте модель бұрын қолданып қойған және енді қажет етпейтін бөліктер қалмағанын тексеріңіз. Бұл жиі кездесетін ұсақ нәрсе, бірақ ұзақ сценарийлерде сұрауды дәл осы нәрсе үлкейтеді.
Жақсы түйін әдетте шикі тарихтан бірнеше есе арзан. Бірақ тым қысқа түйін сапаны да бұзады. Егер себептерді, ерекшеліктерді немесе формат туралы келісімдерді алып тастасаңыз, модель «дерлік дұрыс» жауап бере бастайды, ал бұл қымбат қате: бәрі жақын сияқты, бірақ тағы бір сұрау, нақтылау немесе қолмен түзету керек болады.
Жадыны екі қабатқа бөлу пайдалы. Қысқа жады соңғы репликаларды байланыс үшін сақтайды. Ұзын жады тек орнықты фактілерді сақтайды: клиенттің аты, жауап тілі, таңдалған сценарий, тыйымдар, тапсырманың маңызды параметрлері. Сонда сіз әр жаңа шақырылымға бүкіл чатты тасымайсыз.
Нәтижені бір ғана сәтті мысалмен емес, үзілістері, қателері және тақырып ауысуы бар шынайы диалогтармен тексерген дұрыс. Толық тарих пен қысқартылған нұсқаны салыстырыңыз. Тек бағаға емес, модель фактіні, жауап стилін және келесі қадам логикасын жоғалтып алмай ма — соған қараңыз.
Егер ортақ шлюзді қазірдің өзінде қолдансаңыз, мұндай тестті бірнеше модельде бірден жүргізу ыңғайлы. AI Router-де бұл әсіресе қолайлы, өйткені бір OpenAI-үйлесімді интерфейс арқылы бірнеше провайдер мен модельді салыстырып, шығынды нақты диалог жадысы үлкейтіп тұр ма, әлде модель таңдауы ма — соны тез көруге болады.
Қашан мәтінді қысқартқан, ал қашан дереккөзді бөлек сақтаған дұрыс
Егер тапсырма қарапайым болса, ереже де қарапайым болуы керек: деректерді орныққан нәрселер мен модель сөзбе-сөз көруі тиіс нәрселерге бөліңіз. Бұл әдетте промптты ұсақ түзетуден гөрі көбірек токен үнемдейді.
Мағына формадан маңызды болған жерде қысқартқан жөн. Егер тарихта пайдаланушының рөлі, тапсырма статусы, қабылданған шешімдер немесе кездесудің қысқаша қорытындысы орныққан болса, мұның бәрін сапаны жоғалтпай 2–3 жолға сыйғызуға болады. Егер қорытынды қазірдің өзінде анық болса, модельге әңгіме жолының бәрі қажет емес.
Жобаның қысқаша тарихы, бұрын қабылданған шешімдер, пайдаланушының қайталанатын түсіндірулері және бір ғана қорытындыға келіп тірелген ұзақ талқылаулар жақсы қысқарады. Егер жаңа тапсырма ескі хабарламалардың тұжырымдамасына тәуелді болмаса, оларды да түйінмен алмастырған дұрыс.
Мысалы, есеп форматын келісу туралы 40 хабарламаның орнына мынадай жазба жеткілікті: «Есеп қазақша, кесте түрінде, апталық қорытындысымен және артық пікірсіз керек». Келесі сұрау үшін әдетте осының өзі жетеді.
Бірақ еркін түрде қайта айтуға болмайтын нәрселер де бар. Бағалар, лимиттер, тауар кодтары, келісімшарт нөмірлері, ереже мәтіні және заңдық шарттар дәл сол күйінде берілуі керек. Егер модель тарифтегі бір сөзді немесе кодтағы бір санды шатастырса, қате енді стильдік емес, жұмысқа тікелей әсер ететін қате болады.
Сол себепті әр сұрауға тұтас құжатты енгізудің қажеті жоқ. Құжатты бөлек сақтап, жауап беру сәтінде тек керек фрагментті қосқан әлдеқайда орынды. Көптеген ұқыпты production-схема дәл осылай істейді: алдымен релевантты бөлікті табады, сосын оны контекстке қосады.
Пайдаланушының қалауларын да ұзын абзац түрінде сақтамаған дұрыс. Оларды бөлек өрістерге шығарған ыңғайлы: жауап тілі, тон, формат, өлшем бірліктері, тыйымдар. Сонда қолданба қысқа жүйелік блокты өзі құрастырады, ал ескі чатты түгел сүйремейді.
Мұндағы тексеріс қарапайым. Егер мәтінді жадыдағы дәл жазбамен немесе қысқа summary-мен мағынаны бұзбай алмастыруға болса, қысқартыңыз. Егер әрбір тұжырым маңызды болса, дереккөзді бөлек сақтап, тек керек бөлігін беріңіз.
Әртүрлі тапсырмаларға қандай жады таңдау керек
Ең жиі жіберілетін қателіктің бірі — контексте бәрін қатар ұстау. Модель «кейін керек болуы мүмкін» дегенді «қазір керек» деп ажыратпайды, ал сіз екі мәтін түрі үшін де төлейсіз.
Бір реттік сұрау үшін жады аса қажет емес. Егер адам хатты қысқартуды, мәтінді түзетуді немесе бір құжаттан деректерді алып беруді сұраса, модельге мәтіннің өзі мен қысқа нұсқау жеткілікті. Мұндайда ескі чат тарихы тек кірісті үлкейтеді.
Жұмыс жадысын тар ұстаған дұрыс. Ол тапсырма бірнеше хабарламаға созылғанда керек болады: команда SQL сұрауын түзеп жатыр, қолдау үшін промпт құрастырып жатыр немесе бір кейс бойынша жауапты нақтылап жатыр. Мұндай жадыда қазіргі мақсат, соңғы шешімдер, шектеулер және келесі жауапты нашарлататын бірнеше ғана факт өмір сүруі керек.
Ұзын жадыны бөлек — пайдаланушы немесе команда профильінде сақтаған дұрыс. Әдетте оған жауап тілі, рөл, шығыс форматы, тыйымдар, жиі кездесетін қалаулар және бизнестің тұрақты ережелері кіреді. Бұл нақты бір кейстің бөлігі емес, сондықтан мұндай деректерді әр хабарламаға тұтас енгізудің қажеті жоқ.
Банк ішіндегі көмекшіні елестетіңіз. Бір аналитик әрдайым жауапты қазақша, қысқа кесте түрінде, сомаларды теңгемен беруді сұрайды. Бұл баптауларды профильде сақтауға болады. Ал клиенттің қазіргі өтінімінің бөлшектері, даулы лимит және есептің соңғы түзетуі — бұл жұмыс жадысы, және ол тек сол кейс жүріп жатқанда ғана керек.
Тақырып өзгерсе, жұмыс жадысын тазалау керек. Егер әңгіме келісімшартты тексеруден клиент өтініштерін талдауға ауысса, ескі переписка модельді тек кедергі етеді және шатастырады. Кейін керек болса, қорытындыны сақтаңыз, ал талқылау бөлшектерін алып тастаңыз.
Қысқа ереже былай көрінеді: бір реттік сұрақ үшін тек ағымдағы сұрауды қалдырыңыз, бір кейс үшін қысқа жұмыс тарихын сақтаңыз, тұрақты қалауларды профильге шығарыңыз, тақырып ауысқан соң жұмыс жадысын тазалаңыз.
Бір диалогтағы мысал
Банк клиенті бір істенуді жиі ұзақ әрі айналдырып сипаттайды. Тірі чат үшін бұл қалыпты: адам уайымдайды, барлық детальды бірден есіне түсірмейді, әрекеттерді қайталайды және оператордың нақтылауына жауап береді. Ал модель үшін мұндай тарих қымбатқа түседі, бірақ онда пайдалы фактілер аз.
Айталық, алғашқы сегіз хабарламада клиент бір мәселені бірнеше рет түсіндірді: 14 мамыр күні таңертең ол мобильді қосымшадағы чат арқылы кредиттік картадан аударым жасағысы келген, бірақ бірдей қатені көрген. Ол қосымшаны қайта қосқанын, желіні ауыстырғанын және қайта байқап көргенін айтты, бірақ нәтиже өзгермеді. Қалғанының бәрі — қайталаулар, эмоциялар, кешірім сұраулар және «мен мұны жоғарыда жазғанмын» деген сияқты сөздер.
Келесі қадам үшін бүкіл әңгімені сөзбе-сөз сақтау қажет емес. Өнім түрін, ақау күнін, өтініш арнасын және мәселенің мәнін ғана қалдыру жеткілікті: аударым өтпейді, жүйе қате көрсетеді, қайталап көрген әрекеттер көмектеспеді.
Сегіз хабарламаның орнына модельге қысқа түйін беруге болады:
Клиент мобильді қосымшаның чатына жүгінді.
Өнім: кредиттік карта.
14 мамыр күні таңертең клиент аударым жасауға тырысты, бірақ қате алды. Қосымшаны қайта қосу мен қайта әрекет ету көмектеспеді.
Мағынасы дерлік өзгермейді. Модельге әлі де не болғаны, қай жерде болғаны және бұрын не істеп көргені түсінікті. Негізінен қайталаулар мен артық сөздер жоғалады, ал жауап беруге немесе өтінішті бағыттауға керек фактілер сақталады.
Ақша жағынан айырмашылық әдетте айқын. Толық тарихта қайталаулар мен қызметтік репликалар көп болса, 1200–1800 токенге дейін жетуі мүмкін. Қысқа түйін көбіне 120–200 токенге сияды. Әр жаңа қадамда модель аз мәтін оқығандықтан жауап жылдамырақ келеді.
Егер мұндай диалог тағы 10–15 хабарламаға созылса, үнем әр сұрауда жинала береді. Сондықтан диалог жадысын шексіз чат лентасы ретінде емес, фактілер мен қысқа сводкалар жиыны ретінде сақтаған дұрыс.
Токендер қай жерде босқа кетеді
Көбіне бюджет «ақылды» бөліктерге емес, қайталауға кетеді. Команда әр сұрауға бірдей анықтаманы, саясатты, тарифтер тізімін немесе өнімнің ұзақ сипаттамасын қосады, ал өзгеретіні тек пайдаланушының сұрағы ғана. Егер құжат онша өзгермесе, оны әр хабарламаға тұтас беру әдетте мағынасыз.
Бұдан да тыныш қате бар: бір факт бірден үш жерде өмір сүреді — жүйелік промптта, диалог жадысында және құрал жауабында. Модель қайталанған деректерді оқиды, ал сіз олар үшін қайта-қайта төлейсіз. Уақыт өте көшірмелер бір-бірінен алшақтап кетеді, сол кезде токен ғана емес, біртүрлі жауаптар да көбейеді.
Артық шығынның белгілері бірден көрінеді. Сұрауларда 2–3 мың токендік бірдей анықтамалық блок қайталана береді. Құралға модельге тек бір статус пен бір сома керек болса да, толық JSON қайтады. Чат тарихы әр хабарламадан кейін қысқартылғанымен, әңгіме әлі бір детальға сүйеніп тұр. Пайдаланушы шартты өзгерткенде, ескі түйін жадыда қала береді де, әрі қарай тартыла береді.
Ерте қысқартудың жеке мәселесі бар. Команда тарих қысқарды деп қуанады, бірақ кейін модель маңызды детальды жоғалтады: лимитті, ерекшелікті, күнді немесе әрекетке тыйымды. Содан кейін ол нақтылау сұрайды, құралды артық шақырады немесе жай ғана қателеседі. Бір сұрауда токен аз көрінгенімен, бүкіл сценарийге кеткені көбірек болуы мүмкін.
Бюджетті жұтатын тағы бір жиі нәрсе — құралдардың ұзын жауаптары мен қызметтік құйрықтар. Логтар, шикі кестелер, internal_notes, debug, trace сияқты өрістер, толық HTML немесе JSON үзінділері модельге сирек түгел керек. Келесі қадамға сүйенетін бөлікті ғана беріңіз.
Диалог түйінін де жаңартып отыру керек, архив сияқты үйіп тастауға болмайды. Егер пайдаланушы алдымен тоқсандық есеп сұрап, кейін айлық есепке ауысса, ескі түйінді қайта жазу қажет. Әйтпесе жадыда тапсырманың екі нұсқасы қалады да, модель шатаса бастайды.
Жақсы жұмыс ережесі қарапайым: әр факт бір негізгі жерде сақталады. Анықтамалық бөлек тұрады және керек кезде ғана тартылады. Жады тұрақты қалаулар мен шешімдерді ұстайды. Құрал жауабы тек керек нәтижені қамтиды.
Іске қоспас бұрын жылдам тексеріс
Релиз алдында контекстті код логикасын тексергендей қатаң қарап шығу пайдалы. Егер мәтін блогы модель жауабын өзгертпесе, оны алып тастаңыз. Бір сұраудағы артық 500–1000 токен ұсақ нәрсе сияқты көрінеді, бірақ ұзақ диалогтарда тез-ақ елеулі ақшаға айналады.
«Ұзын контекст үшін артық төлемеудің жолы» сияқты тапсырма үшін мұның өзі жиі жеткілікті: қажет екені дәлелденбейінше бүкіл тарихты сақтауға тырыспаңыз. Модель көлем үшін бонус алмайды. Әдетте оған қысқа әрі нақты кіріс әлдеқайда ыңғайлы.
Ең пайдалы тест — блоктарды бір-бірлеп өшіріп, нәтиже өзгере ме, соны қарау. Егер жауап мағына жағынан сол күйі қалса, ол бөлік шу болған. Жүйелік кеңестерді, чаттың ескі хабарламаларын, білім базасынан алынған ұзын үзінділерді және әдет бойынша әр сұрауға қосылатын қызметтік өрістерді дәл осылай тексеріңіз.
Жеке екі нәрсені бөлек қараңыз: модель нені сөзбе-сөз көруі керек және нені қайта айтып беруге болады. Келісімшарт мәтіні, заң үзіндісі, логтағы қате және пайдаланушының нақты тұжырымы кейде тура дәйексөзді талап етеді. Ал ескі талқылауды, клиенттің өмірбаянын немесе кездесудің ұзын қорытындысын көбіне бірнеше фактке дейін қысқартуға болады.
Іске қоспас бұрын төрт нәрсені тексерсе жеткілікті:
- жауапты нашарлатпайтынның бәрін алып тастау;
- әр блокты жеке тексеру, тек бүкіл контекстті емес;
- сөзбе-сөз дәйексөздерді қысқа жады ретінде сақтауға болатын нәрседен бөлу;
- токен шығынын тек орташа сұрау бойынша ғана емес, ұзақ сирек сценарийлер бойынша да қарау.
Соңғы тармақты жиі өткізіп алады. Орташа чек қалыпты көрінуі мүмкін, бірақ бір сценарий тарихты 8 есе үлкейтеді: ұзақ қолдау чаты, көпқадамды аналитикалық сұрау немесе ескі құралдар мен жауаптарды әр жаңа қадамға сүйреп әкелетін агент.
Егер трафикті бірыңғай шлюз арқылы есептеп жүрсеңіз, токендерді маршруттар мен тапсырма түрлері бойынша бөлек қарау пайдалы. AI Router-де бұл әсіресе ыңғайлы, өйткені бірнеше провайдер мен модельді бір OpenAI-үйлесімді endpoint арқылы салыстырып, шығынды нақты не өсіріп тұрғанын тез көруге болады: диалог жадысының артықтығы ма, әлде модель таңдауы ма.
Әрі қарай неден бастау керек
Бүкіл өнімді бірден жөндеуге тырыспаңыз. Модель жиі ұзын переписка оқитын бір қымбат сценарийді алыңыз да, кез келген өзгеріссіз өлшеңіз. Үш көрсеткішке қараңыз: бір сұрауға қанша токен кетеді, әдеттегі диалог қанша тұрады және жауапқа қанша кідіріс болады.
Күн сайын қолданылатын сценарийді таңдаған жақсы. Мысалы, қолдау чаты, қызметкерлерге арналған ішкі ассистент немесе клиенттің ұзын карточкасын талдау. Осындай бір кейс-ақ контекст қай жерде пайдасыз жұмсалып жатқанын тез көрсетеді.
Келесі қадамда жадыға қарапайым форма беріңіз. Тәжірибеде көбіне үш блок жеткілікті: пайдаланушы туралы фактілер, ағымдағы тапсырма және қысқа қарым-қатынас профилі. Фактілер сирек өзгереді, тапсырманы диалог барысында жаңартып отырасыз, ал профиль тек жауапқа шынымен әсер етсе ғана керек. Қалғанының бәрін әр сұрауға тартудың қажеті жоқ.
Алғашқы прогонды өте қарапайым жасауға болады:
- бірдей диалогты толық тарихпен іске қосу;
- сосын ескі хабарламалардың орнына қысқа түйінмен өткізу;
- бағаны, кідірісті және жауап сапасын салыстыру;
- қысқартудан кейін модель қандай детальдарды жоғалтқанын бөлек қарау.
Егер сапа айырмасы дерлік байқалмаса, сіз жеңіл үнем таптыңыз. Егер жауап нашарласа, бүкіл тарихты қайта қосудың қажеті жоқ. Көбіне жадыға 2–3 факт қосу немесе соңғы хабарламалар блогын қысқартусыз сақтау жеткілікті.
Қарапайым жады шаблонын бекітіп алған пайдалы: пайдаланушының аты мен рөлі, тұрақты шектеулер, ағымдағы сессияның мақсаты, соңғы шешімдер және ашық сұрақтар. Мұндай шаблонды чат тарихында керекті деталь жиырма хабарлама бұрын батып кеткен шексіз ағымнан гөрі ұстау оңай.
Жақсы бастама әдетте жалықтыратын болып көрінеді, бұл қалыпты: бір кесте, бір сценарий, контексттің екі нұсқасы және ақшадағы түсінікті айырмашылық. Содан кейін ғана қай жерде түйін енгізу, қай жерде жадыны бөлек сақтау, ал қай жерде ұзын контекст шынымен қажет екенін көруге болады.
Жиі қойылатын сұрақтар
Егер ұзын контекстке кететін шығын қазірдің өзінде өсіп жатса, неден бастау керек?
Өлшеуден бастаңыз. 50–100 нақты диалогты алып, кіріс, жауап және бүкіл қадам бойынша қанша токен кететінін қараңыз. Сосын бір-бірден блоктарды алып тастаңыз: ескі репликалар, құжаттардан ұзын үзінділер, құралдардың толық шығысы. Сонда қай жер артық шығын әкелетінін тез көресіз.
Чат тарихынан нені сенімді түрде алып тастауға болады?
Әдетте сәлемдесулер, алғыс айту, қайталаулар, қайта тұжырымдау және «ок, түсіндім» сияқты ескі растауларды зиянсыз алып тастауға болады. Егер бір фрагмент келесі жауапты өзгертпесе, оны әрі қарай тартпаған дұрыс. Чатта бүкіл хабарлама ағымын емес, мағынаны ұстаған жөн.
Контексте қандай деректерді қалдырған дұрыс?
Келесі қадамда модель қателеспейтін нәрсені ғана қалдырыңыз. Бұл — пайдаланушының мақсаты, тапсырманың қазіргі күйі, жауап тілі, форматы, мерзімдер, шектеулер, нақты атаулар, нұсқалар, күндер, ID және бұрын қабылданған шешімдер. Кейде жаңа сұрақты түсіндіретін болса, тағы 1–2 соңғы реплика жеткілікті.
Ескі хабарламаларды қашан қысқа түйінге ауыстырған дұрыс?
Мазмұн тұрақтанып, нақты сөздер нәтиже өзгерпейтін кезде тарихты қысқартыңыз. Мысалы, есеп форматын ұзақ талқылауды қысқа қорытынды жазбасымен алмастыруға болады. Егер жаңа тапсырма ескі тұжырымдарға тәуелді болмаса, түйін көбіне арзан әрі ыңғайлырақ.
Нені өз сөзімізбен қысқартуға болмайды?
Бағалар, лимиттер, кодтар, келісімшарт нөмірлері, ережелер мәтіні және заңдық шарттарды еркін түрде қайта айтпаңыз. Мұнда әрбір тұжырым мен әрбір сан маңызды. Мұндай нәрселерді бөлек сақтап, сұрауға тек керек бөлігін ғана берген дұрыс.
Пайдаланушының тұрақты баптауларын қайда сақтау керек?
Тұрақты қалауларды профильге немесе бөлек жадыға шығарған дұрыс. Оған әдетте тіл, рөл, жауап форматы, өлшем бірліктері және ішкі ережелер кіреді. Сонда қосымша ұзын ескі диалогты сүйремей, қолданба қысқа өрістерді ғана қояды.
Чат тарихына қандай лимит қойған дұрыс?
Көп сценарийде бүкіл кіріс үшін қатаң шек жеткілікті, мысалы 6–8 мың токен, оған жүйелік промпт пен жұмыс тарихы да кіреді. Мұндай лимитті бақылау оңайырақ, әрі чат байқалмай үлкейіп кетпейді.
Неге қысқа сұрақтың өзі қымбатқа түсуі мүмкін?
Себебі сұрақтың өзі аз орын алады, ал оның айналасына жүйе көп мәтін қосады. Қымбатқа түсетіндер — жүйелік промпт, тарих үзінділері, құжат фрагменттері, JSON, логтар және құралдардың жауаптары. Нәтижесінде пайдаланушы бір ғана сөйлем жазады, ал модель бірнеше мың токен оқиды.
Контексті шамадан тыс қысқартып жібергенімді қалай түсінемін?
Жауап сапасын бір ғана сұраудың бағасымен емес, келесі қадамның сапасымен салыстырыңыз. Егер модель күнді, лимитті, ерекшелікті, тыйымды жоғалтып алса немесе артық нақтылау сұрай бастаса, сіз контексті тым қатты қысқартқансыз. Ондайда 2–3 фактіні қайта қосыңыз немесе соңғы хабарламалар блогын қысқартусыз қалдырыңыз.
Модельге құралдың толық жауабын жіберу керек пе?
Жоқ, толық шығыс сирек қажет. Егер құрал үлкен JSON, кесте, лог немесе HTML қайтарса, келесі жауапты құруға керек өрістерді ғана алыңыз. Сонда модель аз қоқыс оқиды, жылдамырақ жауап береді және детальдарда сирек шатасады.