# ЁЯЧЬя╕П Prompt Compression Guide тАФ OmniRoute (рдорд░рд╛рдареА) ЁЯМР **Languages:** ЁЯЗ║ЁЯЗ╕ [English](../../../../compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗкЁЯЗ╣ [am](../../../am/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗ╕ЁЯЗж [ar](../../../ar/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗжЁЯЗ┐ [az](../../../az/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗзЁЯЗм [bg](../../../bg/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗзЁЯЗй [bn](../../../bn/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗзЁЯЗж [bs](../../../bs/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗиЁЯЗ┐ [cs](../../../cs/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗйЁЯЗ░ [da](../../../da/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗйЁЯЗк [de](../../../de/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗмЁЯЗ╖ [el](../../../el/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗкЁЯЗ╕ [es](../../../es/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗкЁЯЗк [et](../../../et/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗоЁЯЗ╖ [fa](../../../fa/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗлЁЯЗо [fi](../../../fi/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗлЁЯЗ╖ [fr](../../../fr/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗоЁЯЗк [ga](../../../ga/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗоЁЯЗ│ [gu](../../../gu/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗ│ЁЯЗм [ha](../../../ha/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗоЁЯЗ▒ [he](../../../he/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗоЁЯЗ│ [hi](../../../hi/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗнЁЯЗ╖ [hr](../../../hr/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗнЁЯЗ║ [hu](../../../hu/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗжЁЯЗ▓ [hy](../../../hy/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗоЁЯЗй [id](../../../id/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗ│ЁЯЗм [ig](../../../ig/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗоЁЯЗ╣ [it](../../../it/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗпЁЯЗ╡ [ja](../../../ja/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗмЁЯЗк [ka](../../../ka/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗ░ЁЯЗн [km](../../../km/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗоЁЯЗ│ [kn](../../../kn/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗ░ЁЯЗ╖ [ko](../../../ko/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗ▒ЁЯЗ╣ [lt](../../../lt/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗ▒ЁЯЗ╗ [lv](../../../lv/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗоЁЯЗ│ [ml](../../../ml/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗ▓ЁЯЗ╛ [ms](../../../ms/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗ▓ЁЯЗ╣ [mt](../../../mt/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗ▓ЁЯЗ▓ [my](../../../my/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗ│ЁЯЗ╡ [ne](../../../ne/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗ│ЁЯЗ▒ [nl](../../../nl/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗ│ЁЯЗ┤ [no](../../../no/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗоЁЯЗ│ [or](../../../or/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗоЁЯЗ│ [pa](../../../pa/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗ╡ЁЯЗн [phi](../../../phi/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗ╡ЁЯЗ▒ [pl](../../../pl/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗ╡ЁЯЗ╣ [pt](../../../pt/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗзЁЯЗ╖ [pt-BR](../../../pt-BR/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗ╖ЁЯЗ┤ [ro](../../../ro/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗ╖ЁЯЗ║ [ru](../../../ru/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗ▒ЁЯЗ░ [si](../../../si/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗ╕ЁЯЗ░ [sk](../../../sk/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗ╕ЁЯЗо [sl](../../../sl/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗ╖ЁЯЗ╕ [sr](../../../sr/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗ╕ЁЯЗк [sv](../../../sv/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗ░ЁЯЗк [sw](../../../sw/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗоЁЯЗ│ [ta](../../../ta/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗоЁЯЗ│ [te](../../../te/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗ╣ЁЯЗн [th](../../../th/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗ╣ЁЯЗ╖ [tr](../../../tr/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗ║ЁЯЗж [uk-UA](../../../uk-UA/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗ╡ЁЯЗ░ [ur](../../../ur/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗ║ЁЯЗ┐ [uz](../../../uz/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗ╗ЁЯЗ│ [vi](../../../vi/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗ│ЁЯЗм [yo](../../../yo/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗиЁЯЗ│ [zh-CN](../../../zh-CN/docs/compression/COMPRESSION_GUIDE.md) ┬╖ ЁЯЗ╣ЁЯЗ╝ [zh-TW](../../../zh-TW/docs/compression/COMPRESSION_GUIDE.md) --- > рдкрд╛рддреНрд░ рд╕рдВрджрд░реНрднрд╛рд╡рд░ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рддрдкрдгреЗ 15-95% рдмрдЪрдд рдХрд░рд╛. рдЭрдЯрдкрдЯ рдЖрдврд╛рд╡реНрдпрд╛рд╕рд╛рдареА, [README рдордзреАрд▓ Compression рд╡рд┐рднрд╛рдЧ](../README.md#%EF%B8%8F-prompt-compression--save-15-95-eligible-tokens-automatically) рдкрд╣рд╛. ## рдЖрдврд╛рд╡рд╛ OmniRoute рдПрдХ рдореЙрдбреНрдпреБрд▓рд░ рдкреНрд░реЙрдореНрдкреНрдЯ рдХреЙрдореНрдкреНрд░реЗрд╢рди рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рддреЗ, рдЬреА рд╡рд┐рдирдВрддреНрдпрд╛ рдЕрдкрд╕реНрдЯреНрд░реАрдо рдкреНрд░рджрд╛рддреНрдпрд╛рдВрдкрд░реНрдпрдВрдд рдкреЛрд╣реЛрдЪрдгреНрдпрд╛рдкреВрд░реНрд╡реАрдЪ **рд╕рдХреНрд░рд┐рдпрдкрдгреЗ** рдЪрд╛рд▓рддреЗ. рдпрд╛рдЪрд╛ рдЕрд░реНрде рддреБрдордЪреА рдЯреЛрдХрди рдмрдЪрдд рдкрд╛рд░рджрд░реНрд╢рдХрдкрдгреЗ рд╣реЛрддреЗ тАФ рддреБрдордЪреНрдпрд╛ рдХрд╛рд░реНрдпрдкреНрд░рд╡рд╛рд╣рд╛рдд рдХреЛрдгрддреЗрд╣реА рдмрджрд▓ рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╛рд╣реА. ``` рдХреНрд▓рд╛рдпрдВрдЯ рд╡рд┐рдирдВрддреА тЖТ рдХреЙрдореНрдкреНрд░реЗрд╢рди рдзреЛрд░рдг рдирд┐рд╡рдбрдХ тЖТ рдХреЙрдореНрдмреЛ рдУрд╡реНрд╣рд░рд░рд╛рдЗрдб? тЖТ рдХреЙрдореНрдмреЛ рд╕реЗрдЯрд┐рдВрдЧ рд╡рд╛рдкрд░рд╛ тЖТ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд-рдЯреНрд░рд┐рдЧрд░ рдорд░реНрдпрд╛рджрд╛? тЖТ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдореЛрдб рд╡рд╛рдкрд░рд╛ тЖТ рдбреАрдлреЙрд▓реНрдЯ рдореЛрдб? тЖТ рдЬрд╛рдЧрддрд┐рдХ рд╕реЗрдЯрд┐рдВрдЧ рд╡рд╛рдкрд░рд╛ тЖТ Off? тЖТ рдХреЙрдореНрдкреНрд░реЗрд╢рди рд╡рдЧрд│рд╛ тЖТ рдирд┐рд╡рдбрд▓реЗрд▓рд╛ рдХреЙрдореНрдкреНрд░реЗрд╢рди рдореЛрдб тЖТ Off: рдХреЙрдореНрдкреНрд░реЗрд╢рди рдирд╛рд╣реА тЖТ Lite: рд╕реБрд░рдХреНрд╖рд┐рдд рд╡реНрд╣рд╛рдЗрдЯрд╕реНрдкреЗрд╕/рдлреЙрд░рдореЕрдЯрд┐рдВрдЧ рд╕реНрд╡рдЪреНрдЫрддрд╛ (~15%) тЖТ Standard: Caveman-рд╢реИрд▓реАрддреАрд▓ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╢рдмреНрдж рдХрд╛рдврдгреЗ (~30%) тЖТ Aggressive: рдЗрддрд┐рд╣рд╛рд╕рд╛рдЪреЗ рдХрд╛рд▓рдмрд╛рд╣реНрдпреАрдХрд░рдг + рд╕рд╛рд░рд╛рдВрд╢реАрдХрд░рдг (~50%) тЖТ Ultra: рд╣реНрдпреБрд░рд┐рд╕реНрдЯрд┐рдХ рдЫрд╛рдЯрдгреА + рдХреЛрдб-рдмреНрд▓реЙрдХ рд╡рд┐рд░рд│ рдХрд░рдгреЗ (~75%) тЖТ RTK: рдХрдорд╛рдВрдб-рдЬрд╛рдЧрд░реВрдХ рдЯрд░реНрдорд┐рдирд▓/рдЯреВрд▓-рдЖрдЙрдЯрдкреБрдЯ рдлрд┐рд▓реНрдЯрд░рд┐рдВрдЧ (60-90% рдЕрдкрд╕реНрдЯреНрд░реАрдо рд╢реНрд░реЗрдгреА) тЖТ Stacked: рдХреНрд░рдордмрджреНрдз рдорд▓реНрдЯреА-рдЗрдВрдЬрд┐рди рдкрд╛рдЗрдкрд▓рд╛рдЗрди, рд╕рд╣рд╕рд╛ рдЖрдзреА RTK рдЖрдгрд┐ рдирдВрддрд░ Caveman (78-95% рдкрд╛рддреНрд░ рд╢реНрд░реЗрдгреА) тЖТ рдХреЙрдореНрдкреНрд░реЗрд╕ рдХреЗрд▓реЗрд▓реА рд╡рд┐рдирдВрддреА тЖТ рдкреНрд░рджрд╛рддрд╛ ``` --- ## рдХреЙрдореНрдкреНрд░реЗрд╢рди рдореЛрдб ### Off рдХреЛрдгрддреЗрд╣реА рдХреЙрдореНрдкреНрд░реЗрд╢рди рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЬрд╛рдд рдирд╛рд╣реА. рд╕рд░реНрд╡ рд╕рдВрджреЗрд╢ рдХреЛрдгрддрд╛рд╣реА рдмрджрд▓ рди рдХрд░рддрд╛ рдкреБрдвреЗ рдкрд╛рдард╡рд▓реЗ рдЬрд╛рддрд╛рдд. ### Lite рдореЛрдб (~15% рдмрдЪрдд, <1ms рд╡рд┐рд▓рдВрдм) рд╕рд░реНрд╡рд╛рдВрдд рд╕реБрд░рдХреНрд╖рд┐рдд рдореЛрдб тАФ рдЕрд░реНрдерд╛рдордзреНрдпреЗ рд╢реВрдиреНрдп рдмрджрд▓, рдХреЗрд╡рд│ рдлреЙрд░рдореЕрдЯрд┐рдВрдЧрдЪреА рд╕реНрд╡рдЪреНрдЫрддрд╛: | рддрдВрддреНрд░ | рд╡рд░реНрдгрди | | ------------------------ | ------------------------------------------------------------- | | `collapseWhitespace` | рд╕рд▓рдЧ рд░рд┐рдХрд╛рдореНрдпрд╛ рдУрд│реА рдЖрдгрд┐ рдУрд│реАрдВрдЪреНрдпрд╛ рд╢реЗрд╡рдЯреА рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕реНрдкреЗрд╕ рдПрдХрддреНрд░ рдХрд░рдгреЗ | | `dedupSystemPrompt` | рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╕рд┐рд╕реНрдЯреАрдо рд╕рдВрджреЗрд╢ рдХрд╛рдвреВрди рдЯрд╛рдХрдгреЗ | | `compressToolResults` | рд╡рд┐рд╕реНрддреГрдд рдЯреВрд▓/рдлрдВрдХреНрд╢рди рдЖрдЙрдЯрдкреБрдЯ рдХреЙрдореНрдкреНрд░реЗрд╕ рдХрд░рдгреЗ | | `removeRedundantContent` | рдкреБрдирд░рд╛рд╡реГрддреНрддреА рдЭрд╛рд▓реЗрд▓реНрдпрд╛ рд╕реВрдЪрдирд╛ рдХрд╛рдвреВрди рдЯрд╛рдХрдгреЗ | | `replaceImageUrls` | base64 рдкреНрд░рддрд┐рдорд╛ рдбреЗрдЯрд╛ URI рд▓рд╣рд╛рди рдХрд░рдгреЗ | **рдпрд╛рд╕рд╛рдареА рд╕рд░реНрд╡реЛрддреНрддрдо:** рдиреЗрд╣рдореА-рд╕рдХреНрд░рд┐рдп рд╡рд╛рдкрд░, рд╕реБрд░рдХреНрд╖рд┐рддрддреЗрдЪреНрдпрд╛ рджреГрд╖реНрдЯреАрдиреЗ рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдХрд╛рд░реНрдпрдкреНрд░рд╡рд╛рд╣. ### Standard рдореЛрдб (~30% рдмрдЪрдд) [Caveman](https://github.com/JuliusBrussee/caveman) рдкрд╛рд╕реВрди рдкреНрд░реЗрд░рд┐рдд тАФ рдЕрд░реНрде рдХрд╛рдпрдо рдареЗрд╡реВрди рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╢рдмреНрдж рдЖрдгрд┐ рдкрд╛рд▓реНрд╣рд╛рд│рд┐рдХ рд╡рд╛рдХреНрдпрд░рдЪрдирд╛ рдХрд╛рдвреВрди рдЯрд╛рдХрддреЛ: - рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╢рдмреНрдж рдХрд╛рдврддреЛ ("рдХреГрдкрдпрд╛", "рдорд▓рд╛ рд╡рд╛рдЯрддреЗ", "рдореВрд▓рддрдГ", "рдкреНрд░рддреНрдпрдХреНрд╖рд╛рдд") - рдкрд╛рд▓реНрд╣рд╛рд│рд┐рдХ рд╡рд╛рдХреНрдпрд╛рдВрд╢ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдХрд░рддреЛ ("рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдЙрджреНрджреЗрд╢рд╛рдиреЗ" тЖТ "рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА", "рдпрд╛рдЪрд╛ рдкрд░рд┐рдгрд╛рдо рдореНрд╣рдгреВрди" тЖТ "рдХрд╛рд░рдг") - рд╡рд┐рдирдореНрд░ рдкрдг рд╕рдВрджрд┐рдЧреНрдз рд╡рд╛рдХреНрдпрд░рдЪрдирд╛ рдХрд╛рдврддреЛ ("рддреБрдордЪреА рд╣рд░рдХрдд рдирд╕реЗрд▓ рддрд░...", "рддреБрдореНрд╣рд╛рд▓рд╛ рд╢рдХреНрдп рдЕрд╕рд▓реНрдпрд╛рд╕...") - рдХреЛрдбрд┐рдВрдЧ рдкреНрд░реЙрдореНрдкреНрдЯрд╕рд╛рдареА рдЕрдиреБрдХреВрд▓ рдХреЗрд▓реЗрд▓реЗ 30+ regex рдирд┐рдпрдо **рдпрд╛рд╕рд╛рдареА рд╕рд░реНрд╡реЛрддреНрддрдо:** рджреИрдирдВрджрд┐рди рдХреЛрдбрд┐рдВрдЧ рдХрд╛рд░реНрдпрдкреНрд░рд╡рд╛рд╣, рдЦрд░реНрдЪрд╛рдмрд╛рдмрдд рдЬрд╛рдЧрд░реВрдХ рд╕рдВрдШ. ### Aggressive рдореЛрдб (~50% рдмрдЪрдд) рджреАрд░реНрдШ рд╕рддреНрд░рд╛рдВрд╕рд╛рдареА рд╣реБрд╢рд╛рд░ рдЗрддрд┐рд╣рд╛рд╕ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди: - **рд╕рдВрджреЗрд╢ рдХрд╛рд▓рдмрд╛рд╣реНрдпреАрдХрд░рдг** тАФ рдЬреБрдиреЗ рд╕рдВрджреЗрд╢ рдХреНрд░рдорд╛рдХреНрд░рдорд╛рдиреЗ рдЕрдзрд┐рдХ рдХреЙрдореНрдкреНрд░реЗрд╕ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд - **рдЯреВрд▓ рдкрд░рд┐рдгрд╛рдо рдХреЙрдореНрдкреНрд░реЗрд╢рди** тАФ рд▓рд╛рдВрдмрд▓рдЪрдХ рдЯреВрд▓ рдЖрдЙрдЯрдкреБрдЯ рдХрд╛рдкрд▓реЗ рдХрд┐рдВрд╡рд╛ рд╡рдЧрд│рд▓реЗ рдЬрд╛рддрд╛рдд (рдкрд╣рд┐рд▓реНрдпрд╛/рд╢реЗрд╡рдЯрдЪреНрдпрд╛ рдУрд│реА, рдЬреБрд│рдгрд╛рд▒реНрдпрд╛ рдУрд│реАрдВрдЪреЗ рдлрд┐рд▓реНрдЯрд░рд┐рдВрдЧ, JSON рдХреА рд╕рдВрдХреНрд╖рд┐рдкреНрддреАрдХрд░рдг) - **рд╕рдВрд░рдЪрдирд╛рддреНрдордХ рдЕрдЦрдВрдбрддрд╛ рд╕реБрд░рдХреНрд╖рд╛** тАФ `tool_use` + `tool_result` рдЬреЛрдбреНрдпрд╛ рд╕реБрд╕рдВрдЧрдд рд░рд╛рд╣рддреАрд▓ рдпрд╛рдЪреА рдЦрд╛рддреНрд░реА рдХрд░рддреЗ - **рд╕рдВрджрд░реНрдн рд╡рд┐рдВрдбреЛ рдЬрд╛рдЧрд░реВрдХрддрд╛** тАФ рдкреНрд░рддреНрдпреЗрдХ рдореЙрдбреЗрд▓рдЪреА рдЯреЛрдХрди рдорд░реНрдпрд╛рджрд╛ рдкрд╛рд│рддреЗ **рдпрд╛рд╕рд╛рдареА рд╕рд░реНрд╡реЛрддреНрддрдо:** рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдбреАрдмрдЧрд┐рдВрдЧ рд╕рддреНрд░реЗ, рдореЛрдареЗ рдХреЛрдбрдмреЗрд╕. ### Ultra рдореЛрдб (~75% рдмрдЪрдд) рдЯреЛрдХрдирдЪреНрдпрд╛ рджреГрд╖реНрдЯреАрдиреЗ рдЕрддреНрдпрдВрдд рдорд╣рддреНрддреНрд╡рд╛рдЪреНрдпрд╛ рдкрд░рд┐рд╕реНрдерд┐рддреАрдВрд╕рд╛рдареА рдХрдорд╛рд▓ рдХреЙрдореНрдкреНрд░реЗрд╢рди: - **рд╣реНрдпреБрд░рд┐рд╕реНрдЯрд┐рдХ рдЫрд╛рдЯрдгреА** тАФ рдЧрджреНрдп рдордЬрдХреБрд░рд╛рддреАрд▓ рдЯреЛрдХрдирдЪреА рдЧреБрдг-рдЖрдзрд╛рд░рд┐рдд рдЫрд╛рдЯрдгреА - **рд╕рдВрд░рдЪрдирд╛ рдЬрддрди** тАФ рдлреЗрдиреНрд╕ рдХреЗрд▓реЗрд▓реЗ рдХреЛрдб рдмреНрд▓реЙрдХ, рдЗрдирд▓рд╛рдЗрди рдХреЛрдб, URL рдЖрдгрд┐ рдЖрдпрдбреЗрдВрдЯрд┐рдлрд╛рдпрд░ рдЯреЙрдореНрдмрд╕реНрдЯреЛрди рдХрд░реВрди рд╢рдмреНрджрд╢рдГ рдкреБрдиреНрд╣рд╛ рдЬреЛрдбрд▓реЗ рдЬрд╛рддрд╛рдд; рддреНрдпрд╛рдВрдЪреА рдХрдзреАрд╣реА рдЫрд╛рдЯрдгреА рдХреЗрд▓реА рдЬрд╛рдд рдирд╛рд╣реА - **рдкрд░реНрдпрд╛рдпреА SLM рд╕реНрддрд░** тАФ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗ рдЕрд╕рд▓реНрдпрд╛рд╕, рд▓рд╣рд╛рди рд╕реНрдерд╛рдирд┐рдХ рдореЙрдбреЗрд▓ рдЫрд╛рдЯрдгреА рдЕрдзрд┐рдХ рдкрд░рд┐рд╖реНрдХреГрдд рдХрд░реВ рд╢рдХрддреЗ - Aggressive рдореЛрдбрдкрд╛рд╕реВрди рд╕реНрд╡рддрдВрддреНрд░: рддреЛ рд╕рдВрджреЗрд╢ рдХрд╛рд▓рдмрд╛рд╣реНрдпреАрдХрд░рдг, рдЯреВрд▓-рдкрд░рд┐рдгрд╛рдо рдХреЙрдореНрдкреНрд░реЗрд╢рди рдХрд┐рдВрд╡рд╛ рдлреЙрд▓рдмреЕрдХ рд╕рд╛рд░рд╛рдВрд╢рдХрд╛рд░ рдЪрд╛рд▓рд╡рдд рдирд╛рд╣реА (рдХреЗрд╡рд│ SLM-рд╕реНрддрд░рд╛рддреАрд▓ рдЕрдкрдпрд╢рд╛рдореБрд│реЗ рдлреЙрд▓рдмреЕрдХ рдкрд╛рд╕ aggressive рдордзреВрди рд░реВрдЯ рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ) **рдпрд╛рд╕рд╛рдареА рд╕рд░реНрд╡реЛрддреНрддрдо:** рдЬреЗрд╡реНрд╣рд╛ рддреБрдореНрд╣реА рд╡рд╛рд░рдВрд╡рд╛рд░ рд╕рдВрджрд░реНрдн рдорд░реНрдпрд╛рджреЗрдкрд░реНрдпрдВрдд рдкреЛрд╣реЛрдЪрддрд╛. ### RTK рдореЛрдб (60-90% рдЕрдкрд╕реНрдЯреНрд░реАрдо рд╢реНрд░реЗрдгреА) RTK рдореЛрдб рдХреЛрдбрд┐рдВрдЧ-рдПрдЬрдВрдЯ рд╕рддреНрд░рд╛рдВрдордзреНрдпреЗ рджрд┐рд╕рдгрд╛рд▒реНрдпрд╛ рд╡рд┐рд╕реНрддреГрдд рдЯреВрд▓ рдЖрдЙрдЯрдкреБрдЯрд╕рд╛рдареА рдЕрдиреБрдХреВрд▓рд┐рдд рдХреЗрд▓рд╛ рдЖрд╣реЗ: - `git status`, `git diff`, `git log`, рдЪрд╛рдЪрдгреА рд░рдирд░, TypeScript/Vite/Webpack рдмрд┐рд▓реНрдб, ESLint/Biome/Prettier, npm рдСрдбрд┐рдЯ/рдЗрдиреНрд╕реНрдЯреЙрд▓, Docker рд▓реЙрдЧ, рдЗрдиреНрдлреНрд░рд╛ рдЖрдЙрдЯрдкреБрдЯ рдЖрдгрд┐ рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдг рд╢реЗрд▓ рдЖрдЙрдЯрдкреБрдЯ рдпрд╛рдВрд╕рд╛рд░рдЦреЗ рдХрдорд╛рдВрдб/рдЖрдЙрдЯрдкреБрдЯ рд╡рд░реНрдЧ рд╢реЛрдзрддреЛ - `open-sse/services/compression/engines/rtk/filters/` рдордзреАрд▓ JSON рдлрд┐рд▓реНрдЯрд░ рдкреЕрдХ рд▓рд╛рдЧреВ рдХрд░рддреЛ - рдкреНрд░рдХрд▓реНрдк рдХрд┐рдВрд╡рд╛ рдЬрд╛рдЧрддрд┐рдХ `filters.toml` рдлрд╛рдЗрд▓рдордзреВрди RTK TOML schema v1 рдлрд┐рд▓реНрдЯрд░ рдЖрдпрд╛рдд рдХрд░рддреЛ, рддрд╕реЗрдЪ рдЗрдирд▓рд╛рдЗрди-рдЪрд╛рдЪрдгреА рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЖрдгрд┐ рдкреНрд░рдХрд▓реНрдк рдлрд╛рдЗрд▓рд╕рд╛рдареА рд╡рд┐рд╢реНрд╡рд╛рд╕-рдЖрдзрд╛рд░рд┐рдд рдирд┐рдпрдВрддреНрд░рдг рд▓рд╛рдЧреВ рдХрд░рддреЛ - рдЗрдирд▓рд╛рдЗрди рдкрдбрддрд╛рд│рдгреА рдирдореБрдиреНрдпрд╛рдВрд╕рд╣ 55 рдЕрдВрдЧрднреВрдд рдлрд┐рд▓реНрдЯрд░ рдкреБрд░рд╡рддреЛ - ANSI рдирд┐рдпрдВрддреНрд░рдг рдЕрдиреБрдХреНрд░рдо, рдкреНрд░рдЧрддреА рдкрдЯреНрдЯреНрдпрд╛, рдкреБрдирд░рд╛рд╡реГрддреНрддреА рдЭрд╛рд▓реЗрд▓реНрдпрд╛ рдУрд│реА рдЖрдгрд┐ рдХреГрддреАрдпреЛрдЧреНрдп рдирд╕рд▓реЗрд▓рд╛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдордЬрдХреВрд░ рдХрд╛рдврддреЛ - рдЕрдкрдпрд╢, рддреНрд░реБрдЯреА, рдЗрд╢рд╛рд░реЗ, рдмрджрд▓рд▓реЗрд▓реНрдпрд╛ рдлрд╛рдЗрд▓, рд╕рд╛рд░рд╛рдВрд╢ рдЖрдгрд┐ рд▓рд╛рдВрдм рдЖрдЙрдЯрдкреБрдЯрдЪрд╛ рд╢реЗрд╡рдЯрдЪрд╛ рднрд╛рдЧ рдЬрддрди рдХрд░рддреЛ - рд╡рд┐рд╢реНрд╡рд╛рд╕-рдЖрдзрд╛рд░рд┐рдд рдкреНрд░рдХрд▓реНрдк рдлрд┐рд▓реНрдЯрд░, рдЬрд╛рдЧрддрд┐рдХ рдлрд┐рд▓реНрдЯрд░ рдЖрдгрд┐ рдкрд░реНрдпрд╛рдпреА рд╕рдВрдкрд╛рджрд┐рдд рдХрдЪреНрдЪреЗ-рдЖрдЙрдЯрдкреБрдЯ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддреА рд╕рдорд░реНрдерд┐рдд рдХрд░рддреЛ **рдпрд╛рд╕рд╛рдареА рд╕рд░реНрд╡реЛрддреНрддрдо:** рд╢реЗрд▓, рдмрд┐рд▓реНрдб, рдЪрд╛рдЪрдгреА, git, grep рдЖрдгрд┐ рдлрд╛рдЗрд▓-рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рддрд┐рд▓реЗрдЦ рдЕрд╕рд▓реЗрд▓реА рдПрдЬрдВрдЯ рд╕рддреНрд░реЗ. ### Stacked рдореЛрдб (78-95% рдкрд╛рддреНрд░ рд╢реНрд░реЗрдгреА) Stacked рдореЛрдб рдЕрдиреЗрдХ рдХреЙрдореНрдкреНрд░реЗрд╢рди рдЗрдВрдЬрд┐рди рдирд┐рд╢реНрдЪрд┐рдд рдХреНрд░рдорд╛рдиреЗ рдЪрд╛рд▓рд╡рддреЛ. рдбреАрдлреЙрд▓реНрдЯ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдЕрд╢реА рдЖрд╣реЗ: ```txt RTK -> Caveman ``` рдпрд╛ рдХреНрд░рдорд╛рдореБрд│реЗ рдкреНрд░рдердо рдЯрд░реНрдорд┐рдирд▓/рдЯреВрд▓ рдЖрдЙрдЯрдкреБрдЯ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдареЗрд╡рд▓реЗ рдЬрд╛рддреЗ рдЖрдгрд┐ рдирдВрддрд░ рдЙрд░реНрд╡рд░рд┐рдд рдиреИрд╕рд░реНрдЧрд┐рдХ-рднрд╛рд╖реЗрддреАрд▓ рдкреНрд░реЙрдореНрдкреНрдЯрд╡рд░ Caveman рдЪреЗ рдЕрд░реНрдердкреВрд░реНрдг рд╕рдВрдХреНрд╖рд┐рдкреНрддреАрдХрд░рдг рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЬрд╛рддреЗ. Stacked рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдЬрд╛рдЧрддрд┐рдХ рд╕реНрддрд░рд╛рд╡рд░ рдХрд┐рдВрд╡рд╛ рд░реВрдЯрд┐рдВрдЧ рдХреЙрдореНрдмреЛрдВрдирд╛ рдирд┐рдпреБрдХреНрдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдХреЙрдореНрдкреНрд░реЗрд╢рди рдХреЙрдореНрдмреЛрдВрджреНрд╡рд╛рд░реЗ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реНрдпрд╛ рдЬрд╛рдК рд╢рдХрддрд╛рдд. **рдпрд╛рд╕рд╛рдареА рд╕рд░реНрд╡реЛрддреНрддрдо:** рдореЛрдареЗ рдЯреВрд▓ рд▓реЙрдЧ рддрд╕реЗрдЪ рдорд╛рдирд╡реА рд╕реВрдЪрдирд╛ рдХрд┐рдВрд╡рд╛ рд╕рд╣рд╛рдпреНрдпрдХрд╛рдЪреЗ рд╕рд╛рд░рд╛рдВрд╢ рдЕрд╕рд▓реЗрд▓рд╛ рдорд┐рд╢реНрд░ рд╕рдВрджрд░реНрдн. --- ## рдЕрдкрд╕реНрдЯреНрд░реАрдо рдмрдЪрддреАрдЪреЗ рдЧрдгрд┐рдд OmniRoute рджреЛрди рд╕реНрд░реЛрддрд╛рдВрдордзреВрди рдорд┐рд│рдгрд╛рд▒реНрдпрд╛ рдХреЙрдореНрдкреНрд░реЗрд╢рди рдмрдЪрддреАрдЪреЗ рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдг рдХрд░рддреЗ: рдЕрдкрд╕реНрдЯреНрд░реАрдо рдкреНрд░рдХрд▓реНрдкрд╛рдВрдЪреЗ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдЖрдгрд┐ OmniRoute рдЪреА рд╕реНрд╡рддрдГрдЪреА рдЗрдВрдЬрд┐рди рд░рдЪрдирд╛. | рд╕реНрд░реЛрдд | рдпреЗрдереЗ рд╡рд╛рдкрд░рд▓реЗрд▓реА рдЕрдкрд╕реНрдЯреНрд░реАрдо README рдордзреАрд▓ рд╕рдВрдЦреНрдпрд╛ | | ------- | --------------------------------------------------------------------------------------------------------------- | | Caveman | `~75%` рдХрдореА рдЖрдЙрдЯрдкреБрдЯ рдЯреЛрдХрди, рдмреЗрдВрдЪрдорд╛рд░реНрдХрдордзреАрд▓ рд╕рд░рд╛рд╕рд░реА рдЖрдЙрдЯрдкреБрдЯ рдмрдЪрдд `65%`, `22-87%` рд╢реНрд░реЗрдгреА рдЖрдгрд┐ `~46%` рдЗрдирдкреБрдЯ рдХреЙрдореНрдкреНрд░реЗрд╢рди рд╕рд╛рдзрди | | RTK | рдХрдорд╛рдВрдб-рдЖрдЙрдЯрдкреБрдЯрдордзреНрдпреЗ `60-90%` рдмрдЪрдд; рдирдореБрдирд╛ рд╕рддреНрд░рд╛рдд `~118,000 -> ~23,900` рдЯреЛрдХрди, рдореНрд╣рдгрдЬреЗ `79.7%` рдмрдЪрдд (`~80%`) | рдПрдХрдореЗрдХрд╛рдВрд╡рд░ рдЖрдЪреНрдЫрд╛рджрд┐рдд рд╣реЛрдгрд╛рд▒реНрдпрд╛ рдЯреВрд▓/рдХреЙрдиреНрдЯреЗрдХреНрд╕реНрдЯ рдкреЗрд▓реЛрдбрд╕рд╛рдареА, рдбреАрдлреЙрд▓реНрдЯ OmniRoute рдХреЙрдореНрдмреЛ рдЗрдВрдЬрд┐рдиреЗ рдПрдХрд╛рд╡рд░ рдПрдХ рд▓рд╛рд╡рддреЛ: ```txt RTK -> Caveman ``` рдПрдХрддреНрд░рд┐рдд рдмрдЪрдд рдЧреБрдгрд╛рдХрд╛рд░рд╛рддреНрдордХ рдЖрд╣реЗ, рдмреЗрд░реАрдЬрд╛рддреНрдордХ рдирд╛рд╣реА: ```txt 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% ``` рдЬреЗрд╡реНрд╣рд╛ RTK рдЖрдгрд┐ Caveman рджреЛрдиреНрд╣реА рдПрдХрд╛рдЪ рдЗрдирдкреБрдЯ/рдХреЙрдиреНрдЯреЗрдХреНрд╕реНрдЯ рдкреЗрд▓реЛрдбрдЪрд╛ рдЖрдХрд╛рд░ рдХрдореА рдХрд░реВ рд╢рдХрддрд╛рдд, рддреЗрд╡реНрд╣рд╛ рддреА `78-95%` рд╕рдВрдЦреНрдпрд╛ рд▓рд╛рдЧреВ рд╣реЛрддреЗ. Caveman рдЪрд╛ рдкреНрд░рддрд┐рд╕рд╛рдж рдЖрдЙрдЯрдкреБрдЯ рдореЛрдб рд╕реНрд╡рддрдВрддреНрд░ рдЖрд╣реЗ: рддреЛ рд╕рдХреНрд╖рдо рдХреЗрд▓реЗрд▓рд╛ рдЕрд╕рддрд╛рдирд╛, Caveman рдЪреА рд╕реНрд╡рддрдГрдЪреА рдЖрдЙрдЯрдкреБрдЯ рдмрдЪрдд (`65%` рд╕рд░рд╛рд╕рд░реА, `~75%` рдкреНрд░рдореБрдЦ рджрд╛рд╡рд╛, `22-87%` рд╢реНрд░реЗрдгреА) рд╡рд╛рдкрд░рд╛. рдПрдХреВрдг рдмрд┐рд▓рд┐рдВрдЧ рдмрдЪрдд рддреБрдордЪреНрдпрд╛ рдкреНрд░реЙрдореНрдкреНрдЯ/рдЖрдЙрдЯрдкреБрдЯ рдорд┐рд╢реНрд░рдгрд╛рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЕрд╕рддреЗ. ### "рдкрд╛рддреНрд░" рдЕрд╕рдгреНрдпрд╛рдЪрд╛ рдиреЗрдордХрд╛ рдЕрд░реНрде рдХрд╛рдп 15-95% рд╣реА рдкреНрд░рдореБрдЦ рд╢реНрд░реЗрдгреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЖрд╣реЗ, рдкрд░рдВрддреБ рддреА рдлрдХреНрдд **рдкреБрдирд░рд╛рд╡реГрддреНрддреА рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдХрд┐рдВрд╡рд╛ рдЕрдирд╛рд╡рд╢реНрдпрдХрд░реАрддреНрдпрд╛ рд╡рд┐рд╕реНрддреГрдд** рдордЬрдХреБрд░рд╛рд▓рд╛рдЪ рд▓рд╛рдЧреВ рд╣реЛрддреЗ тАФ рд╡рд╛рд░рдВрд╡рд╛рд░ рдпреЗрдгрд╛рд▒реНрдпрд╛ рддреНрд░реБрдЯреА рдУрд│реА, рддреЛрдЪ рдЗрд╢рд╛рд░рд╛ рд╕рддрдд рджрд╛рдЦрд╡рдгрд╛рд░рд╛ рдмрд┐рд▓реНрдб рд▓реЙрдЧ, рдЕрддрд┐рдореЛрдард╛ `grep`/рдлрд╛рдЗрд▓-рд░реАрдб рдбрдВрдк. рдпрд╛рдЪрд╛ рдЕрд░реНрде рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдирдВрддреАрдордзреНрдпреЗ рдЗрддрдХреА рдмрдЪрдд рд╣реЛрддреЗ рдЕрд╕рд╛ **рдирд╛рд╣реА**. рдкреНрд░рддреНрдпрдХреНрд╖ рдкреНрд░рдпреЛрдЧрд╛рджреНрд╡рд╛рд░реЗ рдкрдбрддрд╛рд│рд▓реЗрд▓реЗ (`tests/unit/compression/stacked-compression-tool-result-savings.test.ts`): 300 рдПрдХрд╕рд╛рд░рдЦреНрдпрд╛ рддреНрд░реБрдЯреА рдУрд│реА рдЕрд╕рд▓реЗрд▓рд╛ Anthropic-рд╕реНрд╡рд░реВрдкрд╛рдЪрд╛ `tool_result` рдмреНрд▓реЙрдХ `stacked` (RTK + Caveman) рдкрджреНрдзрддреАрдиреЗ рдЪрд╛рд▓рд╡рд▓реНрдпрд╛рд╡рд░ **95.93% рдЯреЛрдХрди рдмрдЪрдд / 96.26% рдЕрдХреНрд╖рд░ рдмрдЪрдд** рдорд┐рд│рд╛рд▓реА тАФ рдореНрд╣рдгрдЬреЗ рддреА рдЬрд╛рд╣реАрд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╢реНрд░реЗрдгреАрдд рдард╛рдордкрдгреЗ рдпреЗрддреЗ. рдкрд░рдВрддреБ рд╣реАрдЪ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╕рд╛рдорд╛рдиреНрдп, рдкреБрдирд░рд╛рд╡реГрддреНрддреА рдирд╕рд▓реЗрд▓реНрдпрд╛ рдЯреВрд▓ рдЖрдЙрдЯрдкреБрдЯрд╡рд░ (рд╕реНрд╡рдЪреНрдЫ `grep` рдЬреБрд│рдгреА рд╕реВрдЪреА, рд▓рд╣рд╛рди рдлрд╛рдЗрд▓ рд░реАрдб, рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрднрд╛рд╖рдгрд╛рддреНрдордХ рдордЬрдХреВрд░) рдЪрд╛рд▓рд╡рд▓реНрдпрд╛рд╡рд░ рдпреЛрдЧреНрдпрд░реАрддреНрдпрд╛ **рдЬрд╡рд│рдкрд╛рд╕ рд╢реВрдиреНрдп рдмрдЪрдд** рдорд┐рд│рддреЗ, рдХрд╛рд░рдг рдХрд╛рдвреВрди рдЯрд╛рдХрдгреНрдпрд╛рд╕рд╛рд░рдЦреА рдХреЛрдгрддреАрд╣реА рдкреБрдирд░рд╛рд╡реГрддреНрддреА рдирд╕рддреЗ рдЖрдгрд┐ рдХреЛрдб рдмреНрд▓реЙрдХ, URLs, рд╢реАрд░реНрд╖рдХреЗ, рдЖрд╡реГрддреНрддреНрдпрд╛ рдХрд┐рдВрд╡рд╛ ALL-CAPS рд╕реНрдерд┐рд░рд╛рдВрдХ рдЖрдпрдбреЗрдВрдЯрд┐рдлрд╛рдпрд░ рдХрд╛рдвреВрди рдЯрд╛рдХрдгрд╛рд░реЗ рдЕрдерд╡рд╛ рдмрджрд▓рдгрд╛рд░реЗ рдкреБрдирд░реНрд▓реЗрдЦрди рдкрд╛рдард╡рдгреНрдпрд╛рд╕ `validateCompression()` (`validation.ts`) рдирдХрд╛рд░ рджреЗрддреЗ. рд╣реЗ рдЕрдкреЗрдХреНрд╖рд┐рдд рдЖрдгрд┐ рд╕реБрд░рдХреНрд╖рд┐рдд рд╡рд░реНрддрди рдЖрд╣реЗ, рдмрдЧ рдирд╛рд╣реА: рдмрд╣реБрддрд╛рдВрд╢ рд╡реЗрд│рд╛ рд╕реНрд╡рдЪреНрдЫ рдлрд╛рдЗрд▓реНрд╕ рд╡рд╛рдЪрдгрд╛рд░реЗ/grep рдХрд░рдгрд╛рд░реЗ рдХреЛрдбрд┐рдВрдЧ рд╕рддреНрд░ рдХреЙрдореНрдкреНрд░реЗрд╢рди рдкреВрд░реНрдгрдкрдгреЗ рд╕рдХреНрд╖рдо рдЕрд╕рддрд╛рдирд╛рд╣реА рдорд░реНрдпрд╛рджрд┐рдд рдПрдХреВрдг рдмрдЪрдд рджрд░реНрд╢рд╡реЗрд▓, рддрд░ рдЕрдпрд╢рд╕реНрд╡реА рд╣реЛрдгрд╛рд▒реНрдпрд╛ рд▓реВрдкрд▓рд╛ рдХрд┐рдВрд╡рд╛ рдЕрддрд┐рд╢рдп рдмреЛрд▓рдХреНрдпрд╛ рд▓рд┐рдВрдЯрд░рд▓рд╛ рд╕рд╛рдореЛрд░реЗ рдЬрд╛рдгрд╛рд▒реНрдпрд╛ рд╕рддреНрд░рд╛рдд рддреНрдпрд╛ рдЯреНрд░реЕрдлрд┐рдХрд╡рд░ рдкреВрд░реНрдг 78-95% рд╢реНрд░реЗрдгреАрддреАрд▓ рдмрдЪрдд рджрд┐рд╕реЗрд▓. рдХреЙрдореНрдкреНрд░реЗрд╢рди рдЪреБрдХреАрдЪреНрдпрд╛ рдкрджреНрдзрддреАрдиреЗ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗ рдЖрд╣реЗ рдпрд╛рдЪрд╛ рдкреБрд░рд╛рд╡рд╛ рдореНрд╣рдгреВрди рдПрдХрд╛рдЪ рд╕рддреНрд░рд╛рддреАрд▓ рдХрдореА рдПрдХрддреНрд░рд┐рдд рдмрдЪрдд рдЯрдХреНрдХреЗрд╡рд╛рд░реА рд╡рд╛рдкрд░реВ рдирдХрд╛ тАФ рдЖрдзреА рдореВрд│ рдЯреВрд▓ рдЖрдЙрдЯрдкреБрдЯрдордзреНрдпреЗ рдЦрд░реЛрдЦрд░ рдкреБрдирд░рд╛рд╡реГрддреНрддреА рд╣реЛрддреА рдХрд╛ рддреЗ рддрдкрд╛рд╕рд╛. --- ## рдЯреЛрдХрди рдмрдЪрддреАрдЪреЗ рджреГрд╢реНрдпрд░реВрдк ``` рдХреЙрдореНрдкреНрд░реЗрд╢рдирд╢рд┐рд╡рд╛рдп: LLM рдХрдбреЗ 47K рдЯреЛрдХрди рдкрд╛рдард╡рд▓реЗ 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 рд╕реБрд░рдХреНрд╖рд╛ рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рдЖрдгрд┐ рдлрд┐рд▓реНрдЯрд░ рдХреЕрдЯрд▓реЙрдЧ - **Compression Combos** тАФ рд░реВрдЯрд┐рдВрдЧ рдХреЙрдореНрдмреЛрдВрдирд╛ рдирд┐рдпреБрдХреНрдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдирд╛рдорд╛рдВрдХрд┐рдд рдЗрдВрдЬрд┐рди рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреНрд╕ - **Auto-Trigger Threshold** тАФ рдЯреЛрдХрди рд╕рдВрдЦреНрдпрд╛ рдорд░реНрдпрд╛рджреЗрдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рдЭрд╛рд▓реНрдпрд╛рд╕ рдХреЙрдореНрдкреНрд░реЗрд╢рди рд╕реНрд╡рдпрдВрдЪрд▓рд┐рддрдкрдгреЗ рд╕реБрд░реВ рдХрд░рд╛ ### рдкреНрд░рддреНрдпреЗрдХ рдХреЙрдореНрдмреЛрд╕рд╛рдареА рдУрд╡реНрд╣рд░рд░рд╛рдЗрдб `Dashboard тЖТ Context & Cache тЖТ Compression Combos` рдордзреНрдпреЗ, рд░реВрдЯрд┐рдВрдЧ рдХреЙрдореНрдмреЛрд▓рд╛ рдХреЙрдореНрдкреНрд░реЗрд╢рди рдХреЙрдореНрдмреЛ рдирд┐рдпреБрдХреНрдд рдХрд░рд╛: ```txt Combo: "free-tier-fallback" Compression Combo: "coding-agent-stack" Pipeline: RTK -> Caveman Targets: 1. if/kimi-k2.7-code 2. if/qwen3.8-max-preview ``` рдпрд╛рдореБрд│реЗ рд╕рд╢реБрд▓реНрдХ рд╕рдмрд╕реНрдХреНрд░рд┐рдкреНрд╢рдиреНрд╕рд╡рд░ рд▓рд╛рдЗрдЯ рдореЛрдб рдХрд╛рдпрдо рдареЗрд╡рддрд╛рдирд╛ рд╡рд┐рдирд╛рдореВрд▓реНрдп/рдХреЛрдбрд┐рдВрдЧ рдкреНрд░реЛрд╡реНрд╣рд╛рдпрдбрд░реНрд╕рд╡рд░ рд╕реНрдЯреЕрдХреНрдб рдХреЙрдореНрдкреНрд░реЗрд╢рди рд╡рд╛рдкрд░рддрд╛ рдпреЗрддреЗ. рд╣реЗ "Per-Combo Override" рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ **routing-combo compression mode** рдУрд╡реНрд╣рд░рд░рд╛рдЗрдбрдкреЗрдХреНрд╖рд╛ (Default/Off/Lite/Standard/Aggressive/Ultra/Codex Responses тАФ рдпрд╛ рдлреАрд▓реНрдбрдЪреЗ рд╕реНрдХреАрдорд╛ `rtk`, `stacked` рдЖрдгрд┐ `omniglyph` рджреЗрдЦреАрд▓ рд╕реНрд╡реАрдХрд╛рд░рддреЗ) рд╡реЗрдЧрд│реЗ рдирд┐рдпрдВрддреНрд░рдг рдЖрд╣реЗ тАФ рддреЗ рдУрд╡реНрд╣рд░рд░рд╛рдЗрдб рдирд╛рдорд╛рдВрдХрд┐рдд рдХреЙрдореНрдкреНрд░реЗрд╢рди-рдХреЙрдореНрдмреЛ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдирд┐рд╡рдбрдд рдирд╛рд╣реА; рддреЗ рдХреЗрд╡рд│ `resolveCompressionPlan` рджреНрд╡рд╛рд░реЗ рддрдкрд╛рд╕рд▓реЗ рдЬрд╛рдгрд╛рд░реЗ `compressionMode` рдлреАрд▓реНрдб рд╕реЗрдЯ рдХрд░рддреЗ. рддреЗ рдХреЙрдореНрдмреЛ рдХрд╛рд░реНрдбрд╡рд░ (`Dashboard тЖТ Combos`) рдХрд┐рдВрд╡рд╛ #6760 рдкрд╛рд╕реВрди, рд╡рд░ рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдг рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкрд╛рдЗрдкрд▓рд╛рдЗрди-рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдЪреЗрдХрдмреЙрдХреНрд╕рдЪреНрдпрд╛ рдЕрдЧрджреА рд╢реЗрдЬрд╛рд░реА `Dashboard тЖТ Context & Cache тЖТ Compression Combos` рд╡рд░реАрд▓ "Assign to routing" рд╕реВрдЪреАрдордзреНрдпреЗ рдкреНрд░рддреНрдпреЗрдХ рд░реВрдЯрд┐рдВрдЧ рдХреЙрдореНрдмреЛрд╕рд╛рдареА рд╕реЗрдЯ рдХрд░рддрд╛ рдпреЗрддреЗ. рджреЛрдиреНрд╣реА рдард┐рдХрд╛рдгрд╛рдВрд╡рд░реАрд▓ рдмрджрд▓ рд╕рдорд╛рди `PUT /api/combos/{id}` рдПрдВрдбрдкреЙрдЗрдВрдЯрджреНрд╡рд╛рд░реЗ рдХрд╛рдпрдо рдареЗрд╡рд▓реЗ рдЬрд╛рддрд╛рдд. ### рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдирдВрддреАрд╕рд╛рдареА рдУрд╡реНрд╣рд░рд░рд╛рдЗрдб рдПрдХрд╛ рд╡рд┐рдирдВрддреАрд╕рд╛рдареА рдХреЙрдореНрдкреНрд░реЗрд╢рди рдкреНрд▓реЕрди рдУрд╡реНрд╣рд░рд░рд╛рдЗрдб рдХрд░рдгреНрдпрд╛рдХрд░рд┐рддрд╛ `x-omniroute-compression` рд╡рд┐рдирдВрддреА рд╣реЗрдбрд░ рдкрд╛рдард╡рд╛. рддреНрдпрд╛рд▓рд╛ рд╕рд░реНрд╡реЛрдЪреНрдЪ рдкреНрд░рд╛рдзрд╛рдиреНрдп рдЖрд╣реЗ тАФ рддреЛ рд░реВрдЯрд┐рдВрдЧ-рдХреЙрдореНрдмреЛ рдУрд╡реНрд╣рд░рд░рд╛рдЗрдб, рд╕рдХреНрд░рд┐рдп рдкреНрд░реЛрдлрд╛рдЗрд▓, рдСрдЯреЛ-рдЯреНрд░рд┐рдЧрд░ рдЖрдгрд┐ рдкреЕрдиреЗрд▓ Default рдпрд╛рдВрд╡рд░ рдорд╛рдд рдХрд░рддреЛ. рдЕрдЬреНрдЮрд╛рдд рдореВрд▓реНрдпрд╛рдВрдХрдбреЗ рджреБрд░реНрд▓рдХреНрд╖ рдХреЗрд▓реЗ рдЬрд╛рддреЗ (рд╡рд┐рдирдВрддреА рдХрдзреАрд╣реА рдирд╛рдХрд╛рд░рд▓реА рдЬрд╛рдд рдирд╛рд╣реА) рдЖрдгрд┐ рдЬрд╛рдЧрддрд┐рдХ рдорд╛рд╕реНрдЯрд░ рд╕реНрд╡рд┐рдЪ рддрд░реАрд╣реА рд╕рд░реНрд╡ рдЧреЛрд╖реНрдЯреА рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддреЛ: рдХреЙрдореНрдкреНрд░реЗрд╢рди рдЬрд╛рдЧрддрд┐рдХ рд╕реНрддрд░рд╛рд╡рд░ рдмрдВрдж рдЕрд╕рддрд╛рдирд╛, рд╣реЗрдбрд░ рддреЗ рд╕реБрд░реВ рдХрд░реВ рд╢рдХрдд рдирд╛рд╣реА. рдореВрд▓реНрдпреЗ: | рдореВрд▓реНрдп | рдкрд░рд┐рдгрд╛рдо | | ------------- | ------------------------------------------------------------------------------------------------ | | `off` | рдпрд╛ рд╡рд┐рдирдВрддреАрд╕рд╛рдареА рдХреЙрдореНрдкреНрд░реЗрд╢рди рдирд╛рд╣реА. | | `default` | рдкреЕрдиреЗрд▓рдордзреВрди рдорд┐рд│рд╛рд▓реЗрд▓реЗ Default рдкреНрд░реЛрдлрд╛рдЗрд▓ (рд╕рдХреНрд░рд┐рдп рдкреНрд░реЛрдлрд╛рдЗрд▓рдХрдбреЗ рджреБрд░реНрд▓рдХреНрд╖ рдХрд░рддреЗ). рд▓реЙрд╕реА рдЗрдВрдЬрд┐рдиреЗ рдмрдВрджрдЪ рд░рд╛рд╣рддрд╛рдд. | | `safe` | рд╣реЗрдбрд░ рд╡рдЧрд│рдгреНрдпрд╛рд╕рд╛рд░рдЦреЗрдЪ: рдХреЗрд╡рд│ рдбреАрдбреБрдк рдЖрдгрд┐ рд╡реНрд╣рд╛рдЗрдЯрд╕реНрдкреЗрд╕ рдлреЛрд▓реНрдбрд┐рдВрдЧ. | | `allow-lossy` | рд╕рд╛рд░рд╛рдВрд╢, рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рдлрд┐рд▓реНрдЯрд░реНрд╕ рдЖрдгрд┐ рд╢реИрд▓реА рдкреБрдирд░реНрд▓реЗрдЦрдирд╛рдВрд╕рд╣ рдпрд╛ рд╡рд┐рдирдВрддреАрдЪрд╛ рдСрдкрд░реЗрдЯрд░ рдкреНрд▓реЕрди рдХрд╛рдпрдо рдареЗрд╡рд╛. | | `engine:` | рд╕рдХреНрд╖рдо рдЕрд╕рддрд╛рдирд╛ рдПрдХрдЪ рдЗрдВрдЬрд┐рди, рдЙрджрд╛. `engine:rtk`. рддреНрдпрд╛ рдЗрдВрдЬрд┐рдирд╕рд╛рдареА рд╣рд╛ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдирдВрддреАрдиреБрд╕рд╛рд░ рдСрдкреНрдЯ-рдЗрди рдЖрд╣реЗ. | | `` | рдирд╛рдорд╛рдВрдХрд┐рдд рдХреЙрдореНрдмреЛ, рдкреНрд░рдердо рдирд╛рд╡рд╛рдиреБрд╕рд╛рд░ (рдХреЗрд╕-рдЕрд╕рдВрд╡реЗрджрдирд╢реАрд▓), рдирдВрддрд░ рдЖрдпрдбреАрдиреБрд╕рд╛рд░ рдЬреБрд│рд╡рд▓рд╛ рдЬрд╛рддреЛ. | `allow-lossy`, `engine:` рдХрд┐рдВрд╡рд╛ рдирд╛рдорд╛рдВрдХрд┐рдд рдХреЙрдореНрдмреЛрд╢рд┐рд╡рд╛рдп, рд▓реЙрд╕реА рдЗрдВрдЬрд┐рдиреЗ рд▓рд╛рдЧреВ рдХреЗрд▓реА рдЬрд╛рдд рдирд╛рд╣реАрдд. рдХреЙрдореНрдкреНрд░реЗрд╢рди рд╕реБрд░реВ рдЕрд╕рддрд╛рдирд╛ рд╡рд┐рдирдВрддреАрд╡рд░ рддрд░реАрд╣реА рд╕реЗрд╢рди рдбреАрдбреБрдк рдЖрдгрд┐ рд╡реНрд╣рд╛рдЗрдЯрд╕реНрдкреЗрд╕ рдлреЛрд▓реНрдбрд┐рдВрдЧ рд▓рд╛рдЧреВ рд╣реЛрддреЗ. рд▓рд╛рдЧреВ рдХреЗрд▓реЗрд▓рд╛ рдкреНрд▓реЕрди `X-OmniRoute-Compression: ; source=` рдкреНрд░рддрд┐рд╕рд╛рдж рд╣реЗрдбрд░рдордзреНрдпреЗ рдкрд░рдд рджрд┐рд▓рд╛ рдЬрд╛рддреЛ, рдЬрд┐рдереЗ `` рд╣реЗ `request-header`, `routing-override`, `active-profile`, `auto-trigger`, `default` рдХрд┐рдВрд╡рд╛ `off` рдпрд╛рдВрдкреИрдХреА рдПрдХ рдЕрд╕рддреЗ. ### API ```bash # рдХреЙрдореНрдкреНрд░реЗрд╢рди рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рдорд┐рд│рд╡рд╛ 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"}' ``` --- ## рдХрд╛рдп рд╕рдВрд░рдХреНрд╖рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддреЗ рдХреЙрдореНрдкреНрд░реЗрд╢рди рдЗрдВрдЬрд┐рди **рдиреЗрд╣рдореА рдЬрддрди рдХрд░рддреЗ:** - тЬЕ рдХреЛрдб рдмреНрд▓реЙрдХреНрд╕ (рдлреЗрдиреНрд╕реНрдб рдЖрдгрд┐ рдЗрдирд▓рд╛рдЗрди) - тЬЕ URLs рдЖрдгрд┐ рдлрд╛рдЗрд▓ рдкрд╛рдереНрд╕ - тЬЕ JSON рд╕рдВрд░рдЪрдирд╛ рдЖрдгрд┐ рд╕рдВрд░рдЪрд┐рдд рдбреЗрдЯрд╛ - тЬЕ рдЖрдпрдбреЗрдВрдЯрд┐рдлрд╛рдпрд░реНрд╕ рдЖрдгрд┐ рд╕рдВрд░рдХреНрд╖рд┐рдд рддрд╛рдВрддреНрд░рд┐рдХ рдЯреЛрдХрдиреНрд╕ - тЬЕ рдЧрдгрд┐рддреАрдп рдЕрднрд┐рд╡реНрдпрдХреНрддреА - тЬЕ рдЯреВрд▓/рдлрдВрдХреНрд╢рди рдХреЙрд▓рдЪреНрдпрд╛ рд╡реНрдпрд╛рдЦреНрдпрд╛ - тЬЕ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЙрдореНрдкреНрдЯреНрд╕ (рд▓рд╛рдЗрдЯ рдореЛрдбрдордзреНрдпреЗ) рдХрд╛рд╣реАрд╣реА рдХрд╛рдпрдорд╕реНрд╡рд░реВрдкреА рд╕рд╛рдард╡рдгреНрдпрд╛рдкреВрд░реНрд╡реА RTK рд░реЙ-рдЖрдЙрдЯрдкреБрдЯ рд░рд┐рдХрд╡реНрд╣рд░реА рд╕рд╛рдорд╛рдиреНрдп API рдХреАрдЬ, рдмреЗрдЕрд░рд░ рдЯреЛрдХрдиреНрд╕, Slack рдЯреЛрдХрдиреНрд╕, AWS рдЕреЕрдХреНрд╕реЗрд╕ рдХреАрдЬ, рдкрд╛рд╕рд╡рд░реНрдбреНрд╕, рдЯреЛрдХрдиреНрд╕ рдЖрдгрд┐ рд╕рд┐рдХреНрд░реЗрдЯреНрд╕ рд▓рдкрд╡рддреЗ. --- ## рдХреЙрдореНрдкреНрд░реЗрд╢рдирдЪреА рдЖрдХрдбреЗрд╡рд╛рд░реА рдкреНрд░рддреНрдпреЗрдХ рдХреЙрдореНрдкреНрд░реЗрд╕ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╡рд┐рдирдВрддреАрдЪреА рдЖрдХрдбреЗрд╡рд╛рд░реА рд╕рд░реНрд╡реНрд╣рд░ рд▓реЙрдЧреНрд╕рдордзреНрдпреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЕрд╕рддреЗ: ```json { "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, Compression Combos | тЬЕ рдЬрд╛рд░реА рдХреЗрд▓реЗ | | рдЯрдкреНрдкрд╛ 4 | Output Styles, SLM-tier Ultra, eval harness | тЬЕ рдЬрд╛рд░реА рдХреЗрд▓реЗ | | рдЯрдкреНрдкрд╛ 4C | рдЕреЕрдбреЕрдкреНрдЯрд┐рд╡реНрд╣ рдХреЙрдиреНрдЯреЗрдХреНрд╕реНрдЯ-рдмрдЬреЗрдЯ ("рдбрд╛рдпрд▓") тАФ рдХрдВрдкреНрдпреВрдЯ рдЗрдВрдЬрд┐рди + API (`PUT /api/settings/compression` рд╡рд░реАрд▓ `contextBudget`) + рдбреЕрд╢рдмреЛрд░реНрдб рдореЛрдб/рдкреЙрд▓рд┐рд╕реА рдирд┐рдпрдВрддреНрд░рдгреЗ | тЬЕ рдЬрд╛рд░реА рдХреЗрд▓реЗ | --- ## рдЖрднрд╛рд░ Standard рдореЛрдбрдЪреЗ рдХреЙрдореНрдкреНрд░реЗрд╢рди рдирд┐рдпрдо **[JuliusBrussee](https://github.com/JuliusBrussee)** рдпрд╛рдВрдЪреНрдпрд╛ **[Caveman](https://github.com/JuliusBrussee/caveman)** (тнР 51K+) рдкрд╛рд╕реВрди рдкреНрд░реЗрд░рд┐рдд рдЖрд╣реЗрдд тАФ рд╣рд╛ рд╡реНрд╣рд╛рдпрд░рд▓ "рдЕрдиреЗрдХ рдЯреЛрдХрдиреНрд╕ рдХрд╢рд╛рд▓рд╛ рд╡рд╛рдкрд░рд╛рдпрдЪреЗ, рдЬреЗрд╡реНрд╣рд╛ рдХрд╛рд╣реА рдЯреЛрдХрдиреНрд╕рдиреЗ рдХрд╛рдо рд╣реЛрддреЗ" рдкреНрд░рдХрд▓реНрдк рдЖрд╣реЗ. Caveman рдиреБрд╕рд╛рд░ `~75%` рдХрдореА рдЖрдЙрдЯрдкреБрдЯ рдЯреЛрдХрдиреНрд╕, рдмреЗрдВрдЪрдорд╛рд░реНрдХрдордзреНрдпреЗ рд╕рд░рд╛рд╕рд░реА `65%` рдЖрдЙрдЯрдкреБрдЯ рдмрдЪрдд, `22-87%` рдЖрдЙрдЯрдкреБрдЯ рд╢реНрд░реЗрдгреА рдЖрдгрд┐ `~46%` рдЗрдирдкреБрдЯ-рдХреЙрдореНрдкреНрд░реЗрд╢рди рдЯреВрд▓ рдорд┐рд│рддреЗ. RTK рдореЛрдб **[RTK AI](https://github.com/rtk-ai)** рдпрд╛рдВрдЪреНрдпрд╛ **[RTK - Rust Token Killer](https://github.com/rtk-ai/rtk)** рдкрд╛рд╕реВрди рдкреНрд░реЗрд░рд┐рдд рдЖрд╣реЗ тАФ рдЯрд░реНрдорд┐рдирд▓, рдмрд┐рд▓реНрдб, рдЯреЗрд╕реНрдЯ, git рдЖрдгрд┐ рдЯреВрд▓-рдЖрдЙрдЯрдкреБрдЯ рдлрд┐рд▓реНрдЯрд░рд┐рдВрдЧрд╕рд╛рдареАрдЪрд╛ рдЙрдЪреНрдЪ-рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрдорд╛рдВрдб-рдЖрдЙрдЯрдкреБрдЯ рдХреЙрдореНрдкреНрд░реЗрд╢рди рдкреНрд░рдХрд▓реНрдк. RTK рдиреБрд╕рд╛рд░ `60-90%` рдмрдЪрдд рд╣реЛрддреЗ, рддрд░ рддреНрдпрд╛рдЪреНрдпрд╛ README рдордзреАрд▓ рдирдореБрдирд╛ рд╕рддреНрд░рд╛рдд `~80%` рдмрдЪрдд рджрд╛рдЦрд╡рд▓реА рдЖрд╣реЗ. --- ## рдкреНрд░рдЧрдд рд╕рдВрдХреНрд╖реЗрдкрдг рдкреНрд░рдгрд╛рд▓реА рд╡рд░ рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реНрдпрд╛ 7 рдореЛрдбреНрд╕рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд (рд╕реНрд░реЛрдд `codex-responses` рдЖрдгрд┐ `omniglyph` рдореЛрдбреНрд╕рджреЗрдЦреАрд▓ рд╕реНрд╡реАрдХрд╛рд░рддреЛ, рдкрд░рдВрддреБ рдпрд╛ рдорд╛рд░реНрдЧрджрд░реНрд╢рдХрд╛рдордзреНрдпреЗ рддреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХреЗрд▓реЗрд▓реЗ рдирд╛рд╣реАрдд), рдЦрд╛рд▓реАрд▓ рд╡рд┐рднрд╛рдЧрд╛рдВрдордзреНрдпреЗ рддреНрдпрд╛ рдореЛрдбреНрд╕рдордзреНрдпреЗ рдХрд┐рдВрд╡рд╛ рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╕реЛрдмрдд рдХрд╛рд░реНрдп рдХрд░рдгрд╛рд░реА рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗрдд: Tool Result Compression рдЖрдгрд┐ Progressive Aging рдпрд╛ рдЖрдХреНрд░рдордХ рдЗрдВрдЬрд┐рдирдЪреНрдпрд╛ рдкрд╛рдпрд▒реНрдпрд╛ 1 рдЖрдгрд┐ 2 рдЖрд╣реЗрдд (Aggressive рдореЛрдб рдЖрдгрд┐ рд╕реНрдЯреЕрдХ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкрд╛рдЗрдкрд▓рд╛рдЗрдирдЪреА `aggressive` рдкрд╛рдпрд░реА), Stacked Pipeline рд╣реА Stacked рдореЛрдб рдЪрд╛рд▓рдгреНрдпрд╛рдЪреА рдкрджреНрдзрдд рдЖрд╣реЗ, Cache-Aware Compression рдХреЕрд╢рд┐рдВрдЧ рдкреНрд░рджрд╛рддреНрдпрд╛рдВрд╕рд╛рдареА рд╕рдВрдХреНрд╖реЗрдкрдг рд╕реБрд░реВ рдЕрд╕рддрд╛рдирд╛ `aggressive` рдЖрдгрд┐ `ultra` рдпрд╛рдВрдирд╛ `standard` рдкрд░реНрдпрдВрдд рдЦрд╛рд▓реА рдЖрдгрддреЗ, рдЖрдгрд┐ Caveman Output Mode рд╡ Output Styles рдпрд╛ рдРрдЪреНрдЫрд┐рдХ рдкреНрд░рдгрд╛рд▓реА-рдкреНрд░реЙрдореНрдкреНрдЯ рд╕реВрдЪрдирд╛ рдЖрд╣реЗрдд, рдЬреНрдпрд╛ рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рдмрдВрдж рдЕрд╕рддрд╛рдд рдЖрдгрд┐ рд╡рд┐рдирдВрддреА рд╕рдВрдХреНрд╖реЗрдкрд┐рдд рдХрд░рдгреНрдпрд╛рдРрд╡рдЬреА рдореЙрдбреЗрд▓рдЪреЗ рдЖрдЙрдЯрдкреБрдЯ рдШрдбрд╡рддрд╛рдд. ### рдХреЕрд╢-рдЬрд╛рдЧрд░реВрдХ рд╕рдВрдХреНрд╖реЗрдкрдг рдХрд╛рд╣реА рдкреНрд░рджрд╛рддреЗ (рдЙрджрд╛. рдкреНрд░реЙрдореНрдкреНрдЯ рдХреЕрд╢рд┐рдВрдЧрд╕рд╣ Anthropic) **рдкреНрд░реЙрдореНрдкреНрдЯ рдХреЕрд╢рд┐рдВрдЧрд▓рд╛** рд╕рдорд░реНрдерди рджреЗрддрд╛рдд, рдЬреНрдпрд╛рдореБрд│реЗ рдЦрд░реНрдЪ рдЖрдгрд┐ рд╡рд┐рд▓рдВрдм рдХрдореА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддреЗ рдкреНрд░реЙрдореНрдкреНрдЯрдЪреЗ рдХрд╛рд╣реА рднрд╛рдЧ рдХреЕрд╢ рдХрд░реВ рд╢рдХрддрд╛рдд. рдЬреЗрд╡реНрд╣рд╛ рдХреЕрд╢рд┐рдВрдЧ рд╕рдХреНрд╖рдо рдЕрд╕рддреЗ, рддреЗрд╡реНрд╣рд╛ рдЖрдХреНрд░рдордХ рд╕рдВрдХреНрд╖реЗрдкрдг рдкреНрд░рддреНрдпрдХреНрд╖рд╛рдд рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рдирд╛рд▓рд╛ **рд╣рд╛рдиреА рдкреЛрд╣реЛрдЪрд╡реВ** рд╢рдХрддреЗ, рдХрд╛рд░рдг рддреЗ рдХреЕрд╢ рдХреЗрд▓реЗрд▓реА рдЯреЛрдХрдиреНрд╕ рдмрджрд▓рддреЗ рдЖрдгрд┐ рддреНрдпрд╛рдореБрд│реЗ рдХреЕрд╢ рдЕрд╡реИрдз рд╣реЛрддреЗ. `cachingAware.ts` рдореЙрдбреНрдпреВрд▓ **рдХреЕрд╢рд┐рдВрдЧ рд╕рдВрджрд░реНрдн рд╢реЛрдзреВрди** рдЖрдгрд┐ рддреНрдпрд╛рдиреБрд╕рд╛рд░ **рд╕рдВрдХреНрд╖реЗрдкрдг рдзреЛрд░рдг рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░реВрди** рд╣реА рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рддреЗ. #### рд╣реЗ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ 1. **рдХреЕрд╢рд┐рдВрдЧ рд╕рдВрджрд░реНрдн рд╢реЛрдзрдгреЗ** тАФ рд╡рд┐рдирдВрддреА рдмреЙрдбреАрдордзреНрдпреЗ `cache_control` рдорд╛рд░реНрдХрд░реНрд╕ рд╢реЛрдзрддреЗ 2. **рдХреЕрд╢рд┐рдВрдЧ рдкреНрд░рджрд╛рддреЗ рдУрд│рдЦрдгреЗ** тАФ рд▓рдХреНрд╖реНрдп рдкреНрд░рджрд╛рддрд╛ рдХреЕрд╢рд┐рдВрдЧрд▓рд╛ рд╕рдорд░реНрдерди рджреЗрддреЛ рдХрд╛ рддреЗ рддрдкрд╛рд╕рддреЗ 3. **рдзреЛрд░рдг рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдгреЗ** тАФ рдХреЕрд╢рд┐рдВрдЧ рдкреНрд░рджрд╛рддреНрдпрд╛рдВрд╕рд╛рдареА `aggressive`/`ultra` рдпрд╛рдВрдирд╛ `standard` рдкрд░реНрдпрдВрдд рдЦрд╛рд▓реА рдЖрдгрддреЗ 4. **рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЙрдореНрдкреНрдЯ рд╡рдЧрд│рдгреЗ** тАФ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЙрдореНрдкреНрдЯреНрд╕ рд╕рд╣рд╕рд╛ рдХреЕрд╢ рдХреЗрд▓реЗрд▓реЗ рдЕрд╕рддрд╛рдд, рддреНрдпрд╛рдореБрд│реЗ рддреЗ рд╕рдВрдХреНрд╖реЗрдкрд┐рдд рдХрд░реВ рдирдХрд╛ рдзреЛрд░рдг рд╕рд╣рд╛рдпреНрдпрдХ рдПрдХ `deterministicOnly` рдлреНрд▓реЕрдЧрджреЗрдЦреАрд▓ рдкрд░рдд рдХрд░рддреЛ, рдкрд░рдВрддреБ рдкреНрд▓реЕрди рдмрд┐рд▓реНрдбрд░ рдХреЗрд╡рд│ рдзреЛрд░рдг рд╡рд╛рдкрд░рддреЛ тАФ рд╕рдзреНрдпрд╛ рдкреБрдвреАрд▓ рдкреНрд░рдХреНрд░рд┐рдпреЗрдд рдХреБрдареЗрд╣реА рд╣рд╛ рдлреНрд▓реЕрдЧ рд╡рд╛рдЪрд▓рд╛ рдЬрд╛рдд рдирд╛рд╣реА. #### рдХреЛрдб рдЙрджрд╛рд╣рд░рдг ```ts 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", targetFormat: null, isCachingProvider: true } const strategy = getCacheAwareStrategy("aggressive", ctx); // тЖТ { strategy: "standard", skipSystemPrompt: true, deterministicOnly: true } ``` #### рдХрдзреА рд╡рд╛рдкрд░рд╛рд╡реЗ рдХреЕрд╢-рдЬрд╛рдЧрд░реВрдХ рд╕рдВрдХреНрд╖реЗрдкрдг **рдиреЗрд╣рдореА рд╕реБрд░реВ рдЕрд╕рддреЗ** тАФ рдХреЛрдгрддреНрдпрд╛рд╣реА рд╕рдВрд░рдЪрдиреЗрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╛рд╣реА. рдЬреЗрд╡реНрд╣рд╛ рд╕рдВрдХреНрд╖реЗрдкрдг рд╕реБрд░реВ рдЕрд╕рддреЗ рдЖрдгрд┐ рд▓рдХреНрд╖реНрдп рдкреНрд░рджрд╛рддрд╛ рдкреНрд░реЙрдореНрдкреНрдЯ рдХреЕрд╢рд┐рдВрдЧрд▓рд╛ рд╕рдорд░реНрдерди рджреЗрддреЛ (Anthropic, OpenAI, рдЗрддреНрдпрд╛рджреА), рддреЗрд╡реНрд╣рд╛ рддреЗ рд╕рдХреНрд░рд┐рдп рд╣реЛрддреЗ; рд╕реНрдкрд╖реНрдЯ `cache_control` рдорд╛рд░реНрдХрд░реНрд╕ рдЖрд╡рд╢реНрдпрдХ рдирд╕рддрд╛рдд тАФ рдХреЗрд╡рд│ рдХреЕрд╢рд┐рдВрдЧ рдкреНрд░рджрд╛рддрд╛ рдЕрд╕рд▓реНрдпрд╛рдиреЗ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рд╕реБрд░реВ рд╣реЛрддреЗ, рдЖрдгрд┐ рдХреЗрд╡рд│ рдорд╛рд░реНрдХрд░реНрд╕ рдЕрд╕рд▓реНрдпрд╛рдиреЗ рддреЗ рдХрдзреАрд╣реА рд╕реБрд░реВ рд╣реЛрдд рдирд╛рд╣реА (рдорд╛рд░реНрдХрд░ рд╢реЛрдз рдзреЛрд░рдгрд╛рддреНрдордХ рдирд┐рд░реНрдгрдпрд╛рдРрд╡рдЬреА рдХреЕрд╢ рдЯреЗрд▓рд┐рдореЗрдЯреНрд░реАрд╕рд╛рдареА рдорд╛рд╣рд┐рддреА рдкреБрд░рд╡рддреЛ). ### рдкреНрд░рдЧрддреАрд╢реАрд▓ рдПрдЬрд┐рдВрдЧ рджреАрд░реНрдШ рд╕рдВрднрд╛рд╖рдгрд╛рдВрдордзреНрдпреЗ рдЕрдиреЗрдХ рд╕рдВрджреЗрд╢-рдлреЗрд▒реНрдпрд╛ рдЬрдорд╛ рд╣реЛрддрд╛рдд, рдкрд░рдВрддреБ рдЬреБрдиреНрдпрд╛ рдлреЗрд▒реНрдпрд╛ рдХрдореА рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛрдд рдЬрд╛рддрд╛рдд. `progressiveAging.ts` рдореЙрдбреНрдпреВрд▓ **рдлреЗрд░реАрдЪреНрдпрд╛ рдЕрдВрддрд░рд╛рдиреБрд╕рд╛рд░ рд╕рдВрджреЗрд╢рд╛рдВрдЪреЗ рддрдкрд╢реАрд▓ рдХрдореА рдХрд░рддреЗ** (рдЕрдВрддрд░ рд╕рдВрднрд╛рд╖рдгрд╛рдЪреНрдпрд╛ рд╢реЗрд╡рдЯрд╛рдкрд╛рд╕реВрди рдореЛрдЬрд▓реЗ рдЬрд╛рддреЗ). рдкреБрд░рд╡рд▓реЗрд▓реНрдпрд╛ рдбреАрдлреЙрд▓реНрдЯреНрд╕рд╕рд╣ (`verbatim: 2, light: 2, moderate: 3`): - **рд╢реЗрд╡рдЯрдЪреНрдпрд╛ 2 рдлреЗрд▒реНрдпрд╛ (рдЕрдВрддрд░ тЙд 2)**: рдЬрд╢рд╛рдЪреНрдпрд╛ рддрд╢рд╛ рдареЗрд╡рд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд - **рдЕрдВрддрд░ 3**: Caveman рд╕рдВрдХреНрд╖реЗрдкрдг (рдЕрдирд╛рд╡рд╢реНрдпрдХ рдордЬрдХреВрд░ рдХрд╛рдврдгреЗ) - **рдЕрдВрддрд░ 4+**: рд╕рд╣рд╛рдпреНрдпрдХрд╛рдЪреНрдпрд╛ рд╕рдВрджреЗрд╢рд╛рдВрдЪрд╛ рд╕рд╛рд░рд╛рдВрд╢ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ; рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреЗ рд╕рдВрджреЗрд╢ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдкрд╣рд┐рд▓реНрдпрд╛ рдУрд│реАрдкреБрд░рддреЗ рдХрдореА рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд, рдХрдорд╛рд▓ рдорд░реНрдпрд╛рджрд╛ 120 рд╡рд░реНрдг; рдЗрддрд░ рднреВрдорд┐рдХрд╛ рдмрджрд▓рд▓реНрдпрд╛ рдЬрд╛рдд рдирд╛рд╣реАрдд. рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЙрдореНрдкреНрдЯреНрд╕, рдЖрдзреАрдЪ рдПрдЬрд┐рдВрдЧ рдХреЗрд▓реЗрд▓реЗ рд╕рдВрджреЗрд╢ рдЖрдгрд┐ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪрд╛ рд╕рд░реНрд╡рд╛рдд рдЕрд▓реАрдХрдбреАрд▓ рд╕рдВрджреЗрд╢ рдЕрдВрддрд░ рдХрд┐рддреАрд╣реА рдЕрд╕рд▓реЗ рддрд░реА рдиреЗрд╣рдореА рдЬрд╢рд╛рдЪреНрдпрд╛ рддрд╢рд╛ рдареЗрд╡рд▓реЗ рдЬрд╛рддрд╛рдд. рдХрд╛рд╣реАрд╣реА рдкреВрд░реНрдгрдкрдгреЗ рд╡рдЧрд│рд▓реЗ рдЬрд╛рдд рдирд╛рд╣реА, рдЖрдгрд┐ рдкреБрд░рд╡рд▓реЗрд▓реНрдпрд╛ рдбреАрдлреЙрд▓реНрдЯреНрд╕рд╕рд╣ `light` рдмрдБрдбрдкрд░реНрдпрдВрдд рдкреЛрд╣реЛрдЪрддрд╛ рдпреЗрдд рдирд╛рд╣реА (`light` рд╣реЗ `verbatim` рдЪреНрдпрд╛ рдмрд░реЛрдмрд░реАрдЪреЗ рдЖрд╣реЗ). #### рдХреЛрдб рдЙрджрд╛рд╣рд░рдг ```ts 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, // рдЕрдВрддрд░ <= 8: рд╣рд▓рдХреЗ рд╕рдВрдХреНрд╖реЗрдкрдг moderate: 20, // рдЕрдВрддрд░ <= 20: caveman рд╕рдВрдХреНрд╖реЗрдкрдг fullSummary: 5, // рдкреНрд░рдХрд╛рд░рд╛рд╕рд╛рдареА рдЖрд╡рд╢реНрдпрдХ, рдмрдБрдбрд┐рдВрдЧ рдХреЛрдбрджреНрд╡рд╛рд░реЗ рд╡рд╛рдЪрд▓реЗ рдЬрд╛рдд рдирд╛рд╣реА // рдЕрдВрддрд░ > 20: рд╕рд╛рд░рд╛рдВрд╢рд┐рдд (assistant) / рдкрд╣рд┐рд▓реА рдУрд│ рдареЗрд╡рд▓реА рдЬрд╛рддреЗ (user) }); // saved = рд╡рд╛рдЪрд╡рд▓реЗрд▓реНрдпрд╛ рдЯреЛрдХрдиреНрд╕рдЪреА рд╕рдВрдЦреНрдпрд╛ ``` #### рдХрдзреА рд╡рд╛рдкрд░рд╛рд╡реЗ рдкреНрд░рдЧрддреАрд╢реАрд▓ рдПрдЬрд┐рдВрдЧ `aggressive` рдореЛрдбрд╕рд╛рдареА **рдиреЗрд╣рдореА рд╕реБрд░реВ рдЕрд╕рддреЗ** тАФ рд╣реА `compressAggressive()` рдЪреА рдкрд╛рдпрд░реА 2 рдЖрд╣реЗ. Ultra рдореЛрдб рддреЗ рдЪрд╛рд▓рд╡рдд рдирд╛рд╣реА. рд╣реЗ рд╡рд┐рд╢реЗрд╖рддрдГ рдЦрд╛рд▓реАрд▓ рдмрд╛рдмреАрдВрд╕рд╛рдареА рдкреНрд░рднрд╛рд╡реА рдЖрд╣реЗ: - рджреАрд░реНрдШрдХрд╛рд│ рдЪрд╛рд▓рдгрд╛рд░реА рдХреЛрдбрд┐рдВрдЧ рд╕рддреНрд░реЗ - рдЕрдиреЗрдХ рджрд┐рд╡рд╕рд╛рдВрдЪреА рд╕рдВрднрд╛рд╖рдгреЗ - рдЕрдиреЗрдХ рдЯреВрд▓ рдХреЙрд▓реНрд╕ рдЕрд╕рд▓реЗрд▓реЗ рдПрдЬрдВрдЯрд┐рдХ рдХрд╛рд░реНрдпрдкреНрд░рд╡рд╛рд╣ ### Caveman рдЖрдЙрдЯрдкреБрдЯ рдореЛрдб Caveman рдЖрдЙрдЯрдкреБрдЯ рдореЛрдб рдЕрд╢рд╛ **рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЙрдореНрдкреНрдЯ рд╕реВрдЪрдирд╛** рдЬреЛрдбрддреЛ рдЬреНрдпрд╛ рдореЙрдбреЗрд▓рд▓рд╛рдЪ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЖрдЙрдЯрдкреБрдЯ рджреЗрдгреНрдпрд╛рд╕ рд╕рд╛рдВрдЧрддрд╛рдд тАФ `lite` рд╕реНрддрд░ рдкреВрд░реНрдг рд╡рд╛рдХреНрдпреЗ рдХрд╛рдпрдо рдареЗрд╡реВрди рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЙрддреНрддрд░реЗ рджреЗрдгреНрдпрд╛рд╕ рд╕рд╛рдВрдЧрддреЛ, `full` рддреНрдпрд╛рд▓рд╛ "рд╣реБрд╢рд╛рд░ рдЖрджрд┐рдорд╛рдирд╡рд╛рд╕рд╛рд░рдЦреЗ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЙрддреНрддрд░ рджреНрдпрд╛" рдЕрд╕реЗ рд╕рд╛рдВрдЧрддреЛ, рдЖрдгрд┐ `ultra` рддрд╛рд░рд╕рдВрджреЗрд╢рд╛рд╕рд╛рд░рдЦреЗ рдЖрдЙрдЯрдкреБрдЯ рджреЗрдгреНрдпрд╛рд╕ рд╕рд╛рдВрдЧрддреЛ; рд╕реВрдЪрдирд╛ рдХреЗрд╡рд│ рд╡рд┐рдирдВрддреА рдХрд░рддрд╛рдд, рддреНрдпрд╛рдЪреА рд╣рдореА рджреЗрдК рд╢рдХрдд рдирд╛рд╣реАрдд. рд╡рд┐рдирдВрддреНрдпрд╛рдВрдирд╛ рддреНрдпрд╛ `applyOutputStyles()` (`open-sse/services/compression/outputStyles/apply.ts`) рджреНрд╡рд╛рд░реЗ рдорд┐рд│рддрд╛рдд: `open-sse/handlers/chatCore.ts` рдкреНрд░рдердо рдмреЕрдХрд╡рд░реНрдб-рдХрдореНрдкреЕрдЯрд┐рдмрд┐рд▓рд┐рдЯреА рд╢рд┐рдорд╕рд╣ рдирд┐рд╡рдб рдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ (`open-sse/services/compression/outputStyles/backCompat.ts` рдордзреАрд▓ `resolveOutputStyleSelection()`), рдЬреЗ `outputStyles` рд░рд┐рдХреНрдд рдЕрд╕рддрд╛рдирд╛, рд╕рдХреНрд╖рдо рдХреЗрд▓реЗрд▓реНрдпрд╛ `cavemanOutputMode` рд▓рд╛ `cavemanOutputMode.intensity` рд╡рд░реАрд▓ `terse-prose` рдЖрдЙрдЯрдкреБрдЯ рд╢реИрд▓реАрд╢реА рдореЕрдк рдХрд░рддреЗ (рдЦрд╛рд▓реАрд▓ рдмреЕрдХрд╡рд░реНрдб-рдХрдореНрдкреЕрдЯрд┐рдмрд┐рд▓рд┐рдЯреА рдкрд╣рд╛); рд░рд┐рдХреНрдд рдирд╕рд▓реЗрд▓реА `outputStyles` рдирд┐рд╡рдб рдЬрд╢реА рдЖрд╣реЗ рддрд╢реА рд╡рд╛рдкрд░рд▓реА рдЬрд╛рддреЗ, рдЖрдгрд┐ рддреНрдпрд╛рдирдВрддрд░ `cavemanOutputMode.enabled` рд╡ `intensity` рдпрд╛рдВрдЪрд╛ рдХреЛрдгрддрд╛рд╣реА рдкрд░рд┐рдгрд╛рдо рд╣реЛрдд рдирд╛рд╣реА, рддрд░ рддреНрдпрд╛рдЪреЗ `autoClarity` рдЯреЙрдЧрд▓ рдорд╛рддреНрд░ рд▓рд╛рдЧреВ рд░рд╛рд╣рддреЗ. `outputMode.ts` рдордзреНрдпреЗ рд╕реВрдЪрдирд╛рдВрдЪрд╛ рдордЬрдХреВрд░ (`CAVEMAN_INSTRUCTION_BY_LANGUAGE`), рдЖрд╢рдп рдмрд╛рдпрдкрд╛рд╕ рдЖрдгрд┐ рдЗрдВрдЬреЗрдХреНрд╢рдирджреНрд╡рд╛рд░реЗ рд╡рд╛рдкрд░рд▓рд╛ рдЬрд╛рдгрд╛рд░рд╛ рд╕реНрдерд╛рдирдирд┐рд╢реНрдЪрд┐рддреА рд╕рд╣рд╛рдпреНрдпрдХ рдЖрд╣реЗ; рддреНрдпрд╛рдЪреНрдпрд╛ рд╕реНрд╡рддрдГрдЪреНрдпрд╛ `applyCavemanOutputMode()` рдЗрдВрдЬреЗрдХреНрдЯрд░рд▓рд╛ рдХреЛрдгрддрд╛рд╣реА рдкреНрд░реЙрдбрдХреНрд╢рди рдХреЙрд▓рд░ рдирд╛рд╣реА. #### рд╣реЗ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣рд╛ рдореЛрдб рдЗрдирдкреБрдЯ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдХрд░рдд рдирд╛рд╣реА. рддреЛ system prompt рдордзреНрдпреЗ рдПрдХ рд╕реВрдЪрдирд╛ рдмреНрд▓реЙрдХ рдЬреЛрдбрддреЛ (рдЦрд╛рд▓реАрд▓ рдЗрдВрдЬреЗрдХреНрд╢рди рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ рддреЗ рдкрд╛рд╣рд╛), рдЖрдгрд┐ рд╡рд┐рдирдВрддреАрд╕рд╛рдареА рдирд┐рд╡рдбрд▓реЗрд▓рд╛ рдХреЛрдгрддрд╛рд╣реА рдЗрдирдкреБрдЯ рд╕рдВрдХреНрд╖рд┐рдкреНрддреАрдХрд░рдг рдореЛрдб рдирдВрддрд░рд╣реА, рдЖрддрд╛ рд╣рд╛ рдмреНрд▓реЙрдХ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдореБрдЦреНрдп рдордЬрдХреБрд░рд╛рд╡рд░ рдЪрд╛рд▓рддреЛ. рдкреНрд░рддреНрдпреЗрдХ рд╕реНрддрд░рд╛рдЪреНрдпрд╛ рд╢реЗрд╡рдЯреА рдпреЗрдгрд╛рд▒реНрдпрд╛ рд╕рд╛рдорд╛рдпрд┐рдХ рдорд░реНрдпрд╛рджрд╛ рдХрд▓рдорд╛рдЪреНрдпрд╛ рдЖрдзреА, рдЗрдВрдЧреНрд░рдЬреА `full` рд╕реНрддрд░рд╛рдордзреНрдпреЗ рдЕрд╕реЗ рд▓рд┐рд╣рд┐рд▓реЗ рдЖрд╣реЗ: > "рд╣реБрд╢рд╛рд░ рдЖрджрд┐рдорд╛рдирд╡рд╛рд╕рд╛рд░рдЦреЗ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЙрддреНрддрд░ рджреНрдпрд╛. рдЙрдкрдкрджреЗ (a/an/the), рдирд┐рд░рд░реНрдердХ рднрд░ (just/really/basically/actually/simply), рдФрдкрдЪрд╛рд░рд┐рдХ рд╕реМрдЬрдиреНрдп, рд╕рдВрджрд┐рдЧреНрдз рднрд╛рд╖рд╛ рд╡рдЧрд│рд╛. рд╡рд╛рдХреНрдпрд╛рдВрд╢ рдЪрд╛рд▓рддреАрд▓. рд▓рд╣рд╛рди рд╕рдорд╛рдирд╛рд░реНрдереА рд╢рдмреНрдж рд╡рд╛рдкрд░рд╛ (extensive рдРрд╡рдЬреА big, implement рдРрд╡рдЬреА fix). рд╕рд░реНрд╡ рддрд╛рдВрддреНрд░рд┐рдХ рдЖрд╢рдп, рдХреЛрдб, рддреНрд░реБрдЯреА, URLs, identifiers рддрдВрддреЛрддрдВрдд рдареЗрд╡рд╛." рд╣реЗ рд╡рд┐рд╢реЗрд╖рддрдГ рдкреБрдвреАрд▓ рдЧреЛрд╖реНрдЯреАрдВрд╕рд╛рдареА рдЪрд╛рдВрдЧрд▓реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ: - рдХреЛрдб рдирд┐рд░реНрдорд┐рддреА (рдЕрдзрд┐рдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЖрдЙрдЯрдкреБрдЯ = рдХрдореА рдЯреЛрдХрди) - рдЬрд▓рдж рдкреНрд░рд╢реНрдиреЛрддреНрддрд░реЗ (рд╕рд╡рд┐рд╕реНрддрд░ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдгрд╛рдВрдЪреА рдЧрд░рдЬ рдирд╛рд╣реА) - рдмреЕрдЪ рдкреНрд░рдХреНрд░рд┐рдпрд╛ (рдереНрд░реВрдкреБрдЯ рдХрдорд╛рд▓ рдХрд░рд╛) #### рдХрдзреА рд╡рд╛рдкрд░рд╛рд╡реЗ рдЖрджрд┐рдорд╛рдирд╡ рдЖрдЙрдЯрдкреБрдЯ рдореЛрдб **рдРрдЪреНрдЫрд┐рдХ** рдЖрд╣реЗ. рд╕рдВрдХреНрд╖рд┐рдкреНрддреАрдХрд░рдг рд╕реБрд░реВ рдЕрд╕рддрд╛рдирд╛ (`enabled: true`, Compression Settings рдкреГрд╖реНрдард╛рд╡рд░реАрд▓ рдореБрдЦреНрдп рдЯреЙрдЧрд▓ рд╕реБрд░реВ), рддреЛ `cavemanOutputMode.enabled` рд╡рд╛рдкрд░реВрди рд╕реБрд░реВ рдХрд░рд╛; `intensity` `lite`, `full` рдХрд┐рдВрд╡рд╛ `ultra` рдирд┐рд╡рдбрддреЗ: ```json { "enabled": true, "cavemanOutputMode": { "enabled": true, "intensity": "full" } } ``` рд╕рдВрдХреНрд╖рд┐рдкреНрддреАрдХрд░рдг рдХреЙрдореНрдмреЛрдЪрд╛ **рдЖрдЙрдЯрдкреБрдЯ рдореЛрдб** рдЯреЙрдЧрд▓ (`outputMode`, `outputModeIntensity` рдордзреАрд▓ рд╕реНрддрд░) рддреЛ рдХреЙрдореНрдмреЛ рдЬреНрдпрд╛ рд╡рд┐рдирдВрддреНрдпрд╛рдВрдирд╛ рд▓рд╛рдЧреВ рд╣реЛрддреЛ рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╕рд╛рдареА рд╣рд╛рдЪ рд╕реНрд╡рд┐рдЪ рд╕реЗрдЯ рдХрд░рддреЛ, рдЖрдгрд┐ `omniroute_set_compression_engine` MCP рд╕рд╛рдзрди рддреНрдпрд╛рдЪреНрдпрд╛ boolean `outputMode` рдпреБрдХреНрддрд┐рд╡рд╛рджрд╛рджреНрд╡рд╛рд░реЗ рддреЛ рд▓рд┐рд╣рд┐рддреЗ. рд░рд┐рдХреНрдд рдирд╕рд▓реЗрд▓реНрдпрд╛ `outputStyles` рдирд┐рд╡рдбреАрд▓рд╛ рдпрд╛ рд╕реНрд╡рд┐рдЪрдкреЗрдХреНрд╖рд╛ рдкреНрд░рд╛рдзрд╛рдиреНрдп рдорд┐рд│рддреЗ. рдбреЕрд╢рдмреЛрд░реНрдбрдордзреНрдпреЗ, **рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЧрджреНрдп** рдЖрдЙрдЯрдкреБрдЯ рд╢реИрд▓реА рд╕рдХреНрд╖рдо рдХреЗрд▓реНрдпрд╛рд╕ рд╣рд╛рдЪ рдмреНрд▓реЙрдХ рдЗрдВрдЬреЗрдХреНрдЯ рд╣реЛрддреЛ (рдЦрд╛рд▓реАрд▓ рдЖрдЙрдЯрдкреБрдЯ рд╢реИрд▓реА рдкрд╛рд╣рд╛). ### рдЖрдЙрдЯрдкреБрдЯ рд╢реИрд▓реА (рдХреЕрдЯрд▓реЙрдЧ) рд╡рд░реАрд▓ рдЖрджрд┐рдорд╛рдирд╡ рдЖрдЙрдЯрдкреБрдЯ рдореЛрдб рд╣рд╛ **рдЬреБрдирд╛ рдПрдХрд▓-рд╢реИрд▓реА рдорд╛рд░реНрдЧ** рдЖрд╣реЗ. Phase 4 рдиреЗ рддреНрдпрд╛рдЪреЗ рд╕рдВрдпреЛрдЬрдиреАрдп рдЖрдЙрдЯрдкреБрдЯ рд╢реИрд▓реАрдВрдЪреНрдпрд╛ рдХреЕрдЯрд▓реЙрдЧрдордзреНрдпреЗ рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рдХреЗрд▓реЗ: `open-sse/services/compression/outputStyles/catalog.ts` рдордзреАрд▓ `OUTPUT_STYLE_CATALOG`. рдкреНрд░рддреНрдпреЗрдХ рд╢реИрд▓реА рд╣реА system-prompt рд╕реВрдЪрдирд╛ рдЖрд╣реЗ рдЬреА рдореЙрдбреЗрд▓рд▓рд╛рдЪ рдХрдореА рдЦрд░реНрдЪрд┐рдХ рдЖрдЙрдЯрдкреБрдЯ рджреЗрдгреНрдпрд╛рд╕ рд╕рд╛рдВрдЧрддреЗ; рд╢реИрд▓реА рдПрдХрддреНрд░рд┐рддрдкрдгреЗ рд╕рдХреНрд╖рдо рдХрд░рддрд╛ рдпреЗрддрд╛рдд рдЖрдгрд┐ рдХреЕрдЯрд▓реЙрдЧ рдХреНрд░рдорд╛рдиреЗ рдЗрдВрдЬреЗрдХреНрдЯ рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд. | рд╢реИрд▓реА | `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` | "рд╕рд░реНрд╡реЛрддреНрддрдо рдХреЛрдб рдореНрд╣рдгрдЬреЗ рдХрдзреАрд╣реА рди рд▓рд┐рд╣рд┐рд▓реЗрд▓рд╛ рдХреЛрдб": рдкреБрдирд░реНрд╡рд╛рдкрд░ > рдкреБрдирд░реНрд▓реЗрдЦрди, рдореВрд│ рдХрд╛рд░рдг > рд▓рдХреНрд╖рдг, рд╕рд░реНрд╡рд╛рдВрдд рд▓рд╣рд╛рди рдХрд╛рд░реНрдпрд░рдд diff. | en, pt-BR, es, de, fr, it, ru, zh, ja, id, vi | | рдорд▓рд╛ ADHD рдЖрд╣реЗ (рдХреГрддреА-рдкреНрд░рдердо) | `i-have-adhd` | рдЖрдзреА рдХреГрддреА (рдЧрджреНрдпрд╛рдкреВрд░реНрд╡реА command/path/snippet), рдХреНрд░рдорд╛рдВрдХрд┐рдд рдорд░реНрдпрд╛рджрд┐рдд рдкрд╛рдпрд▒реНрдпрд╛, рдПрдХрдЪ рдареЛрд╕ рдкреБрдвреАрд▓ рдкрд╛рдКрд▓, рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛/рд╕рд╛рд░рд╛рдВрд╢/рд╕рдорд╛рд░реЛрдк рдирд╛рд╣реА. [ayghri/i-have-adhd](https://github.com/ayghri/i-have-adhd) (MIT) рд╡рд░реВрди рд░реВрдкрд╛рдВрддрд░рд┐рдд. | en, pt-BR, es, de, fr, it, ru, zh, ja, id, vi | | Antislop UI рдлрд┐рд▓реНрдЯрд░ | `antislop-ui` | рдкреНрд░рддреНрдпреЗрдХ рджреГрд╢реНрдп рддрдВрддреНрд░рд╛рдиреЗ рдЙрджреНрджреЗрд╢ рдЪрд╛рдЪрдгреА рдЙрддреНрддреАрд░реНрдг рдХреЗрд▓реА рдкрд╛рд╣рд┐рдЬреЗ (рд╢реНрд░реЗрдгреАрдХреНрд░рдо, рдУрд│рдЦ, рд╡рд╛рдЪрдиреАрдпрддрд╛); рдбреАрдлреЙрд▓реНрдЯ gradients/glass/glow рдирд╛рд╣реАрдд, рдорд░реНрдпрд╛рджрд┐рдд рдкреЕрд▓реЗрдЯ, рдЯреЗрдореНрдкрд▓реЗрдЯ рдорд╛рдВрдбрдгреА рдирд╛рд╣реА. рджреЛрдиреНрд╣реА antislop рд╢реИрд▓реА рдирд┐рд╖реНрдХреНрд░рд┐рдп рдирд┐рдпрдВрддреНрд░рдгреЗ рдирд╕рд╛рд╡реАрдд / рдмрдирд╛рд╡рдЯ рджрд╛рд╡реЗ рдирд╕рд╛рд╡реЗрдд рдЕрд╢реА рдорд░реНрдпрд╛рджрд╛ рдЬреЛрдбрддрд╛рдд. | en, pt-BR, es, de, fr, it, ru, zh, ja, id, vi | | Antislop рдордЬрдХреВрд░ рдЖрдгрд┐ рдорд╛рдирд╡реА рдлрд┐рд▓реНрдЯрд░ | `antislop-copy` | рд╡рд┐рд╢рд┐рд╖реНрдЯ рдордЬрдХреВрд░ (em dash, рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдг CTAs, buzzwords, chatbot рд╕рдорд╛рд░реЛрдк, рдмрдирд╡рд▓реЗрд▓реА рддрдереНрдпреЗ рдирд╛рд╣реАрдд) рддрд╕реЗрдЪ рд▓реЛрдХрд╛рдВрд╕рд╛рдареА рдирд┐рдпрдо: WCAG AA contrast, рджреГрд╢реНрдпрдорд╛рди focus, keyboard рдкреЛрд╣реЛрдЪ, рд░рд┐рдХреНрдд/loading/error рдЕрд╡рд╕реНрдерд╛, mobile reflow. | en, pt-BR, es, de, fr, it, ru, zh, ja, id, vi | | рд╕рдВрдХреНрд╖рд┐рдкреНрдд CJK (цЦЗшиА) | `terse-cjk` | `full`/`ultra` рдЙрддреНрддрд░ Classical Chinese (цЦЗшиА) рдордзреНрдпреЗ; `lite` рдлрдХреНрдд рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╢рдмреНрдж, рдФрдкрдЪрд╛рд░рд┐рдХ рд╕реМрдЬрдиреНрдп рдХрд┐рдВрд╡рд╛ рдЕрд▓рдВрдХрд░рдг рдирд╕рд▓реЗрд▓реА рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЙрддреНрддрд░реЗ рдорд╛рдЧрддреЗ. | zh (locale-gated, рдЦрд╛рд▓реА рдкрд╛рд╣рд╛) | рдкреНрд░рддреНрдпреЗрдХ рд╢реИрд▓реАрд╕реЛрдмрдд рддреАрди рддреАрд╡реНрд░рддрд╛ рд╕реНрддрд░ рдорд┐рд│рддрд╛рдд тАФ `lite`, `full`, `ultra` тАФ рдЖрдгрд┐ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрддрд░ рд╕рд╛рдорд╛рдпрд┐рдХ рдорд░реНрдпрд╛рджрд╛ рдХрд▓рдорд╛рдиреЗ (`outputMode.ts` рдордзреАрд▓ `SHARED_BOUNDARIES`) рд╕рдВрдкрддреЛ, рдЬреЗ рдХреЛрдб рдмреНрд▓реЙрдХ, рдлрд╛рдЗрд▓ рдкрде, рдЖрджреЗрд╢, рддреНрд░реБрдЯреА рдЖрдгрд┐ URLs рддрдВрддреЛрддрдВрдд рдареЗрд╡рддреЗ. `terse-prose` рдЖрдгрд┐ `terse-cjk` рд╕реНрддрд░рд╛рдВрдЪреЗ рдордЬрдХреВрд░ рддреНрдпрд╛ рдпрд╛рджреАрдд identifiers рдЬреЛрдбрддрд╛рдд. `terse-cjk` рд╣реЗ рджреЛрди рдард┐рдХрд╛рдгреА `zh` рд╕рд╛рдареА locale-gated рдЖрд╣реЗ. Compression Settings рдкреГрд╖реНрдард╛рд╡рд░ рдбреЕрд╢рдмреЛрд░реНрдб UI рднрд╛рд╖рд╛ рдЪрд┐рдиреА (`zh-CN` рдХрд┐рдВрд╡рд╛ `zh-TW`) рдЕрд╕реЗрд▓ рддреЗрд╡реНрд╣рд╛рдЪ рддреНрдпрд╛рдЪреА рдУрд│ рджрд╛рдЦрд╡рд▓реА рдЬрд╛рддреЗ, рдЖрдгрд┐ рд╡рд┐рдирдВрддреАрдЪреА рдирд┐рд░реНрдзрд╛рд░рд┐рдд рднрд╛рд╖рд╛ (рдЦрд╛рд▓реАрд▓ рднрд╛рд╖рд╛ рдирд┐рд╡рдб рдкрд╛рд╣рд╛) `zh` рдЕрд╕реЗрд▓ рддреЗрд╡реНрд╣рд╛рдЪ `applyOutputStyles()` рддреЗ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рддреЗ. рдУрд│ рд▓рдкрд╡рд▓реНрдпрд╛рдиреЗ рдЬрддрди рдХреЗрд▓реЗрд▓реА `terse-cjk` рдирд┐рд╡рдб рд╕рд╛рдл рд╣реЛрдд рдирд╛рд╣реА: settings API рдХреЛрдгрддрд╛рд╣реА рд╢реИрд▓реА id рд╕реНрд╡реАрдХрд╛рд░рддреЗ, рдЖрдгрд┐ рдкреГрд╖реНрдард╛рд╡рд░ рдЗрддрд░ рд╢реИрд▓реА рдЬрддрди рдХреЗрд▓реНрдпрд╛рдиреЗ рддреА рдЯрд┐рдХреВрди рд░рд╛рд╣рддреЗ. рд╡рд┐рдирдВрддреАрдЪреНрдпрд╛ рд╡реЗрд│реА, `applyOutputStyles()` рдЪреА рднрд╛рд╖рд╛ рддрдкрд╛рд╕рдгреА рд╣реЗрдЪ рдПрдХрдореЗрд╡ locale gate рдЖрд╣реЗ. #### рдЗрдВрдЬреЗрдХреНрд╢рди рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ `applyOutputStyles()` (`open-sse/services/compression/outputStyles/apply.ts`) рдирд┐рд╡рдбреАрдЪреЗ рдХреЕрдЯрд▓реЙрдЧрд╢реА рдирд┐рд░рд╛рдХрд░рдг рдХрд░рддреЗ (рдЕрдЬреНрдЮрд╛рдд ids рдЖрдгрд┐ locale рди рдЬреБрд│рдгрд╛рд▒реНрдпрд╛ рд╢реИрд▓реА рд╡рдЧрд│рд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд, рддреНрдпрд╛ рдХрдзреАрд╣реА рддреНрд░реБрдЯреА рдорд╛рдирд▓реНрдпрд╛ рдЬрд╛рдд рдирд╛рд╣реАрдд; рдЬреНрдпрд╛ рдирд┐рд╡рдбреАрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХреЛрдгрддреНрдпрд╛рд╣реА рд╢реИрд▓реАрдд рд╣реЛрдд рдирд╛рд╣реА рддреА body рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рдареЗрд╡рддреЗ рдЖрдгрд┐ `no_styles` рдореНрд╣рдгреВрди рд╡рдЧрд│рд▓реА рдЬрд╛рддреЗ), рдирд┐рд╡рдбрд▓реЗрд▓реНрдпрд╛ рд╕реВрдЪрдирд╛ рдХреЕрдЯрд▓реЙрдЧрдЪреНрдпрд╛ рдХреНрд░рдорд╛рдиреЗ рдЬреЛрдбрддреЗ, boundaries clause **рдлрдХреНрдд рдПрдХрджрд╛рдЪ** рдЬреЛрдбрддреЗ (рддрд╕реЗрдЪ `less-code` рдХрд┐рдВрд╡рд╛ `ponytail` рдирд┐рд╡рдбрд▓реЗ рдЕрд╕рд▓реНрдпрд╛рд╕ safety clause, `SAFETY_BOUNDARIES` рдХрд┐рдВрд╡рд╛ рддреНрдпрд╛рдЪреЗ рднрд╛рд╖рд╛рдВрддрд░) рдЖрдгрд┐ block рдЪреА рд╕реБрд░реБрд╡рд╛рдд рдПрдХрд╛рдЪ idempotency marker рдиреЗ (`[OmniRoute Output Styles]`) рдХрд░рддреЗ, рддреНрдпрд╛рдореБрд│реЗ рддреЗ рдкреБрдиреНрд╣рд╛ рд▓рд╛рдЧреВ рдХрд░рдгреЗ no-op рдЕрд╕рддреЗ. рдирд┐рд░рд╛рдХрд░рдг рдХреЗрд▓реЗрд▓реНрдпрд╛ рднрд╛рд╖реЗрд╕рд╛рдареА (рдЦрд╛рд▓реАрд▓ Language selection рдкрд╛рд╣рд╛) рднрд╛рд╖рд╛рдВрддрд░ рдЙрдкрд▓рдмреНрдз рдЕрд╕рд▓реНрдпрд╛рд╕, рдЗрдВрдЧреНрд░рдЬреАрдРрд╡рдЬреА рд╕реНрдерд╛рдирд┐рдХреАрдХрд░рдг рдХреЗрд▓реЗрд▓реА рд╕реВрдЪрдирд╛ рдЕрдВрддрд░реНрднреВрдд рдХреЗрд▓реА рдЬрд╛рддреЗ. рд░рд┐рдХреНрдд рдирд╕рд▓реЗрд▓рд╛ `messages` array рдЕрд╕рд▓реЗрд▓реНрдпрд╛ body рд╡рд░, idempotency рддрдкрд╛рд╕рдгреА content bypass рдЪреНрдпрд╛ рдЖрдзреА рдЪрд╛рд▓рддреЗ: `[OmniRoute Output Styles]` marker рдЖрдзреАрдЪ top-level `system` field рдордзреНрдпреЗ (string рдХрд┐рдВрд╡рд╛ content-block array) рдХрд┐рдВрд╡рд╛ string content рдЕрд╕рд▓реЗрд▓реНрдпрд╛ system message рдордзреНрдпреЗ рдЕрд╕рд▓реНрдпрд╛рд╕, body `already_applied` рдореНрд╣рдгреВрди рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рдареЗрд╡рд▓реА рдЬрд╛рддреЗ рдЖрдгрд┐ keyword рддрдкрд╛рд╕рдгреА рдЪрд╛рд▓рдд рдирд╛рд╣реА. рдЕрдиреНрдпрдерд╛ content bypass (`open-sse/services/compression/outputMode.ts` рдордзреАрд▓ `shouldBypassCavemanOutputMode()`) рд╢реЗрд╡рдЯрдЪреНрдпрд╛ рддреАрди messages рдЪрд╛ рдордЬрдХреВрд░ рддрдкрд╛рд╕рддреЛ, рддреНрдпрд╛рдВрдЪреА role рдХреЛрдгрддреАрд╣реА рдЕрд╕реЛ, рдЖрдгрд┐ рддреЛ рдордЬрдХреВрд░ рддреНрдпрд╛рддреАрд▓ security, irreversible-action рдХрд┐рдВрд╡рд╛ clarification keywords рд╢реА рдЬреБрд│рд▓реНрдпрд╛рд╕, рдХрд┐рдВрд╡рд╛ рдХреНрд░рдо-рд╕рдВрд╡реЗрджрдирд╢реАрд▓ sequence рд╢реА рдЬреБрд│рд▓реНрдпрд╛рд╕ рд╕рдВрдкреВрд░реНрдг turn рд╕рд╛рдареА styles рд╡рдЧрд│рддреЛ: `first`, `then`, `after that`, `before`, `rollback` рдХрд┐рдВрд╡рд╛ `backup`, рдЖрдгрд┐ рддреНрдпрд╛рдирдВрддрд░ 240 characters рдЪреНрдпрд╛ рдЖрдд `delete`, `drop`, `migrate`, `deploy` рдХрд┐рдВрд╡рд╛ `release`. **Auto-Clarity Bypass** toggle (`cavemanOutputMode.autoClarity`, default рдиреЗ on) рд╕реБрд░реВ рдЕрд╕рддрд╛рдирд╛ bypass рдЪрд╛рд▓рддреЛ; toggle рдмрдВрдж рдХреЗрд▓реНрдпрд╛рд╕ keyword рддрдкрд╛рд╕рдгреА рд╡рдЧрд│рд▓реА рдЬрд╛рддреЗ. bypass рдиреЗ turn рдкреБрдвреЗ рдЬрд╛рдК рджрд┐рд▓реНрдпрд╛рд╡рд░, `placeSystemInstruction()` (рддреНрдпрд╛рдЪ file рдордзреАрд▓), рдЬреЗ рдХрдзреАрд╣реА рдирд╡реАрди `messages[0]` рддрдпрд╛рд░ рдХрд░рдд рдирд╛рд╣реА, рддреНрдпрд╛рд▓рд╛ рд╕рд╛рдкрдбрдгрд╛рд▒реНрдпрд╛ рдЦрд╛рд▓реАрд▓рдкреИрдХреА рдкрд╣рд┐рд▓реНрдпрд╛ рдард┐рдХрд╛рдгреА block рдареЗрд╡рддреЗ: 1. string content рдЕрд╕рд▓реЗрд▓рд╛ рд╕реБрд░реБрд╡рд╛рддреАрдЪрд╛ system message: рддреНрдпрд╛рдЪреНрдпрд╛ рдордЬрдХреБрд░рд╛рдирдВрддрд░ block рдЬреЛрдбрд▓рд╛ рдЬрд╛рддреЛ. 2. top-level `system` field: string рдЪреНрдпрд╛ рдордЬрдХреБрд░рд╛рдирдВрддрд░ block рдЬреЛрдбрд▓рд╛ рдЬрд╛рддреЛ рдХрд┐рдВрд╡рд╛ content-block array рдордзреНрдпреЗ рдирд╡реАрди text block рдореНрд╣рдгреВрди рддреЛ рдЬреЛрдбрд▓рд╛ рдЬрд╛рддреЛ. 3. string content рдЕрд╕рд▓реЗрд▓рд╛ рдирдВрддрд░рдЪрд╛ рдкрд╣рд┐рд▓рд╛ system message: рддреНрдпрд╛рдЪреНрдпрд╛ рдордЬрдХреБрд░рд╛рдирдВрддрд░ block рдЬреЛрдбрд▓рд╛ рдЬрд╛рддреЛ. 4. рд╡рд░реАрд▓рдкреИрдХреА рдХрд╛рд╣реАрд╣реА рдирд╕рд▓реНрдпрд╛рд╕: `messages` рдЪреНрдпрд╛ рд╢реЗрд╡рдЯреА рдирд╡реАрди system message рдордзреНрдпреЗ block рдареЗрд╡рд▓рд╛ рдЬрд╛рддреЛ. `messages` array рдирд╕рд▓реЗрд▓реНрдпрд╛ (рдХрд┐рдВрд╡рд╛ рд░рд┐рдХрд╛рдорд╛ array рдЕрд╕рд▓реЗрд▓реНрдпрд╛) body рд╡рд░ рдХреЛрдгрддрд╛рд╣реА content bypass рдЪрд╛рд▓рдд рдирд╛рд╣реА рдЖрдгрд┐ top-level `system` field рд╡рд┐рдЪрд╛рд░рд╛рдд рдШреЗрддрд▓рд╛ рдЬрд╛рдд рдирд╛рд╣реА. string `instructions` field рдЪреНрдпрд╛ рдордЬрдХреБрд░рд╛рдирдВрддрд░ block рдЬреЛрдбрд▓рд╛ рдЬрд╛рддреЛ, рдЬреЛрдкрд░реНрдпрдВрдд рддреНрдпрд╛ field рдордзреНрдпреЗ рдЖрдзреАрдЪ `[OmniRoute Output Styles]` marker рдирд╕рддреЛ; рддреЛ рдЕрд╕рд▓реНрдпрд╛рд╕ body `already_applied` рдореНрд╣рдгреВрди рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рдареЗрд╡рд▓реА рдЬрд╛рддреЗ. body рдордзреНрдпреЗ string `instructions` field рдирд╕рд▓рд╛, рдкрдг `input` (string рдХрд┐рдВрд╡рд╛ array) рдЕрд╕рд▓реНрдпрд╛рд╕, рддреНрдпрд╛ field рдордзреНрдпреЗ рдкреВрд░реНрд╡реА рдЕрд╕рд▓реЗрд▓реА рдХреЛрдгрддреАрд╣реА non-string value рдмрджрд▓реВрди block рд╣реЗ `instructions` рдмрдирддреЗ. string `instructions` field рдХрд┐рдВрд╡рд╛ string рдЕрдерд╡рд╛ array `input` рдпрд╛рдВрдкреИрдХреА рдХрд╛рд╣реАрд╣реА рдирд╕рд▓реЗрд▓реА body рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рдареЗрд╡рд▓реА рдЬрд╛рддреЗ рдЖрдгрд┐ `no_messages` рдореНрд╣рдгреВрди рд╡рдЧрд│рд▓реА рдЬрд╛рддреЗ. #### рд╕рдХреНрд╖рдо рдХрд╕реЗ рдХрд░рд╛рд╡реЗ dashboard рдордзреНрдпреЗ: **Compression Context тЖТ Compression Settings** (`/dashboard/context/settings`), Output styles рд╡рд┐рднрд╛рдЧ: рдкреНрд░рддреНрдпреЗрдХ style рд╕рд╛рдареА on/off toggle рдЖрдгрд┐ level selector рдЕрд╕рд▓реЗрд▓реА рдПрдХ row. compression рд╕реНрд╡рддрдГ рд╕реБрд░реВ рдЕрд╕рддрд╛рдирд╛ (page рдЪрд╛ master toggle, `enabled`) styles рдЕрдВрддрд░реНрднреВрдд рд╣реЛрддрд╛рдд. **Auto-Clarity Bypass** toggle **Caveman** page (`/dashboard/context/caveman`) рд╡рд░реАрд▓ рддреНрдпрд╛рдЪреНрдпрд╛ **Output Mode** card рдордзреНрдпреЗ рдЖрд╣реЗ. Programmatically, compression config рдирд┐рд╡рдб рдкреБрдвреАрд▓рдкреНрд░рдорд╛рдгреЗ рдХрд╛рдпрдо рд╕рд╛рдард╡рддреЗ: ```json { "outputStyles": [ { "id": "i-have-adhd", "level": "full" }, { "id": "less-code", "level": "lite" } ] } ``` Back-compat: `outputStyles` рд░рд┐рдХрд╛рдореЗ рдЕрд╕рддрд╛рдирд╛, legacy `cavemanOutputMode.enabled` setting рд╣реЗ `cavemanOutputMode.intensity` рд╡рд░реАрд▓ `terse-prose` рд╢реА map рд╣реЛрддреЗ. рддреНрдпрд╛рдирдВрддрд░ block рдЪреА рд╕реБрд░реБрд╡рд╛рдд `[OmniRoute Output Styles]` marker рдиреЗ рд╣реЛрддреЗ, рддрд░ legacy `applyCavemanOutputMode()` injector рдиреЗ `[OmniRoute Caveman Output Mode]` рд▓рд┐рд╣рд┐рд▓реЗ рд╣реЛрддреЗ. marker рдЪреНрдпрд╛ рдЦрд╛рд▓реА, en, pt-BR, es, de, fr, it, ru, id рдЖрдгрд┐ vi рдордзреНрдпреЗ рдордЬрдХреВрд░ legacy injection рд╢реА рдЬреБрд│рддреЛ; ja рдЖрдгрд┐ zh рдордзреНрдпреЗ boundaries clause рдЪреНрдпрд╛ рдЖрдзреА рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд space рдЕрд╕рддреЛ. `terse-prose` рдЪреЗ pt-BR, es, de, fr, it, ru, zh, ja, id рдЖрдгрд┐ vi рдордзреНрдпреЗ рднрд╛рд╖рд╛рдВрддрд░ рд╣реЛрддреЗ, рддреНрдпрд╛рдореБрд│реЗ рдЬреНрдпрд╛ request рдЪреА рдирд┐рд░рд╛рдХрд░рдг рдХреЗрд▓реЗрд▓реА рднрд╛рд╖рд╛ `hu` рдЖрд╣реЗ рддрд┐рд▓рд╛ рдЗрдВрдЧреНрд░рдЬреА рдордЬрдХреВрд░ рдорд┐рд│рддреЛ, рдЬрд┐рдереЗ legacy injector рдиреЗ Hungarian рдордЬрдХреВрд░ рд╡рд╛рдкрд░рд▓рд╛ рд╣реЛрддрд╛. Output-style рднрд╛рд╖рд╛ рдирд┐рд╡рдб (`outputStyles/apply.ts` рдордзреАрд▓ `resolveOutputStyleLanguage()`): `languageConfig.enabled` on рдЕрд╕рддрд╛рдирд╛, `autoDetect` request рдЪреНрдпрд╛ `messages` array рдордзреАрд▓ рдордЬрдХреВрд░ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕рд░реНрд╡рд╛рдд рдЕрд▓реАрдХрдбреАрд▓ user message рдЪрд╛ sample рдШреЗрддреЛ (string content рдХрд┐рдВрд╡рд╛ рддреНрдпрд╛рдЪреНрдпрд╛ content parts рдордзреАрд▓ `text`) рдЖрдгрд┐ рддреНрдпрд╛рд╡рд░ Caveman engine рдЪрд╛ detector (`detectCompressionLanguage()`) рдЪрд╛рд▓рд╡рддреЛ. Han characters рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдЖрдгрд┐ kana рдирд╕рд▓реЗрд▓реНрдпрд╛ рдордЬрдХреБрд░рд╛рд╕рд╛рдареА detector `zh` рдкрд░рдд рдХрд░рддреЛ; рдЕрдиреНрдпрдерд╛ `it`, `pt-BR`, `es`, `de`, `fr`, `ru`, `ja`, `hu` рдЖрдгрд┐ `id` рдпрд╛рдВрдкреИрдХреА рдЬреНрдпрд╛рдд рд╕рд░реНрд╡рд╛рдзрд┐рдХ hint matches рдЖрд╣реЗрдд рддреА рднрд╛рд╖рд╛ рдкрд░рдд рдХрд░рддреЛ, рдЖрдгрд┐ рдХрд╛рд╣реАрд╣реА рдЬреБрд│рдд рдирд╕рд▓реНрдпрд╛рд╕ `en` рдкрд░рдд рдХрд░рддреЛ тАФ рдЬреНрдпрд╛рдЪреЗ рд╡рд░реНрдЧреАрдХрд░рдг рдХрд░рддрд╛ рдпреЗрдд рдирд╛рд╣реА рдЕрд╢рд╛ рдордЬрдХреБрд░рд╛рд╕рд╛рдареА English рдорд┐рд│рддреЗ, `defaultLanguage` рдХрдзреАрд╣реА рдирд╛рд╣реА, рдЖрдгрд┐ styles рдордзреНрдпреЗ `vi` рдордЬрдХреВрд░ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЕрд╕рд▓рд╛ рддрд░реА `vi` рдХрдзреАрд╣реА detect рд╣реЛрдд рдирд╛рд╣реА. Responses API body рдЖрдкрд▓реЗ turns `input` рдордзреНрдпреЗ рдареЗрд╡рддреЗ, рдЬреНрдпрд╛рдЪрд╛ sample рдШреЗрддрд▓рд╛ рдЬрд╛рдд рдирд╛рд╣реА, рддреНрдпрд╛рдореБрд│реЗ рддрд┐рд▓рд╛ `defaultLanguage`, рдЖрдгрд┐ рдирдВрддрд░ English рдорд┐рд│рддреЗ. `messages` рдордзреАрд▓ рдХреЛрдгрддреНрдпрд╛рд╣реА user message рдордзреНрдпреЗ рдордЬрдХреВрд░ рдирд╕рд▓реНрдпрд╛рд╕, рдХрд┐рдВрд╡рд╛ `autoDetect` off рдЕрд╕рд▓реНрдпрд╛рд╕, `defaultLanguage` рд▓рд╛рдЧреВ рд╣реЛрддреЗ рдЖрдгрд┐ рддреНрдпрд╛рдирдВрддрд░ English рд▓рд╛рдЧреВ рд╣реЛрддреЗ. `languageConfig.enabled` off рдЕрд╕рд▓реНрдпрд╛рд╕, рднрд╛рд╖рд╛ English рдЕрд╕рддреЗ тАФ request рд▓рд╛ compression combo рд▓рд╛рдЧреВ рд╣реЛрдд рдирд╕реЗрд▓ рддрд░рдЪ (request рдЪреНрдпрд╛ routing combo рд▓рд╛ рдирд┐рдпреБрдХреНрдд рдХреЗрд▓реЗрд▓рд╛ combo, рдХрд┐рдВрд╡рд╛ built-in stacked pipeline рд╕рд╛рдареА chatCore fallback рдореНрд╣рдгреВрди рд╡рд╛рдкрд░рдд рдЕрд╕рд▓реЗрд▓рд╛ default compression combo): combo рд▓рд╛рдЧреВ рдХреЗрд▓реНрдпрд╛рдиреЗ рддреНрдпрд╛ request рд╕рд╛рдареА `languageConfig.enabled` on рд╣реЛрддреЗ рдЖрдгрд┐ combo рдЪреНрдпрд╛ language packs рдордзреВрди `defaultLanguage` рд╕реЗрдЯ рд╣реЛрддреЗ (рдЬрддрди рдХреЗрд▓реЗрд▓реА value combo рдЪреНрдпрд╛ packs рдкреИрдХреА рдПрдХ рдЕрд╕рд▓реНрдпрд╛рд╕ рддреА; рдЕрдиреНрдпрдерд╛ combo рдЪрд╛ рдкрд╣рд┐рд▓рд╛ pack, рдЬреЛ default рдиреЗ `en` рдЕрд╕рддреЛ), рддрд░ рдЬрддрди рдХреЗрд▓реЗрд▓реЗ `autoDetect` (default рдиреЗ on) рддрд░реАрд╣реА рд▓рд╛рдЧреВ рд╣реЛрддреЗ. Caveman input engine рддреНрдпрд╛рдЪреНрдпрд╛ rule-pack рдЪреА рднрд╛рд╖рд╛ рд╡реЗрдЧрд│реНрдпрд╛ рдкреНрд░рдХрд╛рд░реЗ рдирд┐рд╡рдбрддреЗ тАФ рдкреНрд░рддреНрдпреЗрдХ text part рдиреБрд╕рд╛рд░ рдЖрдгрд┐ auto-detect off рдЕрд╕рддрд╛рдирд╛, `enabledPacks` рдиреБрд╕рд╛рд░ gated рдкрджреНрдзрддреАрдиреЗ. рд╢реИрд▓реА ├Ч рднрд╛рд╖рд╛ рдореЕрдЯреНрд░рд┐рдХреНрд╕ `tests/unit/compression/output-styles-i18n-matrix.test.ts` рджреНрд╡рд╛рд░реЗ рдирд┐рд╢реНрдЪрд┐рдд рдХреЗрд▓рд╛ рдЖрд╣реЗ: рдкреНрд░рддреНрдпреЗрдХ рдХреЕрдЯрд▓реЙрдЧ рд╢реИрд▓реАрд╕рд╛рдареА рдЪрд╛рдЪрдгреАрдЪреНрдпрд╛ `BASELINE_LANGUAGES` рдордзреНрдпреЗ рдиреЛрдВрдж рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ; locale-gated рдирд╕рд▓реЗрд▓реНрдпрд╛ рд╢реИрд▓реАрд╕рд╣ pt-BR рднрд╛рд╖рд╛рдВрддрд░ рджрд┐рд▓реЗрд▓реЗ рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ (locale-gated `terse-cjk` рд▓рд╛ рдпрд╛ рдирд┐рдпрдорд╛рддреВрди рд╕реВрдЯ рдЖрд╣реЗ), рдЬреЛрдкрд░реНрдпрдВрдд рддреА `KNOWN_ENGLISH_ONLY` рдордзреНрдпреЗ рд╕реВрдЪреАрдмрджреНрдз рдХреЗрд▓реЗрд▓реА рдирд╛рд╣реА. рддреНрдпрд╛рдд рдлрдХреНрдд рдЕрдЬрд┐рдмрд╛рдд рднрд╛рд╖рд╛рдВрддрд░реЗ рдирд╕рд▓реЗрд▓реНрдпрд╛ рд╢реИрд▓реАрдЪ рдЕрд╕реВ рд╢рдХрддрд╛рдд тАФ рд╕реВрдЪреАрдмрджреНрдз рд╢реИрд▓реАрдЪреЗ рдХреЛрдгрддреЗрд╣реА рднрд╛рд╖рд╛рдВрддрд░ рдЕрд╕рд▓реНрдпрд╛рд╕ рдЪрд╛рдЪрдгреА рдЕрдпрд╢рд╕реНрд╡реА рд╣реЛрддреЗ; рддрд╕реЗрдЪ рдПрдЦрд╛рджреНрдпрд╛ рд╢реИрд▓реАрдиреЗ рддрд┐рдЪреНрдпрд╛ `BASELINE_LANGUAGES` рдиреЛрдВрджреАрдд рд╕реВрдЪреАрдмрджреНрдз рдХреЗрд▓реЗрд▓реА рднрд╛рд╖рд╛ рдЧрдорд╛рд╡рд▓реНрдпрд╛рд╕ рдЪрд╛рдЪрдгреА рдЕрдпрд╢рд╕реНрд╡реА рд╣реЛрддреЗ. рд╢реИрд▓реА рдЬреЛрдбрдгреНрдпрд╛рд╕рд╛рдареА, [EXTENDING_COMPRESSION.md](./EXTENDING_COMPRESSION.md#adding-an-output-style) рдкрд╣рд╛. ### рдЯреВрд▓ рдкрд░рд┐рдгрд╛рдо рдХреЙрдореНрдкреНрд░реЗрд╢рди `open-sse/services/compression/toolResultCompressor.ts` рдордзреАрд▓ `compressToolResult()` **5 рдзреЛрд░рдгрд╛рдВрдЪрд╛** рд╡рд╛рдкрд░ рдХрд░реВрди рдЯреВрд▓-рдкрд░рд┐рдгрд╛рдо рдордЬрдХреВрд░ рдХреЙрдореНрдкреНрд░реЗрд╕ рдХрд░рддреЗ. рддреА рдЦрд╛рд▓реАрд▓ рдХреНрд░рдорд╛рдиреЗ рддреНрдпрд╛рдВрдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рддреЗ рдЖрдгрд┐ рдЬреНрдпрд╛ рдкрд╣рд┐рд▓реНрдпрд╛ рд╕рдХреНрд╖рдо рдзреЛрд░рдгрд╛рдЪреА рддрдкрд╛рд╕рдгреА рд╕рд╛рдордЧреНрд░реАрд╢реА рдЬреБрд│рддреЗ, рддреЗ рдкрд░рд┐рдгрд╛рдо рдард░рд╡рддреЗ: 1. **`fileContent`**: 3 рдХрд┐рдВрд╡рд╛ рдЕрдзрд┐рдХ рдУрд│реАрдВрдЪреА рдЕрд╢реА рд╕рд╛рдордЧреНрд░реА, рдЬреНрдпрд╛рдд рдЕрдЧреНрд░рднрд╛рдЧреА рдЕрд╕рд▓реЗрд▓реЗ рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рджреБрд░реНрд▓рдХреНрд╖рд┐рдд рдХреЗрд▓реНрдпрд╛рдирдВрддрд░ рдХрд┐рдорд╛рди рдПрдХ рдУрд│ `import `, `export `, `function `, `class `, `const `, `let `, `var ` рдХрд┐рдВрд╡рд╛ `return ` (рдХреАрд╡рд░реНрдб рдЖрдгрд┐ рддреНрдпрд╛рдирдВрддрд░ рд╕реНрдкреЗрд╕) рдиреЗ, рдХрд┐рдВрд╡рд╛ `if`, `for` рдЕрдерд╡рд╛ `while` рдирдВрддрд░ `(` рдХрд┐рдВрд╡рд╛ ` (` рдиреЗ рд╕реБрд░реВ рд╣реЛрддреЗ, рддрд┐рдЪреНрдпрд╛ рдкрд╣рд┐рд▓реНрдпрд╛ 20 рдЖрдгрд┐ рд╢реЗрд╡рдЯрдЪреНрдпрд╛ 5 рдУрд│реА рдареЗрд╡рддреЗ рд╡ рд╡рдЧрд│рд▓реЗрд▓рд╛ рдордзрд▓рд╛ рднрд╛рдЧ рдЪрд┐рдиреНрд╣рд╛рдВрдХрд┐рдд рдХрд░рддреЗ. 2. **`grepSearch`**: `::` рдпрд╛ рд╕реНрд╡рд░реВрдкрд╛рдЪреА рдХрд┐рдорд╛рди рдПрдХ рдУрд│ рдЕрд╕рд▓реЗрд▓реА рд╕рд╛рдордЧреНрд░реА, рдЬреНрдпрд╛рдд рдкрд╣рд┐рд▓реНрдпрд╛ рдХреЛрд▓рдирдкреВрд░реНрд╡реАрдЪреНрдпрд╛ рдордЬрдХреБрд░рд╛рдд whitespace рдирд╕рддреЗ, рдлрдХреНрдд рдЕрд╢рд╛рдЪ рдУрд│реА рдареЗрд╡рддреЗ, рдХрдорд╛рд▓ 30; рддреНрдпрд╛рдирдВрддрд░ рдкреБрдвреАрд▓ рдХреЛрдгрддреНрдпрд╛рд╣реА рдЬреБрд│рдгреНрдпрд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛ рдЖрдгрд┐ рдЬреБрд│рд▓реЗрд▓реНрдпрд╛ рдлрд╛рдЗрд▓реНрд╕рдЪреА рд╕реВрдЪреА рджреЗрддреЗ; рдЗрддрд░ рдкреНрд░рддреНрдпреЗрдХ рдУрд│ рд╡рдЧрд│рд▓реА рдЬрд╛рддреЗ. рдзреЛрд░рдг рдЯреНрд░рд┐рдЧрд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЕрд╢реА рдПрдХ рдУрд│ рдкреБрд░реЗрд╢реА рдЖрд╣реЗ, рддреНрдпрд╛рдореБрд│реЗ `12:30:45` рд╕рд╛рд░рдЦреНрдпрд╛ timestamp рдиреЗ рд╕реБрд░реВ рд╣реЛрдгрд╛рд░реА рд▓реЙрдЧ рдУрд│рджреЗрдЦреАрд▓ рдЧрдгрд▓реА рдЬрд╛рддреЗ. 3. **`shellOutput`**: ANSI CSI sequence (`ESC[` рдЖрдгрд┐ рддреНрдпрд╛рдирдВрддрд░ рдЕрдВрдХ рдХрд┐рдВрд╡рд╛ semicolons рдЖрдгрд┐ рдордЧ рдПрдХ рдЕрдХреНрд╖рд░, рдЬрд╕реЗ color codes рдордзреНрдпреЗ рдЕрд╕рддреЗ) рдХрд┐рдВрд╡рд╛ рдордЬрдХреБрд░рд╛рдд рдХреБрдареЗрд╣реА `$` рдирдВрддрд░ whitespace рдЕрд╕рд▓реЗрд▓реЗ рдЖрдЙрдЯрдкреБрдЯ рддреНрдпрд╛ sequences рдХрд╛рдвреВрди рдЯрд╛рдХрддреЗ (рдЗрддрд░ escapes, рдЬрд╕реЗ `ESC[?25l` рдХрд┐рдВрд╡рд╛ OSC window-title sequence, рдареЗрд╡рд▓реЗ рдЬрд╛рддрд╛рдд) рдЖрдгрд┐ рддреНрдпрд╛рдЪреНрдпрд╛ рд╢реЗрд╡рдЯрдЪреНрдпрд╛ 50 рдУрд│реА рдареЗрд╡рддреЗ; рд╕рд▓рдЧ рдкреБрдирд░рд╛рд╡реГрддреНрдд рд╣реЛрдгрд╛рд▒реНрдпрд╛ рдУрд│реА рдПрдХрддреНрд░рд┐рдд рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд. рд╣реА рддрдкрд╛рд╕рдгреА `json` рдЖрдгрд┐ `errorMessage` рдЪреНрдпрд╛ рдЖрдзреА рдЪрд╛рд▓рдд рдЕрд╕рд▓реНрдпрд╛рдиреЗ, рдЕрд╕рд╛ `$` рдЕрд╕рд▓реЗрд▓реЗ JSON рдХрд┐рдВрд╡рд╛ error рдЖрдЙрдЯрдкреБрдЯ `shellOutput` рд╕реБрд░реВ рдЕрд╕рддрд╛рдирд╛ рддреНрдпрд╛рдВрдЪреНрдпрд╛рдкрд░реНрдпрдВрдд рдХрдзреАрд╣реА рдкреЛрд╣реЛрдЪрдд рдирд╛рд╣реА. 4. **`json`**: рдкрд░реНрдпрд╛рдпреА whitespace рдирдВрддрд░ `{` рдХрд┐рдВрд╡рд╛ `[` рдиреЗ рд╕реБрд░реВ рд╣реЛрдгрд╛рд░рд╛, 2,000 рд╡рд░реНрдгрд╛рдВрдкреЗрдХреНрд╖рд╛ рдореЛрдард╛ рдЖрдгрд┐ рдпрд╢рд╕реНрд╡реАрд░реАрддреНрдпрд╛ parse рд╣реЛрдгрд╛рд░рд╛ JSON payload рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдХреЗрд▓рд╛ рдЬрд╛рддреЛ: 7 рдкреЗрдХреНрд╖рд╛ рдЕрдзрд┐рдХ items рдЕрд╕рд▓реЗрд▓реНрдпрд╛ array рдЪреЗ рдкрд╣рд┐рд▓реЗ 5 рдЖрдгрд┐ рд╢реЗрд╡рдЯрдЪреЗ 2 items рддрд╕реЗрдЪ рддреНрдпрд╛рдЪреА рдПрдХреВрдг рд╕рдВрдЦреНрдпрд╛ рдареЗрд╡рд▓реА рдЬрд╛рддреЗ; рдЖрдгрд┐ object рдЪреНрдпрд╛ рдкрд╣рд┐рд▓реНрдпрд╛ 20 keys рдареЗрд╡рд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд, рддреНрдпрд╛рддреАрд▓ рдкреНрд░рддреНрдпреЗрдХ nested object рдХрд┐рдВрд╡рд╛ array value рдЪреНрдпрд╛ рдЬрд╛рдЧреА `{тАжN keys}` placeholder рдареЗрд╡рд▓рд╛ рдЬрд╛рддреЛ (array рд╕рд╛рдареА N рдореНрд╣рдгрдЬреЗ рддреНрдпрд╛рдЪреА length), рддрд╕реЗрдЪ рдкрд╣рд┐рд▓реНрдпрд╛ 20 рдирдВрддрд░ рд╡рдЧрд│рд▓реЗрд▓реНрдпрд╛ keys рдЪреА рд╕рдВрдЦреНрдпрд╛ рджрд░реНрд╢рд╡рдгрд╛рд░рд╛ `_remaining__keys` marker рдареЗрд╡рд▓рд╛ рдЬрд╛рддреЛ. Scalar values рдкреВрд░реНрдгрдкрдгреЗ рдХреЙрдкреА рдХреЗрд▓реА рдЬрд╛рддрд╛рдд, рддреНрдпрд╛рдореБрд│реЗ nested values рдирд╕рд▓реЗрд▓рд╛ 20 рдХрд┐рдВрд╡рд╛ рддреНрдпрд╛рдкреЗрдХреНрд╖рд╛ рдХрдореА keys рдЪрд╛ object рдлрдХреНрдд рдкреБрдиреНрд╣рд╛ рдЗрдВрдбреЗрдВрдЯ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ тАФ minified object рдордзреНрдпреЗ рд╡рд░реНрдг рд╡рд╛рдврддрд╛рдд рдЖрдгрд┐ рддреЛ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд░рд╛рд╣рддреЛ. 5. **`errorMessage`**: рдХреБрдареЗрд╣реА рдЖрдгрд┐ рдЕрдХреНрд╖рд░рд╛рдВрдЪреЗ case рд╡рд┐рдЪрд╛рд░рд╛рдд рди рдШреЗрддрд╛ `error:`, `error ` (`no error found` рдордзреАрд▓рдкреНрд░рдорд╛рдгреЗ рд╢рдмреНрджрд╛рдирдВрддрд░ рд╕реНрдкреЗрд╕), `[error]`, `exception:`, `exception `, `[exception]` рдХрд┐рдВрд╡рд╛ `traceback` рдЕрд╕рд▓реЗрд▓реЗ рдЖрдЙрдЯрдкреБрдЯ рддреНрдпрд╛рдЪреА рдкрд╣рд┐рд▓реА рдУрд│, рдкреБрдвреАрд▓ 10 рдУрд│реА рдЖрдгрд┐ рд╢реЗрд╡рдЯрдЪреНрдпрд╛ 3 рдУрд│реА рдареЗрд╡рддреЗ; рддреНрдпрд╛рдВрдЪреНрдпрд╛рдордзреАрд▓ рдУрд│реАрдВрдЪреНрдпрд╛ рдЬрд╛рдЧреА `тАж [N frames elided] тАж` marker рдареЗрд╡рд▓рд╛ рдЬрд╛рддреЛ. рдкрд╣рд┐рд▓реНрдпрд╛ рдУрд│реАрдирдВрддрд░ 13 рдкреЗрдХреНрд╖рд╛ рдЕрдзрд┐рдХ рдУрд│реА рдЕрд╕рддреАрд▓, рддреЗрд╡реНрд╣рд╛рдЪ marker рджрд┐рд╕рддреЛ; рддреНрдпрд╛рдореБрд│реЗ 14 рдХрд┐рдВрд╡рд╛ рддреНрдпрд╛рдкреЗрдХреНрд╖рд╛ рдХрдореА рдУрд│реАрдВрдЪреЗ error рдЖрдЙрдЯрдкреБрдЯ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдХреЗрд▓реЗ рдЬрд╛рдд рдирд╛рд╣реА (12 рдХрд┐рдВрд╡рд╛ 13 рдУрд│реА рдЕрд╕рд▓реНрдпрд╛рд╕ рд╢реЗрд╡рдЯрдЪреНрдпрд╛ 3 рдУрд│реА рдЖрдзреАрдЪ рдареЗрд╡рд▓реЗрд▓реНрдпрд╛ рдУрд│реАрдВрдЪреА рдкреБрдирд░рд╛рд╡реГрддреНрддреА рдХрд░рддрд╛рдд). рдПрдЦрд╛рджреЗ рдзреЛрд░рдг рдЬреБрд│рд▓реНрдпрд╛рдирдВрддрд░, рддреНрдпрд╛рддреВрди рдХрд╛рд╣реАрд╣реА рдмрдЪрдд рд╣реЛрдд рдирд╕рд▓реА рддрд░реА рдирдВрддрд░рдЪреА рдзреЛрд░рдгреЗ рд╡рд╛рдкрд░реВрди рдкрд╛рд╣рд┐рд▓реА рдЬрд╛рдд рдирд╛рд╣реАрдд. рдЬреБрд│рдгрд╛рд░реЗ рдзреЛрд░рдг рдХреЛрдгрддреЗрд╣реА рдЕрдВрджрд╛рдЬрд┐рдд tokens рд╡рд╛рдЪрд╡рдд рдирд╕рд▓реНрдпрд╛рд╕ (length ├╖ 4, рд╡рд░рдЪреНрдпрд╛ рдкреВрд░реНрдгрд╛рдВрдХрд╛рдкрд░реНрдпрдВрдд round рдХреЗрд▓реЗрд▓реЗ) тАФ рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, 25 рдХрд┐рдВрд╡рд╛ рддреНрдпрд╛рдкреЗрдХреНрд╖рд╛ рдХрдореА рдУрд│реАрдВрдЪреА code-рд╕рджреГрд╢ file, рдХрд┐рдВрд╡рд╛ 7 рдХрд┐рдВрд╡рд╛ рддреНрдпрд╛рдкреЗрдХреНрд╖рд╛ рдХрдореА items рдЕрд╕рд▓реЗрд▓рд╛ 2,000 рд╡рд░реНрдгрд╛рдВрдкреЗрдХреНрд╖рд╛ рдореЛрдард╛ JSON array тАФ aggressive engine рдореВрд│ tool result рдареЗрд╡рддреЗ: рджреЛрдиреНрд╣реА callers (`compressAggressive()` рдЖрдгрд┐ `compressAnthropicToolResultBlock()`) `saved` 0 рдХрд┐рдВрд╡рд╛ рддреНрдпрд╛рдкреЗрдХреНрд╖рд╛ рдХрдореА рдЕрд╕рд▓реНрдпрд╛рд╕ рдореВрд│ рдкрд░рд┐рдгрд╛рдо рдареЗрд╡рддрд╛рдд, рддрд░ `compressToolResult()` рд╕реНрд╡рддрдГ рдЕрдЬреВрдирд╣реА рддреНрдпрд╛ рдзреЛрд░рдгрд╛рдЪреЗ рдЖрдЙрдЯрдкреБрдЯ рдкрд░рдд рдХрд░рддреЗ. tool-result рдкрд╛рдпрд░реА рдЕрдВрддрд┐рдо рдирд┐рд░реНрдгрдп рдирд╕рддреЗ: engine рдЪрд╛ fallback summarizer рдЕрдЬреВрдирд╣реА 8,192 рд╡рд░реНрдгрд╛рдВрдкреЗрдХреНрд╖рд╛ рдореЛрдард╛ `tool` рдХрд┐рдВрд╡рд╛ `function` message (`maxTokensPerMessage`, 2,048, рдЧреБрдгрд┐рд▓реЗ 4) рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдХрд░реВ рд╢рдХрддреЛ. #### рдХрдзреА рд╡рд╛рдкрд░рд╛рд╡реЗ Tool result compression рд╣реА aggressive engine рдЪреА рдкрд╛рдпрд░реА 1 рдЖрд╣реЗ (`open-sse/services/compression/aggressive.ts` рдордзреАрд▓ `compressAggressive()`), рддреНрдпрд╛рдореБрд│реЗ рддреА Aggressive mode рдордзреНрдпреЗ рдЖрдгрд┐ stacked pipeline рдордзреАрд▓ `aggressive` рдкрд╛рдпрд░реАрдордзреНрдпреЗ рдЪрд╛рд▓рддреЗ. рддреА OpenAI-рдЖрдХрд╛рд░рд╛рдЪреЗ `tool` рдЖрдгрд┐ `function` messages рддрд╕реЗрдЪ Anthropic `tool_result` blocks рдордзреАрд▓ рдордЬрдХреВрд░ рдХреЙрдореНрдкреНрд░реЗрд╕ рдХрд░рддреЗ. рдкреНрд░рддреНрдпреЗрдХ рдзреЛрд░рдгрд╛рд╕рд╛рдареА `aggressive.toolStrategies` рдЕрдВрддрд░реНрдЧрдд рд╕реНрд╡рддрдВрддреНрд░ switch рдЖрд╣реЗ рдЖрдгрд┐ рд╕рд░реНрд╡ switches default рдиреЗ рд╕реБрд░реВ рдЕрд╕рддрд╛рдд. dashboard рдордзреНрдпреЗ, compression рд╕реБрд░реВ рдЕрд╕рддрд╛рдирд╛ рдЖрдгрд┐ default mode Aggressive рдЕрд╕рддрд╛рдирд╛ switches Caveman page рдЪреНрдпрд╛ **Advanced** view рдордзреНрдпреЗ рдЕрд╕рддрд╛рдд. ### рд╕реНрдЯреЕрдХреНрдб рдкрд╛рдЗрдкрд▓рд╛рдЗрди stacked mode рдордзреНрдпреЗ **рдПрдХрд╛рдорд╛рдЧреВрди рдПрдХ рдЕрдиреЗрдХ engines** рдЪрд╛рд▓рддрд╛рдд тАФ рд╕рд╛рдорд╛рдиреНрдпрддрдГ рдкреНрд░рдердо RTK (tool output рд╡рд░ 60-90% рдмрдЪрдд), рддреНрдпрд╛рдирдВрддрд░ рдЙрд░реНрд╡рд░рд┐рдд рдордЬрдХреБрд░рд╛рд╡рд░ Caveman (~46% input рдмрдЪрдд). рдПрдХрддреНрд░рд┐рддрдкрдгреЗ, рд╣реА **78-95% рдкрд╛рддреНрд░ рд╢реНрд░реЗрдгреА** рдЖрд╣реЗ (рд╡рд░реАрд▓ Upstream Savings Math рдкрд╣рд╛): `1 - (1 - 0.60..0.90) ├Ч (1 - 0.46)` рдЪреА рд╕рд░рд╛рд╕рд░реА тЙИ89% рдЖрд╣реЗ. #### рд╣реЗ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ ``` рдЗрдирдкреБрдЯ (1000 tokens) тЖТ RTK (command-рдЬрд╛рдгрдгрд╛рд░рд╛ filter) тЖТ 200 tokens тЖТ Caveman (рдЕрдирд╛рд╡рд╢реНрдпрдХ рдордЬрдХреВрд░ рдХрд╛рдврдгреЗ) тЖТ 108 tokens тЖТ рдЖрдЙрдЯрдкреБрдЯ (108 tokens, ~89% рдмрдЪрдд) ``` #### рдХрдзреА рд╡рд╛рдкрд░рд╛рд╡реЗ stacked mode рдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд╛: - Tool-рдХреЗрдВрджреНрд░рд┐рдд workflows (agentic coding, рд╕рдВрд╢реЛрдзрди) - рдЦрд░реНрдЪрд╛рдмрд╛рдмрдд рд╕рдВрд╡реЗрджрдирд╢реАрд▓ batch processing - рддреБрдореНрд╣рд╛рд▓рд╛ рдХрдорд╛рд▓ token рдмрдЪрдд рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рддрд╛рдирд╛ Stacked pipelines рдпрд╛ global `stackedPipeline` compression setting рджреНрд╡рд╛рд░реЗ рдХрд┐рдВрд╡рд╛ routing combo рд▓рд╛ рдиреЗрдорд▓реЗрд▓реНрдпрд╛ рдирд╛рдорд╛рдВрдХрд┐рдд compression combo рджреНрд╡рд╛рд░реЗ configure рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд (рд╡рд░реАрд▓ Per-Combo Override рдкрд╣рд╛) тАФ auto-combo `modePack` рджреНрд╡рд╛рд░реЗ рдирд╛рд╣реА (рддреЗ field рдХреЗрд╡рд│ auto-combo model selection рдЪреЗ weights рдмрджрд▓рддреЗ рдЖрдгрд┐ `stacked` рд╣реЗ рд╡реИрдз pack name рдирд╛рд╣реА). --- ## рдХреЙрдореНрдкреНрд░реЗрд╢рди рдХреЙрдореНрдмреЛ рдУрд╡реНрд╣рд░рд░рд╛рдЗрдбреНрд╕ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рд╡рд╛рдкрд░рд╛рдЪреНрдпрд╛ рдкрд░рд┐рд╕реНрдерд┐рддреАрдВрдиреБрд╕рд╛рд░ рд╡рд░реНрддрди рдЕрдзрд┐рдХ рдЕрдЪреВрдХрдкрдгреЗ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддреБрдореНрд╣реА рдЬрд╛рдЧрддрд┐рдХ рдХреЙрдореНрдкреНрд░реЗрд╢рди рдореЛрдб **рдкреНрд░рддреНрдпреЗрдХ рдХреЙрдореНрдмреЛрд╕рд╛рдареА** рдУрд╡реНрд╣рд░рд░рд╛рдЗрдб рдХрд░реВ рд╢рдХрддрд╛: ```json { "id": "coding-combo", "strategy": "priority", "config": { "weights": { "taskFit": 0.5 }, "modePack": "quality-first" }, "compressionOverride": "aggressive" } ``` рд╣реЗ рдкреБрдвреАрд▓ рдЧреЛрд╖реНрдЯреАрдВрд╕рд╛рдареА рдЙрдкрдпреБрдХреНрдд рдЖрд╣реЗ: - **рдХреЛрдбрд┐рдВрдЧ рдХреЙрдореНрдмреЛ**: рджреАрд░реНрдШ рд╕рддреНрд░рд╛рдВрд╕рд╛рдареА `aggressive` рдореЛрдб рд╡рд╛рдкрд░рд╛ - **рдЭрдЯрдкрдЯ рдкреНрд░рд╢реНрдиреЛрддреНрддрд░ рдХреЙрдореНрдмреЛ**: рдЬрд▓рдж рдкреНрд░рддрд┐рд╕рд╛рджрд╛рдВрд╕рд╛рдареА `lite` рдореЛрдб рд╡рд╛рдкрд░рд╛ - **рдЕрдзрд┐рдХ рдЯреВрд▓реНрд╕ рд╡рд╛рдкрд░рдгрд╛рд░реЗ рдХреЙрдореНрдмреЛ**: рдХрдорд╛рд▓ рдмрдЪрддреАрд╕рд╛рдареА `stacked` рдореЛрдб рд╡рд╛рдкрд░рд╛ - **рдкреНрд░реЙрдбрдХреНрд╢рди рдХреЙрдореНрдмреЛ**: рдХреЕрд╢рд┐рдВрдЧ рдкреНрд░реЛрд╡реНрд╣рд╛рдпрдбрд░реНрд╕рд╕рд╛рдареА рдУрд╡реНрд╣рд░рд░рд╛рдЗрдб рдмрдВрдж рдареЗрд╡рд╛ тАФ рдиреЗрд╣рдореА рд╕рдХреНрд░рд┐рдп рдЕрд╕рд▓реЗрд▓реЗ рдХреЕрд╢-рдЬрд╛рдЧрд░реВрдХ рд╕рдорд╛рдпреЛрдЬрди `aggressive`/`ultra` рд▓рд╛ рдЖрдкреЛрдЖрдк `standard` рдкрд░реНрдпрдВрдд рдХрдореА рдХрд░рддреЗ (рдирд┐рд╡рдбрддрд╛ рдпреЗрдгреНрдпрд╛рдЬреЛрдЧрд╛ `cache-aware` рдореЛрдб рдЙрдкрд▓рдмреНрдз рдирд╛рд╣реА) --- ## рд╣реЗ рджреЗрдЦреАрд▓ рдкрд╣рд╛ - [рдПрдиреНрд╡реНрд╣рд╛рдпрд░реНрдирдореЗрдВрдЯ рдХреЙрдиреНрдлрд┐рдЧ](../reference/ENVIRONMENT.md) тАФ рдХреЙрдореНрдкреНрд░реЗрд╢рди рдПрдиреНрд╡реНрд╣рд╛рдпрд░реНрдирдореЗрдВрдЯ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕ - [рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдорд╛рд░реНрдЧрджрд░реНрд╢рдХ](../architecture/ARCHITECTURE.md) тАФ рдХреЙрдореНрдкреНрд░реЗрд╢рди рдкрд╛рдЗрдкрд▓рд╛рдЗрдирдЪреА рдЕрдВрддрд░реНрдЧрдд рд░рдЪрдирд╛ - [рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдорд╛рд░реНрдЧрджрд░реНрд╢рдХ](../guides/USER_GUIDE.md) тАФ рдХреЙрдореНрдкреНрд░реЗрд╢рди рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕ рд╕реБрд░реБрд╡рд╛рдд рдХрд░рдгреЗ - [RTK рдХреЙрдореНрдкреНрд░реЗрд╢рди](./RTK_COMPRESSION.md) тАФ RTK рдлрд┐рд▓реНрдЯрд░реНрд╕, рд╡рд┐рд╢реНрд╡рд╛рд╕ рдореЙрдбреЗрд▓, рдкрдбрддрд╛рд│рдгреА рдЧреЗрдЯ, рд░реЙ-рдЖрдЙрдЯрдкреБрдЯ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддреА - [рдХреЙрдореНрдкреНрд░реЗрд╢рди рдЗрдВрдЬрд┐рдиреНрд╕](./COMPRESSION_ENGINES.md) тАФ Caveman, RTK, stacked, APIs, MCP, рдбреЕрд╢рдмреЛрд░реНрдб - [рдХреЙрдореНрдкреНрд░реЗрд╢рди рдирд┐рдпрдорд╛рдВрдЪреЗ рд╕реНрд╡рд░реВрдк](./COMPRESSION_RULES_FORMAT.md) тАФ JSON рд░реВрд▓-рдкреЕрдХ рд╕реНрд╡рд░реВрдк - [рдХреЙрдореНрдкреНрд░реЗрд╢рди рднрд╛рд╖рд╛ рдкреЕрдХреНрд╕](./COMPRESSION_LANGUAGE_PACKS.md) тАФ рднрд╛рд╖рд╛рд╡рд┐рд╢рд┐рд╖реНрдЯ Caveman рдирд┐рдпрдо