* feat(docs): mirror every docs/ page in all 65 locales Extends the documentation mirrors from the 22-page core set (#13940) to every Markdown page under docs/: 152 sources x 65 locales = 9,880 mirrors (6,208 new), language bars rewritten for the full locale list, state adopted so the blocking drift gate now covers all 152 pages. run-translation.mjs: an oversized block made only of table rows or list items (PROVIDER_REFERENCE.md 244-row table, FREE_TIERS.md 71-item list) is cut at item boundaries and rejoined without a blank line — the single 16-40 KB request outlived the backend socket for verbose scripts. 48 older mirrors whose tables had lost rows were retranslated with --force. * docs(i18n): refresh mirrors for the sources the base changed since the branch cut Section-level retranslation of the 29 docs (and README.md) whose source or mirrors moved on release/v3.8.51 during the run, then state adoption; the drift gate is green again on the merged tree.
46 KiB
🗜️ Prompt Compression Guide — OmniRoute (Српски)
🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇦🇲 hy · 🇮🇩 id · 🇳🇬 ig · 🇮🇹 it · 🇯🇵 ja · 🇬🇪 ka · 🇰🇭 km · 🇮🇳 kn · 🇰🇷 ko · 🇱🇹 lt · 🇱🇻 lv · 🇮🇳 ml · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇲🇲 my · 🇳🇵 ne · 🇳🇱 nl · 🇳🇴 no · 🇮🇳 or · 🇮🇳 pa · 🇵🇭 phi · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇱🇰 si · 🇸🇰 sk · 🇸🇮 sl · 🇸🇪 sv · 🇰🇪 sw · 🇮🇳 ta · 🇮🇳 te · 🇹🇭 th · 🇹🇷 tr · 🇺🇦 uk-UA · 🇵🇰 ur · 🇺🇿 uz · 🇻🇳 vi · 🇳🇬 yo · 🇨🇳 zh-CN · 🇹🇼 zh-TW
Аутоматски уштедите 15–95% на погодном контексту. За кратак преглед погледајте одељак README-а о компресији.
Преглед
OmniRoute примењује модуларан процес компресије упита који се извршава проактивно, пре него што захтеви стигну до узводних провајдера. То значи да се токени штеде транспарентно — нису потребне никакве промене у вашем начину рада.
Захтев клијента
→ Избор стратегије компресије
→ Замена подешавањем комбинације? → Користи подешавање комбинације
→ Праг аутоматског активирања? → Користи аутоматски режим
→ Подразумевани режим? → Користи глобално подешавање
→ Искључено? → Прескочи компресију
→ Изабрани режим компресије
→ Искључено: Без компресије
→ Лаки: Безбедно чишћење размака/форматирања (~15%)
→ Стандардни: Уклањање сувишних речи у телеграфском стилу (~30%)
→ Агресивни: Старење историје + сажимање (~50%)
→ Ултра: Хеуристичко орезивање + проређивање блокова кода (~75%)
→ RTK: Филтрирање излаза терминала/алата прилагођено командама (узводни опсег 60–90%)
→ Наслагани: Уређени процес са више механизама, обично RTK па Caveman (опсег од 78–95% погодног садржаја)
→ Компримовани захтев → Провајдер
Режими компресије
Искључено
Компресија се не примењује. Све поруке пролазе без измена.
Лаки режим (~15% уштеде, кашњење <1ms)
Најбезбеднији режим — без семантичких промена, само чишћење форматирања:
| Техника | Опис |
|---|---|
collapseWhitespace |
Спаја узастопне празне редове и уклања размаке на крају |
dedupSystemPrompt |
Уклања дуплиране системске поруке |
compressToolResults |
Компримује опширне излазе алата/функција |
removeRedundantContent |
Уклања поновљена упутства |
replaceImageUrls |
Скраћује URI-је са base64 подацима слика |
Најбоље за: Сталну употребу и токове рада у којима је безбедност од пресудног значаја.
Стандардни режим (~30% уштеде)
Инспирисан алатом Caveman — уклања сувишне речи и опширне формулације уз очување значења:
- Уклања поштапалице („молим“, „мислим“, „у суштини“, „заправо“)
- Сажима опширне изразе („како би“ → „да“, „као резултат“ → „због“)
- Уклања учтиво ублажавање („Да ли бисте могли...“, „Ако бисте можда могли...“)
- Више од 30 regex правила прилагођених упитима за програмирање
Најбоље за: Свакодневне програмерске токове рада и тимове који воде рачуна о трошковима.
Агресивни режим (~50% уштеде)
Паметно управљање историјом за дуге сесије:
- Старење порука — старије поруке се прогресивно компримују
- Сажимање резултата алата — дуги излази алата замењују се сажецима
- Заштита структурног интегритета — осигурава доследност парова
tool_use+tool_result - Уважавање контекстног прозора — поштује ограничења броја токена за сваки модел
Најбоље за: Продужене сесије отклањања грешака и велике базе кода.
Ултра режим (~75% уштеде)
Максимална компресија за сценарије у којима су токени критични:
- Хеуристичко орезивање — уклања поруке испод прага релевантности
- Проређивање блокова кода — компримује понављајуће примере кода
- Скраћивање бинарном претрагом — проналази оптималну тачку скраћивања за контекстни прозор
- Укључује све функције агресивног режима
Најбоље за: Ситуације у којима често достижете ограничења контекста.
RTK режим (узводни опсег 60–90%)
RTK режим је оптимизован за опширне излазе алата који се појављују у сесијама програмерских агената:
- Препознаје класе команди/излаза као што су
git status,git diff,git log, покретачи тестова, TypeScript/Vite/Webpack израде, ESLint/Biome/Prettier, npm провере/инсталације, Docker евиденције, инфраструктурни излаз и генерички излаз љуске - Примењује пакете JSON филтера из
open-sse/services/compression/engines/rtk/filters/ - Увози филтере RTK TOML шеме v1 из пројектних или глобалних
filters.tomlдатотека, са провером уграђених тестова и условљавањем поверењем за пројектне датотеке - Испоручује 49 уграђених филтера са уграђеним примерима за проверу
- Уклања ANSI контролне секвенце, траке напретка, поновљене редове и небитни шум
- Задржава неуспехе, грешке, упозорења, измењене датотеке, сажетке и завршетак дугог излаза
- Подржава пројектне филтере условљене поверењем, глобалне филтере и опциони опоравак редигованог сировог излаза
Најбоље за: Сесије агената са транскриптима љуске, израде, тестирања, git-а, grep-а и излаза датотека.
Наслагани режим (опсег од 78–95% погодног садржаја)
Наслагани режим покреће више механизама за компресију детерминистичким редоследом. Подразумевани процес је:
RTK -> Caveman
Овај редослед најпре сажима излаз терминала/алата, а затим примењује Caveman семантичко сажимање на преостали упит на природном језику. Наслагани процеси могу се конфигурисати глобално или путем комбинација компресије додељених комбинацијама усмеравања.
Најбоље за: Мешовити контекст са великим евиденцијама алата, заједно са људским упутствима или сажецима асистента.
Математика уштеде из изворних пројеката
OmniRoute документује уштеде захваљујући компресији из два извора: мерења перформанси изворних пројеката и сопственог комбиновања механизама у оквиру OmniRoute-а.
| Извор | Број из README-а изворног пројекта који се овде користи |
|---|---|
| Caveman | ~75% мање излазних токена, просечна уштеда излаза од 65% на тестовима, распон од 22-87% и алат за компресију улаза од ~46% |
| RTK | Уштеда од 60-90% на излазу команди; пример сесије: ~118,000 -> ~23,900 токена, односно уштеда од 79.7% (~80%) |
За преклапајуће садржаје алата/контекста, подразумевана OmniRoute комбинација надовезује механизме:
RTK -> Caveman
Комбиноване уштеде су мултипликативне, а не адитивне:
combined = 1 - (1 - RTK savings) * (1 - Caveman input savings)
average = 1 - (1 - 0.80) * (1 - 0.46) = 89.2%
range = 1 - (1 - 0.60..0.90) * (1 - 0.46) = 78.4-94.6%
Тај број од 78-95% важи када и RTK и Caveman могу да смање исти улазни/контекстуални садржај.
Caveman режим излазног одговора је засебан: када је омогућен, користе се сопствене Caveman уштеде излаза (просечно 65%,
истакнутих ~75%, распон од 22-87%). Укупне уштеде при наплати зависе од односа улазних упита и излаза.
Шта „подесно” заправо значи
Истакнути распон од 15-95% је стваран, али важи само за редундантан или преопширан садржај — поновљене
редове грешака, евиденцију изградње која непрестано исписује исто упозорење, превелики grep/исписи читања датотека. То
не значи да се при сваком захтеву остварује толика уштеда.
Емпиријски потврђено (tests/unit/compression/stacked-compression-tool-result-savings.test.ts): извршавање
stacked (RTK + Caveman) режима над tool_result блоком у Anthropic формату, који садржи 300 идентичних
редова грешке, дало је уштеду од 95.93% токена / 96.26% знакова — тачно у оквиру оглашеног
распона. Међутим, исти процес примењен на нормалан, нередундантан излаз алата (чиста листа grep подударања,
кратко читање датотеке, обичан разговорни текст) исправно даје уштеду близу нуле, јер
нема ничег што се понавља и validateCompression() (validation.ts) одбија да пошаље
прерађен садржај који би изоставио или изменио блокове кода, URL адресе, наслове, верзије или идентификаторе константи исписане СВИМ ВЕЛИКИМ СЛОВИМА.
Ово је очекивано и безбедно понашање, а не грешка: сесија програмирања која углавном чита/претражује чисте датотеке помоћу grep
оствариће скромну укупну уштеду чак и када је компресија у потпуности омогућена, док ће сесија која наиђе на неуспешну
петљу или преопширан линтер остварити пуни распон од 78-95% на том саобраћају. Немојте користити низак
проценат укупне уштеде једне сесије као доказ да је компресија погрешно конфигурисана — прво проверите да ли је
основни излаз алата заиста био редундантан.
Визуелизација уштеде токена
Без компресије: 47K токена послато LLM-у
Са Lite: 40K токена послато (уштеда 15% — безбедно, увек укључено)
Са Standard: 33K токена послато (уштеда 30% — правила Caveman говора)
Са Aggressive: 24K токена послато (уштеда 50% — старење + сажимање)
Са Ultra: 12K токена послато (уштеда 75% — хеуристичко орезивање)
Са RTK: 19K-5K токена послато (уштеда 60-90% на излазу команди/алата)
Са Stacked: 10K-2.5K токена послато (подесни RTK+Caveman распон од 78-95%)
Конфигурација
Контролна табла
Идите на Dashboard → Context & Cache:
- Caveman — избор режима, језички пакети, преглед и глобалне подразумеване вредности
- RTK — преглед филтрирања команди, RTK безбедносна подешавања и каталог филтера
- Комбинације компресије — именовани ланци механизама додељени комбинацијама рутирања
- Праг аутоматског активирања — аутоматски активира компресију када број токена премаши праг
Замена по комбинацији
У одељку Dashboard → Context & Cache → Compression Combos доделите комбинацију компресије комбинацији
рутирања:
Комбинација: "free-tier-fallback"
Комбинација компресије: "coding-agent-stack"
Ланац: RTK -> Caveman
Циљеви:
1. if/kimi-k2.7-code
2. if/qwen3.8-max-preview
Ово вам омогућава да користите вишеслојну компресију код бесплатних добављача/добављача за програмирање, док задржавате лаки режим за плаћене претплате.
Ова додела „замене по комбинацији“ представља другачију контролу од замене режима компресије комбинације
рутирања (Default/Off/Lite/Standard/Aggressive/Ultra) — та замена не бира именовани
ланац комбинације компресије; она само поставља поље compressionMode које користи
resolveCompressionPlan. Може се поставити на картици комбинације (Dashboard → Combos) или, од
#6760, за сваку комбинацију рутирања у листи „Додели рутирању“ у одељку
Dashboard → Context & Cache → Compression Combos, одмах поред поља за потврду доделе ланца
документованог изнад. Оба интерфејса чувају податке путем исте крајње тачке PUT /api/combos/{id}.
Замена по захтеву
Пошаљите заглавље захтева x-omniroute-compression да бисте заменили план компресије за један
захтев. Оно има највиши приоритет — надјачава замену комбинације рутирања, активни профил,
аутоматско активирање и подразумевану вредност панела. Непознате вредности се игноришу (захтев се никада не одбија), а
глобални главни прекидач и даље контролише све: када је компресија глобално искључена, заглавље не може
да је укључи. Вредности:
| Вредност | Ефекат |
|---|---|
off |
Нема компресије за овај захтев. |
default |
Подразумевани профил изведен из панела (игнорише активни профил). |
engine:<id> |
Један механизам, када је омогућен, нпр. engine:rtk. |
<combo> |
Именована комбинација, прво упарена по имену (без обзира на величину слова), а затим по ID-у. |
Примењени план се враћа у заглављу одговора X-OmniRoute-Compression: <mode>; source=<source>,
где је <source> једно од request-header, routing-override, active-profile,
auto-trigger, default или off.
API
# Преузимање подешавања компресије
curl http://localhost:20128/api/settings/compression
# Ажурирање подешавања компресије
curl -X PUT http://localhost:20128/api/settings/compression \
-H "Content-Type: application/json" \
-d '{"defaultMode":"stacked","autoTriggerMode":"stacked","autoTriggerTokens":32000}'
# Преглед одређеног RTK/stacked садржаја
curl -X POST http://localhost:20128/api/compression/preview \
-H "Content-Type: application/json" \
-d '{"mode":"rtk","messages":[{"role":"tool","content":"npm test output here"}]}'
# Навођење пакета RTK филтера
curl http://localhost:20128/api/context/rtk/filters
# Директно тестирање RTK-а са опционалним метаподацима команде
curl -X POST http://localhost:20128/api/context/rtk/test \
-H "Content-Type: application/json" \
-d '{"command":"npm test","text":"FAIL tests/example.test.ts\nError: boom"}'
Шта се штити
Механизам за компресију увек чува:
- ✅ Блокове кода (ограђене и уметнуте)
- ✅ URL адресе и путање датотека
- ✅ JSON структуре и структуриране податке
- ✅ Идентификаторе и заштићене техничке токене
- ✅ Математичке изразе
- ✅ Дефиниције позива алата/функција
- ✅ Системске упите (у lite режиму)
Опоравак сировог RTK излаза редигује уобичајене API кључеве, bearer токене, Slack токене, AWS приступне кључеве, лозинке, токене и тајне пре него што се било шта трајно сачува.
Статистика компресије
Сваки компримовани захтев укључује статистику у серверским евиденцијама:
{
"originalTokens": 47200,
"compressedTokens": 40120,
"savingsPercent": 15.0,
"techniquesUsed": ["collapseWhitespace", "dedupSystemPrompt"],
"mode": "lite",
"engine": "caveman",
"compressionComboId": "coding-agent-stack",
"durationMs": 0.8,
"rtkRawOutputPointers": []
}
План фаза
| Фаза | Режими | Статус |
|---|---|---|
| Фаза 1 | Off, Lite | ✅ Испоручено |
| Фаза 2 | Standard, Aggressive, Ultra | ✅ Испоручено |
| Фаза 3 | RTK, Stacked, комбинације компресије | ✅ Испоручено |
| Фаза 4 | Стилови излаза, Ultra нивоа SLM, оквир за евалуацију | ✅ Испоручено |
| Фаза 4C | Прилагодљиви буџет контекста („dial“) — механизам за израчунавање + API (contextBudget на PUT /api/settings/compression) + контроле режима/политике на контролној табли |
✅ Испоручено |
Захвалнице
Правила компресије у Standard режиму инспирисана су пројектом Caveman аутора JuliusBrussee (⭐ 51K+) — виралним пројектом „зашто користити много токена када мало токена завршава посао“. Caveman наводи ~75% мање излазних токена, просечну уштеду излаза од 65% на референтним тестовима, распон излаза од 22-87% и алат за компресију улаза од ~46%.
RTK режим је инспирисан пројектом RTK - Rust Token Killer организације RTK AI — пројектом високих перформанси за компресију излаза команди за терминал, изградњу, тестирање, git и филтрирање излаза алата. RTK наводи уштеду од 60-90%, док пример сесије у његовом README-у показује уштеду од ~80%.
Напредни системи компресије
Поред 7 стандардних режима, OmniRoute укључује неколико напредних система компресије који раде аутоматски у зависности од контекста.
Компресија свесна кеша
Неки добављачи (попут Anthropic-а са кеширањем упита) подржавају кеширање упита, што им омогућава да кеширају делове упита како би смањили трошкове и кашњење. Када је кеширање омогућено, агресивна компресија заправо може нарушити перформансе јер мења кеширане токене, чиме поништава кеш.
Модул cachingAware.ts решава ово тако што открива контекст кеширања и
прилагођава стратегију компресије у складу с тим.
Како функционише
- Откривање контекста кеширања — Скенира тело захтева у потрази за
cache_controlмаркерима - Препознавање добављача који подржавају кеширање — Проверава да ли циљни добављач подржава кеширање
- Прилагођавање стратегије — Спушта
aggressive/ultraнаstandardза добављаче који подржавају кеширање - Прескакање системског упита — Системски упити се обично кеширају, па их не треба компримовати
- Коришћење детерминистичких трансформација — Користе се само трансформације које производе доследан излаз
Пример кода
import {
detectCachingContext,
getCacheAwareStrategy,
} from "@omniroute/open-sse/services/compression/cachingAware";
const body = {
model: "anthropic/claude-sonnet-4.5",
messages: [{ role: "user", content: "Hello" }],
cache_control: { type: "ephemeral" }, // ← Маркер кеша
};
const ctx = detectCachingContext(body, { provider: "anthropic" });
// → { hasCacheControl: true, provider: "anthropic", isCachingProvider: true }
const strategy = getCacheAwareStrategy("aggressive", ctx);
// → { strategy: "standard", skipSystemPrompt: true, deterministicOnly: true }
Када се користи
Компресија свесна кеша је увек укључена — није потребно подешавање. Активира се само када:
- Захтев садржи
cache_controlмаркере - Циљни добављач подржава кеширање упита (Anthropic, OpenAI итд.)
Прогресивно старење
Дуги разговори акумулирају велики број размена порука, али старије размене постају
мање релевантне. Модул progressiveAging.ts смањује ниво детаља порука у зависности од удаљености размене:
- Недавне размене (0-3): Чувају се дословно (сви детаљи)
- Средње старе размене (4-8): Lite компресија (уклањање сувишних размака и сређивање форматирања)
- Старе размене (9+): Caveman компресија (уклањање сувишног садржаја и сажимање)
- Веома старе размене (20+): Интензивно се сажимају или одбацују
Пример кода
import { applyAging } from "@omniroute/open-sse/services/compression/progressiveAging";
const messages = [
{ role: "system", content: "You are a helpful assistant" },
{ role: "user", content: "What is 2+2?" },
{ role: "assistant", content: "4" },
// ... још 50 размена ...
];
const { messages: aged, saved } = applyAging(messages, {
verbatim: 3, // Прве 3 размене: дословно
light: 8, // Размене 4-8: lite компресија
moderate: 20, // Размене 9-20: caveman компресија
// Размене 21+: интензивно сажимање
});
// saved = број уштеђених токена
Када се користи
Прогресивно старење је увек укључено за режиме aggressive и ultra. Посебно је
ефикасно за:
- Дуготрајне сесије програмирања
- Вишедневне разговоре
- Агентске токове рада са много позива алата
Режим пећинског излаза
Модул outputMode.ts убацује упутства у системски промпт како би сам
модел производио сажет, штур излаз („пећински“ стил).
Како функционише
Уместо компримовања улаза, овај режим додаје системски промпт попут:
„Одговори са што мање речи. Прескочи учтивости. Користи кратке реченице.“
Ово је посебно корисно за:
- Генерисање кода (сажетији излаз = мање токена)
- Брза питања и одговоре (нема потребе за опширним објашњењима)
- Пакетну обраду (максимална пропусност)
Када користити
Режим пећинског излаза је опционалан — подесите га преко комбиноване конфигурације:
{
"strategy": "auto",
"config": {
"auto": {
"outputMode": "caveman"
}
}
}
Стилови излаза (каталог)
Горенаведени режим пећинског излаза је застарела путања са једним стилом. Фаза 4 га је уопштила
у каталог стилова излаза који се могу комбиновати: OUTPUT_STYLE_CATALOG у
open-sse/services/compression/outputStyles/catalog.ts. Сваки стил представља упутство у системском промпту
које наводи сам модел да производи економичнији излаз; стилови се могу омогућити
заједно и убацују се редоследом из каталога.
| Стил | id |
Шта ради | Језици упутстава |
|---|---|---|---|
| Штура проза | terse-prose |
Избацује поштапалице/чланове/ограђивање; прецизно задржава техничку суштину. Исти текст као у застарелом режиму пећинског излаза (референциран, а не поново написан). | en, pt-BR, es, de, fr, it, ru, zh, ja, id, vi |
| Мање кода | less-code |
YAGNI лествица: најмања функционална измена, без незахтеваних апстракција. | en, pt-BR, es, de, fr, it, ru, zh, ja, id, vi |
| Коњски реп (лењи старији програмер) | ponytail |
„Најбољи код је код који никада није написан“: поновна употреба > поновно писање, основни узрок > симптом, најкраћа функционална разлика. | en, pt-BR, es, de, fr, it, ru, zh, ja, id, vi |
| Имам ADHD (прво радња) | i-have-adhd |
Прво радња (команда/путања/исечак пре прозе), нумерисани ограничени кораци, ЈЕДАН конкретан следећи корак, без увода/рекапитулације/завршних речи. Прилагођено из ayghri/i-have-adhd (MIT). | en, pt-BR, es, de, fr, it, ru, zh, ja, id, vi |
| Штури CJK (文言) | terse-cjk |
Ултраштури стил класичног кинеског. | zh (ограничено локализацијом: нуди се само када је одређени језик zh) |
Сваки стил долази са три нивоа интензитета — lite, full, ultra — и сваки ниво
се завршава заједничком одредбом о границама, која блокове кода, путање датотека, команде,
текстове грешака, URL-ове и идентификаторе задржава дословно.
Како убацивање функционише
applyOutputStyles() (open-sse/services/compression/outputStyles/apply.ts) усклађује
избор са каталогом (непознати id-ови и стилови који не одговарају локализацији
се одбацују и никада не изазивају грешку), спаја изабрана упутства редоследом из каталога,
додаје одредбу о границама једном и поставља резултат на почетак системског
промпта иза једног маркера идемпотентности ([OmniRoute Output Styles]) — поновна примена
не ради ништа. Када за препознати језик захтева постоји превод, убацује се локализовано
упутство уместо енглеског.
Како омогућити
На контролној табли: Контекст → Подешавања → Компресија — по један ред за сваки стил са прекидачем за укључивање/искључивање и избором нивоа. Програмски, конфигурација компресије чува избор као:
{
"outputStyles": [
{ "id": "i-have-adhd", "level": "full" },
{ "id": "less-code", "level": "lite" }
]
}
Повратна компатибилност: застарела комбинована поставка outputMode: "caveman" и даље ради и мапира се на
terse-prose, бајт-по-бајт идентично старом убацивању на сваком раније подржаном језику.
Избор језика: када је languageConfig.enabled укључен, autoDetect бира
језик најновије корисничке поруке (исти детектор као код механизама за улаз);
искључивање опције autoDetect фиксира defaultLanguage. Искључено → енглески.
Матрица стил × језик фиксирана је тестом
tests/unit/compression/output-styles-i18n-matrix.test.ts: нови стил се не може објавити
без барем pt-BR превода (или експлицитног праћеног изузетка), а
постојећи стил не може неприметно изгубити локализацију. Да бисте додали стил, погледајте
EXTENDING_COMPRESSION.md.
Компресија резултата алата
Модул toolResultCompressor.ts пружа 5 специјализованих стратегија компресије
за резултате алата (позиве функција, излазе агената, резултате претраге итд.):
- Компресија резултата претраге — Уклања сувишне резултате, задржава првих N
- Компресија читања датотека — Скраћује велике датотеке, задржава заглавља/увозе
- Компресија извршавања кода — Задржава само неопходни stdout/stderr
- Компресија упита базе података — Ограничава редове, уклања опширне метаподатке
- Компресија API одговора — Уклања null поља, сажима низове
Када користити
Компресија резултата алата је увек укључена када постоје позиви алата. Није потребна конфигурација.
Наслагани процес
Наслагани режим покреће више механизама узастопно — обично прво RTK (уштеда од 60–90% на излазу алата), а затим Caveman (додатна уштеда од 30% на преосталом тексту). Тиме се постиже укупна уштеда од 78–95%.
Како функционише
Улаз (1000 токена)
→ RTK (филтер који разуме команде) → 200 токена
→ Caveman (уклањање поштапалица) → 140 токена
→ Излаз (140 токена, уштеда од 86%)
Када користити
Користите наслагани режим за:
- Токове рада са интензивном употребом алата (агентско програмирање, истраживање)
- Пакетну обраду осетљиву на трошкове
- Случајеве када вам је потребна максимална уштеда токена
Конфигуришите преко комбиноване конфигурације:
{
"strategy": "auto",
"config": {
"auto": {
"modePack": "stacked"
}
}
}
Замене компресије по комбинацији
Можете да замените глобални режим компресије за сваку комбинацију појединачно како бисте фино подесили понашање за различите случајеве употребе:
{
"id": "coding-combo",
"strategy": "priority",
"config": {
"auto": {
"weights": { "taskFit": 0.5 },
"modePack": "quality-first"
}
},
"compressionOverride": {
"mode": "aggressive",
"stackedPipelines": ["rtk", "caveman"],
"preserveToolDefinitions": true
}
}
Ово је корисно за:
- Комбинације за програмирање: Користите режим
aggressiveза дуге сесије - Комбинације за брза питања и одговоре: Користите режим
liteза брзе одговоре - Комбинације са интензивном употребом алата: Користите режим
stackedза максималну уштеду - Продукционе комбинације: Користите режим
cache-awareза добављаче који подржавају кеширање
Погледајте и
- Конфигурација окружења — Променљиве окружења за компресију
- Водич кроз архитектуру — Унутрашњи механизми цевовода компресије
- Кориснички водич — Почетак рада са компресијом
- RTK компресија — RTK филтери, модел поверења, контролна тачка верификације, опоравак необрађеног излаза
- Механизми компресије — Caveman, RTK,
stacked, API-ји, MCP, контролна табла - Формат правила компресије — Формат JSON пакета правила
- Језички пакети за компресију — Caveman правила специфична за језик