Добици:
- Објасните логику подударања префикса брзог кеширања
- Повећава број погодака у кеш меморији стављањем фиксног контекста на прво и променљивог контекста после
- Може да израчуна економику писања/читања кеша и тачку рентабилности
ЛЛМ производ изгледа јефтино у прототипу; Када се попнете на вагу, рачун изненађује. У већини радних оптерећења, већина рачуна долази из истог фиксног контекста који се шаље изнова и изнова са сваким захтевом: дугачки системски промпт, правилник, референтна документација. Брзо кеширање елиминише управо овај отпад. У овој јединици ћете научити како кеш функционише, како да организујете промпт за хит и како да израчунате тачку рентабилности економије кеша. Када је правилно инсталиран, само он може преполовити ваш рачун или чак ниже.
Како ради кеш меморија? Једно непроменљиво правило
Промпт кеширање је подударање префикса. Добављач привремено чува токене које је обрадио од почетка вашег упита. Ако промпт почиње са истим префиксом на следећем захтеву, овај заједнички део се не израчунава поново; Много је јефтиније за читање од кеширања.
Из овога следи једно непроменљиво правило: Ако се један бајт промени било где у префиксу, цео кеш постаје неважећи од тог тренутка надаље. То јест, фиксни садржај треба да буде на почетку, а променљиви садржај на крају. Ако ставите линију на почетак системског одзива која се мења са сваким захтевом, као што је "Данашњи датум: 18.07.2026", све иза тога неће моћи да уђе у кеш.
Редослед обраде је обично: алати → системски промпт → поруке. Стављате кеш тачку (преломну тачку) на крај фиксног одељка.
Цацхе Ецономи
Кеш има три нивоа цена:
- Уписивање у кеш меморију: Чување по први пут. ~1,25к нормална улазна цена (за складиштење од 5 минута).
- Кеш читање: Читање на следећим захтевима. ~0,1 пута од нормалне улазне цене — то јест, једна десетина.
- Нормалан унос: Део који не улази у кеш меморију и сваки пут се обрађује по пуној цени.
Тачка рентабилности: Први захтев плаћа премију за писање (1,25×). Од другог захтева, очитавање (0,1×) улази у игру. Отприлике, бићете врат и врат на два захтева; Након тога, то је нето уштеда. Што је већи фиксни контекст и што се више захтева поново користи, то је већи добитак.
Сценарио
Да ли кеш меморија ради?
Велики фиксни системски промпт, хиљаде захтева
Да — највећа зарада
Много питања о истим референтним документима
Да
Потпуно другачији кратки текст за сваки захтев
Не — бонус за писање је изгубљен
Једнократни захтев
Не — уопште нема читања
Датум/ИД се мења са сваким захтевом у системском одзивнику
Не — префикс је покварен, погодак је нула
Корак по корак: Како подесити хит промпт?
- Одвојите константу и променљиву. Који садржај се никада не мења (системски промпт, правилник, документација)? Шта се мења са сваким захтевом (корисничко питање, датум, ИД)?
- Ставите константу на почетак. Током обраде, део који је први (алати, систем) мора бити стабилан.
- Ставите променљиву на крај. Актуелно питање корисника, последње.
- Поставите знак на крај границе. Ставите кеш тачку у последњи блок фиксног дела.
- Потврди погодак. Проверите да ли је цацхе_реад_инпут_токенс већи од нуле у пољу за коришћење у одговору. Ако је нула, постоји скривени дисруптор у префиксу.
{ "систем": [ { "типе": "тект", "тект": "{{ларге_цонстант_систем_промпту_анд_рулес}}", "цацхе_цонтрол": { "типе": "ефемерал" } } ], "мессагес": [ { "роле": "усер", "цонтент": "{}]}}_цуррент"
Савет: Не погађајте поготке у кеш меморији, мерите их. Ако је усаге.цацхе_реад_инпут_токенс и даље нула на узастопним захтевима, покреће се тихи прекидач (датетиме.нов() у системском промпту, неуређени ЈСОН, листа алатки која се мења са сваким захтевом). Упоредите необрађени промпт два захтева бајт по бајт и пронађите разлику.
Силент Дисрупторс
Типични обрасци који несвесно оштећују кеш меморију:
# БРЕАКЕР: уграђивање информација у системску линију која се мења са сваким захтевом „Данашњи датум: {{сада}}. Ви сте помоћник...” ← префикс се мења са сваким захтевом, погодак је нула# ТРУЕ: премести променљиву у систем порука: „Ви сте асистент...” {← константа улази у кеш поруке: [{роле:в усер ис цонтент: „То:в}}. ..."}] ← променљива на крају
Остали разбијачи: ЈСОН различито сортиран за сваки захтев (кључеве држите у фиксном редоследу), листа алата се разликује од корисника (алатке се прво обрађују; ништа не иде у кеш ако се промени), промена модела усред разговора (кешови су специфични за модел).
Слаба промпт / Јака промпт (структура прилагођена кешу)
# СЛАБО (изградња кеш меморије) систем: "Датум: 18.07.2026 14:32. Корисник: Ахмет (ид 8842). Ви сте бот за подршку. Правила: ...(2000 токена)..."
# СТРОНГ (структура прилагођена кешу) систем: "Ви сте бот за подршку. Правила: ...(2000 токена, никада се не мења)..." [кеш знак]поруке: [ { роле: усер, цонтент: "Датум: 18.07.2026 14:32. ИД корисника: 8842. Питање: како да покренем рефундирање?" }]
У слабој верзији, блок правила од 2000 токена се обрађује по пуној цени на сваки захтев. У јакој верзији, исти блок се пише једном и чита на свим наредним захтевима за десетину цене.
Три мини кућишта
Случај 1 — Кеширање правилника. Рачуноводствена аутоматизација је додавала правилник о 12.000 токена на сваку фактуру; 5.000 захтева дневно. Унос без кеширања кошта ~180 долара дневно. Задржали су правилник константним и кеширали га: први захтеви су плаћали премију за писање, накнадна читања 0,1×. Улазни трошкови су пали од ~90% на ~18 долара дневно.
Случај 2 — Цена скривене датумске линије. Један тим је поставио кеш, али није добијао погодак; цацхе_реад_инпут_токенс је увек била нула. Разлог: У првом реду системског одзива било је датетиме.нов(), префикс се мењао са сваким захтевом. Када смо померили датум у корисничку поруку, стопа погодака је изненада порасла са 0% на 94%.
Случај 3 — Загубљен кеш. Апликација за претрагу је слала потпуно различите кратке упите са сваким захтевом; Нестрпљиво су додали знак кеша. Без заједничког префикса, сваки захтев је плаћао само премију за писање, без читања — повећавајући цену. Уклонили су знак. Лекција: кеш се плаћа само ако постоји велики и константан префикс који се поново користи.
Уобичајене грешке
- Мешање константе и променљиве: Када је садржај променљиве у префиксу, погодак се ресетује.
- Уграђивање датума/ИД-а у системски промпт: Најчешћи тихи дисруптор.
- Не мерење поготка: Ако цацхе_реад_инпут_токенс није означен, губитак неће бити примећен.
- Додавање кеша када не постоји јавни префикс: Плаћате само премију за писање, цена се повећава.
- Промена листе возила или модела: Префикс је покварен од почетка; све је преписано.
- Заборављање минималне величине кеша: Веома кратке кеш меморије (испод ~1–4к токена у зависности од модела) неће тихо ући у кеш.
Дубље: Дизајнирање кеша према типу радног оптерећења
Стварна исплата кеширања варира у зависности од природе вашег посла; па се прво упознајте са својим саобраћајем. Три типична шаблона и исправна инсталација:
Заједнички системски промпт, различита питања. Најчешћи образац предузећа: велики системски упит (улога, правила, можда референтни документ) са стотинама различитих корисничких питања. Овде се фиксни део (систем) иницијално кешује; свако ново питање плаћа пуну цену само за свој мали део. Добитак је веома висок јер се велики део рецитује више пута по десетини цене.
Вишекружни монолог. Како се разговор одуговлачи, сваки нови круг се надовезује на сву претходну историју. Ако ставите кеш заставицу на крај последње рунде, сваки захтев поново користи претходни префикс разговора; погоци се акумулирају како разговор расте. Ово драматично обуздава трошкове дугих асистената.
Дељени префикс је последњи део који треба променити. Више захтева дели велики скуп фиксних приоритета (скуп примера, упутства), али су раздвојени једним питањем на крају. Стављате кеш показивач на крај дељеног дела; У супротном, сваки захтев би написао своју засебну кеш меморију и ништа од тога не би било прочитано.
Једно упозорење: кеш меморија зависи од модела и одређене минималне величине. Веома мали префикси (испод неколико хиљада токена, у зависности од модела) неће тихо ући у кеш чак и ако их означите — цацхе_цреатион_инпут_токенс остаје нула. Такође, промена модела усред разговора поништава цео кеш; Ако други задатак захтева јефтин модел, задржите главни ток у једном моделу и ставите споредни посао у посебан позив.
Укратко
Промпт кеширање је подударање префикса: фиксни садржај треба да буде на почетку, променљиви садржај треба да буде на крају. За велики, поново коришћени контекст, цена читања је десетина пуне цене, што је отприлике чак ни за два захтева. Најчешћа грешка је оштећење префикса уграђивањем променљивих података у системску линију; Погодак потврђујете мерењем у пољу за коришћење.
Задатак апликације
Изаберите радно оптерећење. (1) Поделите садржај у две колоне: „никад се не мења“ и „мења се са сваким захтевом“. (2) Поново нацртајте структуру промпта, стављајући константни део на почетак, а променљиви део на крај. (3) Процените величину токена фиксног дела и упоредите месечне трошкове са/без кеша. (4) Забележите из којег поља (цацхе_реад_инпут_токенс) ћете верификовати погодак.
контролна листа
- [ ] Могу да објасним да је кеш подударање префикса и једино непроменљиво правило.
- [ ] Могу да повећам тачност тако што ћу фиксни садржај ставити на почетак и променљиву на крај.
- [ ] Знам економију писања/читања и тачку рентабилности са два захтева.
- [ ] Могу да препознам нечујне ометаче (датум, неуређени ЈСОН, листа возила која се мења).
- [ ] Могу да проверим погодак помоћу усаге.цацхе_реад_инпут_токенс.