# ЁЯЧЬя╕П 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) ┬╖ ЁЯЗнЁЯЗ╖ [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) ┬╖ ЁЯЗоЁЯЗ│ [mr](../../../mr/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 рдХрд╛ рдХрдореНрдкреНрд░реЗрд╢рди рдЕрдиреБрднрд╛рдЧ](../README.md#%EF%B8%8F-prompt-compression--save-15-95-eligible-tokens-automatically) рджреЗрдЦреЗрдВред ## рдЕрд╡рд▓реЛрдХрди OmniRoute рдПрдХ рдореЙрдбреНрдпреВрд▓рд░ рдкреНрд░реЙрдореНрдкреНрдЯ рдХрдореНрдкреНрд░реЗрд╢рди рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдЕрдкрд╕реНрдЯреНрд░реАрдо рдкреНрд░рджрд╛рддрд╛рдУрдВ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рд╕реЗ **рдкрд╣рд▓реЗ рд╣реА рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ** рдЪрд▓рддреА рд╣реИред рдЗрд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдЯреЛрдХрди рдХреА рдмрдЪрдд рдкрд╛рд░рджрд░реНрд╢реА рд░реВрдк рд╕реЗ рд╣реЛрддреА рд╣реИ тАФ рдЖрдкрдХреЗ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдореЗрдВ рдХрд┐рд╕реА рдмрджрд▓рд╛рд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред ``` рдХреНрд▓рд╛рдЗрдВрдЯ рдЕрдиреБрд░реЛрдз тЖТ рдХрдореНрдкреНрд░реЗрд╢рди рд░рдгрдиреАрддрд┐ рдЪрдпрдирдХрд░реНрддрд╛ тЖТ рдХреЙрдореНрдмреЛ рдУрд╡рд░рд░рд╛рдЗрдб? тЖТ рдХреЙрдореНрдмреЛ рд╕реЗрдЯрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ тЖТ рдСрдЯреЛ-рдЯреНрд░рд┐рдЧрд░ рдереНрд░реЗрд╢реЛрд▓реНрдб? тЖТ рдСрдЯреЛ рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ тЖТ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдореЛрдб? тЖТ рдЧреНрд▓реЛрдмрд▓ рд╕реЗрдЯрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ тЖТ рдмрдВрдж? тЖТ рдХрдореНрдкреНрд░реЗрд╢рди рдЫреЛрдбрд╝реЗрдВ тЖТ рдЪрдпрдирд┐рдд рдХрдореНрдкреНрд░реЗрд╢рди рдореЛрдб тЖТ рдмрдВрдж: рдХреЛрдИ рдХрдореНрдкреНрд░реЗрд╢рди рдирд╣реАрдВ тЖТ рд▓рд╛рдЗрдЯ: рд╕реБрд░рдХреНрд╖рд┐рдд рд╡реНрд╣рд╛рдЗрдЯрд╕реНрдкреЗрд╕/рдлрд╝реЙрд░реНрдореЗрдЯрд┐рдВрдЧ рдХреНрд▓реАрдирдЕрдк (~15%) тЖТ рд╕реНрдЯреИрдВрдбрд░реНрдб: Caveman-рд╢реИрд▓реА рдореЗрдВ рдлрд╝рд┐рд▓рд░ рд╣рдЯрд╛рдирд╛ (~30%) тЖТ рдПрдЧреНрд░реЗрд╕рд┐рд╡: рд╣рд┐рд╕реНрдЯреНрд░реА рдПрдЬрд┐рдВрдЧ + рд╕рд╛рд░рд╛рдВрд╢реАрдХрд░рдг (~50%) тЖТ рдЕрд▓реНрдЯреНрд░рд╛: рд╣реНрдпреВрд░рд┐рд╕реНрдЯрд┐рдХ рдкреНрд░реВрдирд┐рдВрдЧ + рдХреЛрдб-рдмреНрд▓реЙрдХ рдерд┐рдирд┐рдВрдЧ (~75%) тЖТ RTK: рдХрдорд╛рдВрдб-рд╕рдЪреЗрдд рдЯрд░реНрдорд┐рдирд▓/рдЯреВрд▓-рдЖрдЙрдЯрдкреБрдЯ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ (60-90% рдЕрдкрд╕реНрдЯреНрд░реАрдо рд╕реАрдорд╛) тЖТ рд╕реНрдЯреИрдХреНрдб: рдХреНрд░рдордмрджреНрдз рдорд▓реНрдЯреА-рдЗрдВрдЬрди рдкрд╛рдЗрдкрд▓рд╛рдЗрди, рдЖрдо рддреМрд░ рдкрд░ рдкрд╣рд▓реЗ RTK рдлрд┐рд░ Caveman (78-95% рдпреЛрдЧреНрдп рд╕реАрдорд╛) тЖТ рдХрдореНрдкреНрд░реЗрд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЕрдиреБрд░реЛрдз тЖТ рдкреНрд░рджрд╛рддрд╛ ``` --- ## рд╕рдВрдкреАрдбрд╝рди рдореЛрдб ### рдмрдВрдж рдХреЛрдИ рд╕рдВрдкреАрдбрд╝рди рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ред рд╕рднреА рд╕рдВрджреЗрд╢ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдмрджрд▓рд╛рд╡ рдХреЗ рдЖрдЧреЗ рднреЗрдЬреЗ рдЬрд╛рддреЗ рд╣реИрдВред ### рд▓рд╛рдЗрдЯ рдореЛрдб (~15% рдмрдЪрдд, <1ms рд╡рд┐рд▓рдВрдмрддрд╛) рд╕рдмрд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рдореЛрдб тАФ рдлрд╝реЙрд░реНрдореИрдЯрд┐рдВрдЧ рдХреА рд╕рдлрд╝рд╛рдИред рдЗрд╕рдХреЗ рдЯреВрд▓-рд░рд┐рдЬрд╝рд▓реНрдЯ рдЯреНрд░рдВрдХреЗрд╢рди рдореЗрдВ рдбреЗрдЯрд╛ рдирд╖реНрдЯ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкрде (рдмрд┐рдирд╛ `allow-lossy`, `engine:lite` рдпрд╛ рдирд╛рдорд┐рдд-рдХреЙрдореНрдмреЛ рдСрдкреНрдЯ-рдЗрди рдХреЗ) `compressToolResults: false` рдХреЗ рд╕рд╛рде рд▓рд╛рдЗрдЯ рдореЛрдб рдЪрд▓рд╛рддрд╛ рд╣реИ: рдкрд╣рд▓реЗ рдХреЗ рдЯреВрд▓-рд░рд┐рдЬрд╝рд▓реНрдЯ рдкреНрд░рджрд╛рддрд╛ рддрдХ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдмрджрд▓рд╛рд╡ рдХреЗ рдкрд╣реБрдБрдЪрддреЗ рд╣реИрдВред | рддрдХрдиреАрдХ | рд╡рд┐рд╡рд░рдг | | ------------------------ | ------------------------------------------------------------------------------------------- | | `collapseWhitespace` | рд▓рдЧрд╛рддрд╛рд░ рдЖрдиреЗ рд╡рд╛рд▓реА рдЦрд╛рд▓реА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдФрд░ рдЕрдВрдд рдХреЗ рд╕реНрдкреЗрд╕ рдХреЛ рдорд┐рд▓рд╛рдирд╛ | | `dedupSystemPrompt` | рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╕рд┐рд╕реНрдЯрдо рд╕рдВрджреЗрд╢ рд╣рдЯрд╛рдирд╛ | | `compressToolResults` | рдкрд╣рд▓реЗ рдХреЗ рдЯреВрд▓-рд░рд┐рдЬрд╝рд▓реНрдЯ рдХреЛ рд▓рд╛рдЗрдЯ рдХреИрдк рддрдХ рдЯреНрд░рдВрдХреЗрдЯ рдХрд░рдирд╛ (рдбреЗрдЯрд╛-рд╣рд╛рдирд┐рдХрд╛рд░рдХ: рдХреЗрд╡рд▓ рдЕрдиреБрд░реЛрдз рдСрдкреНрдЯ-рдЗрди рдХреЗ рд╕рд╛рде) | | `removeRedundantContent` | рджреЛрд╣рд░рд╛рдП рдЧрдП рдирд┐рд░реНрджреЗрд╢ рд╣рдЯрд╛рдирд╛ | | `replaceImageUrls` | рдмреЗрд╕64 рдЗрдореЗрдЬ рдбреЗрдЯрд╛ URI рдХреЛ рдЫреЛрдЯрд╛ рдХрд░рдирд╛ | **рдЗрдирдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд:** рд╣рдореЗрд╢рд╛ рдЪрд╛рд▓реВ рдЙрдкрдпреЛрдЧ, рд╕реБрд░рдХреНрд╖рд╛-рдЖрд╡рд╢реНрдпрдХ рд╡рд░реНрдХрдлрд╝реНрд▓реЛред ### рдорд╛рдирдХ рдореЛрдб (~30% рдмрдЪрдд) [Caveman](https://github.com/JuliusBrussee/caveman) рд╕реЗ рдкреНрд░реЗрд░рд┐рдд тАФ рдЕрд░реНрде рдмрдирд╛рдП рд░рдЦрддреЗ рд╣реБрдП рднрд░рд╛рд╡ рд╢рдмреНрджреЛрдВ рдФрд░ рд╡рд┐рд╕реНрддреГрдд рд╡рд╛рдХреНрдпрд╛рдВрд╢реЛрдВ рдХреЛ рд╣рдЯрд╛рддрд╛ рд╣реИ: - рднрд░рд╛рд╡ рд╢рдмреНрдж рд╣рдЯрд╛рддрд╛ рд╣реИ ("please", "I think", "basically", "actually") - рд╡рд┐рд╕реНрддреГрдд рд╡рд╛рдХреНрдпрд╛рдВрд╢реЛрдВ рдХреЛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдХрд░рддрд╛ рд╣реИ ("in order to" тЖТ "to", "as a result of" тЖТ "because") - рд╡рд┐рдирдореНрд░ рдЕрдирд┐рд╢реНрдЪрд┐рддрддрд╛ рд╡рд╛рд▓реЗ рд╡рд╛рдХреНрдпрд╛рдВрд╢ рд╣рдЯрд╛рддрд╛ рд╣реИ ("Would you mind...", "If you could possibly...") - рдХреЛрдбрд┐рдВрдЧ рдкреНрд░реЙрдореНрдкреНрдЯ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд 30+ рд░реЗрдЧреЗрдХреНрд╕ рдирд┐рдпрдо **рдЗрдирдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд:** рджреИрдирд┐рдХ рдХреЛрдбрд┐рдВрдЧ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ, рд▓рд╛рдЧрдд-рд╕рдЪреЗрдд рдЯреАрдореЗрдВред ### рдЖрдХреНрд░рд╛рдордХ рдореЛрдб (~50% рдмрдЪрдд) рд▓рдВрдмреЗ рд╕рддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдорд╛рд░реНрдЯ рд╣рд┐рд╕реНрдЯреНрд░реА рдкреНрд░рдмрдВрдзрди: - **рд╕рдВрджреЗрд╢ рдПрдЬрд┐рдВрдЧ** тАФ рдкреБрд░рд╛рдиреЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдХреНрд░рдорд╢рдГ рдЕрдзрд┐рдХ рд╕рдВрдкреАрдбрд╝рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - **рдЯреВрд▓-рд░рд┐рдЬрд╝рд▓реНрдЯ рд╕рдВрдкреАрдбрд╝рди** тАФ рд▓рдВрдмреЗ рдЯреВрд▓ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдЯреНрд░рдВрдХреЗрдЯ рдпрд╛ рд╣рдЯрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдкрд╣рд▓реА/рдЕрдВрддрд┐рдо рдкрдВрдХреНрддрд┐рдпрд╛рдБ, рдореИрдЪ-рдкрдВрдХреНрддрд┐ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ, JSON рдХреБрдВрдЬреА рд╕рдВрдХреНрд╖рд┐рдкреНрддреАрдХрд░рдг) - **рд╕рдВрд░рдЪрдирд╛рддреНрдордХ рдЕрдЦрдВрдбрддрд╛ рд╕реБрд░рдХреНрд╖рд╛** тАФ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ `tool_use` + `tool_result` рдпреБрдЧреНрдо рд╕реБрд╕рдВрдЧрдд рд░рд╣реЗрдВ - **рдХреЙрдиреНрдЯреЗрдХреНрд╕реНрдЯ рд╡рд┐рдВрдбреЛ рдЬрд╛рдЧрд░реВрдХрддрд╛** тАФ рдкреНрд░рддрд┐-рдореЙрдбрд▓ рдЯреЛрдХрди рд╕реАрдорд╛рдУрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреА рд╣реИ **рдЗрдирдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд:** рд╡рд┐рд╕реНрддреГрдд рдбреАрдмрдЧрд┐рдВрдЧ рд╕рддреНрд░, рдмрдбрд╝реЗ рдХреЛрдбрдмреЗрд╕ред ### рдЕрд▓реНрдЯреНрд░рд╛ рдореЛрдб (~75% рдмрдЪрдд) рдЯреЛрдХрди-рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╡рд╛рд▓реЗ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрддрдо рд╕рдВрдкреАрдбрд╝рди: - **рд╣реНрдпреВрд░рд┐рд╕реНрдЯрд┐рдХ рдкреНрд░реВрдирд┐рдВрдЧ** тАФ рдЧрджреНрдп рдХрд╛ рд╕реНрдХреЛрд░-рдЖрдзрд╛рд░рд┐рдд рдЯреЛрдХрди рдкреНрд░реВрдирд┐рдВрдЧ - **рд╕рдВрд░рдЪрдирд╛ рд╕рдВрд░рдХреНрд╖рдг** тАФ рдлрд╝реЗрдВрд╕ рдХрд┐рдП рдЧрдП рдХреЛрдб рдмреНрд▓реЙрдХ, рдЗрдирд▓рд╛рдЗрди рдХреЛрдб, URL рдФрд░ рдЖрдЗрдбреЗрдВрдЯрд┐рдлрд╝рд╛рдпрд░ рдХреЛ рдЯреЙрдореНрдмрд╕реНрдЯреЛрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдмрджрд▓рд╛рд╡ рдХреЗ рдкреБрдирдГ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ; рдЙрдиреНрд╣реЗрдВ рдХрднреА рдкреНрд░реВрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ - **рд╡реИрдХрд▓реНрдкрд┐рдХ SLM рд╕реНрддрд░** тАФ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рдПрдХ рдЫреЛрдЯрд╛ рд╕реНрдерд╛рдиреАрдп рдореЙрдбрд▓ рдкреНрд░реВрдирд┐рдВрдЧ рдХреЛ рдкрд░рд┐рд╖реНрдХреГрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ - рдЖрдХреНрд░рд╛рдордХ рдореЛрдб рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░: рдпрд╣ рд╕рдВрджреЗрд╢ рдПрдЬрд┐рдВрдЧ, рдЯреВрд▓-рд░рд┐рдЬрд╝рд▓реНрдЯ рд╕рдВрдкреАрдбрд╝рди рдпрд╛ рдлрд╝реЙрд▓рдмреИрдХ рд╕рд╛рд░рд╛рдВрд╢рдХрд╛рд░ рдирд╣реАрдВ рдЪрд▓рд╛рддрд╛ (рдХреЗрд╡рд▓ SLM-рд╕реНрддрд░ рдХреА рд╡рд┐рдлрд▓рддрд╛ рд╣реА рдЖрдХреНрд░рд╛рдордХ рдореЛрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдлрд╝реЙрд▓рдмреИрдХ рдкрд╛рд╕ рднреЗрдЬ рд╕рдХрддреА рд╣реИ) **рдЗрдирдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд:** рдЬрдм рдЖрдкрдХреЛ рдмрд╛рд░-рдмрд╛рд░ рдХреЙрдиреНрдЯреЗрдХреНрд╕реНрдЯ рд╕реАрдорд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред ### RTK рдореЛрдб (рдЕрдкрд╕реНрдЯреНрд░реАрдо рд░реЗрдВрдЬ рдХрд╛ 60-90%) RTK рдореЛрдб рдХреЛ рдХреЛрдбрд┐рдВрдЧ-рдПрдЬреЗрдВрдЯ рд╕рддреНрд░реЛрдВ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реЗ рд╡рд┐рд╕реНрддреГрдд рдЯреВрд▓ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: - `git status`, `git diff`, `git log`, рдЯреЗрд╕реНрдЯ рд░рдирд░, TypeScript/Vite/Webpack рдмрд┐рд▓реНрдб, ESLint/Biome/Prettier, npm audit/рдЗрдВрд╕реНрдЯреЙрд▓, Docker рд▓реЙрдЧ, рдЗрдВрдлрд╝реНрд░рд╛ рдЖрдЙрдЯрдкреБрдЯ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рд╢реЗрд▓ рдЖрдЙрдЯрдкреБрдЯ рдЬреИрд╕реА рдХрдорд╛рдВрдб/рдЖрдЙрдЯрдкреБрдЯ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ - `open-sse/services/compression/engines/rtk/filters/` рд╕реЗ JSON рдлрд╝рд┐рд▓реНрдЯрд░ рдкреИрдХ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ - рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдпрд╛ рд╡реИрд╢реНрд╡рд┐рдХ `filters.toml` рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ RTK TOML рд╕реНрдХреАрдорд╛ v1 рдлрд╝рд┐рд▓реНрдЯрд░ рдЖрдпрд╛рдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЗрдирд▓рд╛рдЗрди-рдЯреЗрд╕реНрдЯ рд╕рддреНрдпрд╛рдкрди рдФрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЯреНрд░рд╕реНрдЯ-рдЧреЗрдЯрд┐рдВрдЧ рд╢рд╛рдорд┐рд▓ рд╣реИ - рдЗрдирд▓рд╛рдЗрди рд╕рддреНрдпрд╛рдкрди рдирдореВрдиреЛрдВ рдХреЗ рд╕рд╛рде 56 рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдлрд╝рд┐рд▓реНрдЯрд░ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рддрд╛ рд╣реИ - ANSI рдирд┐рдпрдВрддреНрд░рдг рдЕрдиреБрдХреНрд░рдо, рдкреНрд░реЛрдЧреНрд░реЗрд╕ рдмрд╛рд░, рджреЛрд╣рд░рд╛рдИ рдЧрдИ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдФрд░ рдЧреИрд░-рдХрд╛рд░реНрд░рд╡рд╛рдИ рдпреЛрдЧреНрдп рд╢реЛрд░ рд╣рдЯрд╛рддрд╛ рд╣реИ - рд╡рд┐рдлрд▓рддрд╛рдУрдВ, рддреНрд░реБрдЯрд┐рдпреЛрдВ, рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ, рдмрджрд▓реА рдЧрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ, рд╕рд╛рд░рд╛рдВрд╢реЛрдВ рдФрд░ рд▓рдВрдмреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рдЕрдВрддрд┐рдо рднрд╛рдЧ рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦрддрд╛ рд╣реИ - рдЯреНрд░рд╕реНрдЯ-рдЧреЗрдЯреЗрдб рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд┐рд▓реНрдЯрд░, рд╡реИрд╢реНрд╡рд┐рдХ рдлрд╝рд┐рд▓реНрдЯрд░ рдФрд░ рд╡реИрдХрд▓реНрдкрд┐рдХ рд░рд┐рдбреИрдХреНрдЯреЗрдб рд░реЙ-рдЖрдЙрдЯрдкреБрдЯ рд░рд┐рдХрд╡рд░реА рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ **рдЗрдирдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд:** рд╢реЗрд▓, рдмрд┐рд▓реНрдб, рдЯреЗрд╕реНрдЯ, git, grep рдФрд░ рдлрд╝рд╛рдЗрд▓-рдЖрдЙрдЯрдкреБрдЯ рдЯреНрд░рд╛рдВрд╕рдХреНрд░рд┐рдкреНрдЯ рд╡рд╛рд▓реЗ рдПрдЬреЗрдВрдЯ рд╕рддреНрд░ред ### рд╕реНрдЯреИрдХреНрдб рдореЛрдб (рдкрд╛рддреНрд░ рд░реЗрдВрдЬ рдХрд╛ 78-95%) рд╕реНрдЯреИрдХреНрдб рдореЛрдб рдХрдИ рд╕рдВрдкреАрдбрд╝рди рдЗрдВрдЬрдиреЛрдВ рдХреЛ рдПрдХ рдирд┐рдпрдд рдХреНрд░рдо рдореЗрдВ рдЪрд▓рд╛рддрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╣реИ: ```txt RTK -> Caveman ``` рдпрд╣ рдХреНрд░рдо рдкрд╣рд▓реЗ рдЯрд░реНрдорд┐рдирд▓/рдЯреВрд▓ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░рдЦрддрд╛ рд╣реИ, рдлрд┐рд░ рд╢реЗрд╖ рдкреНрд░рд╛рдХреГрддрд┐рдХ-рднрд╛рд╖рд╛ рдкреНрд░реЙрдореНрдкреНрдЯ рдкрд░ Caveman рдХрд╛ рдЕрд░реНрдердЧрдд рд╕рдВрдХреНрд╖реЗрдкрдг рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рд╕реНрдЯреИрдХреНрдб рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЛ рд╡реИрд╢реНрд╡рд┐рдХ рд░реВрдк рд╕реЗ рдпрд╛ рд░реВрдЯрд┐рдВрдЧ рдХреЙрдореНрдмреЛ рдХреЛ рд╕реМрдВрдкреЗ рдЧрдП рд╕рдВрдкреАрдбрд╝рди рдХреЙрдореНрдмреЛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред **рдЗрдирдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд:** рдмрдбрд╝реЗ рдЯреВрд▓ рд▓реЙрдЧ рдХреЗ рд╕рд╛рде рдорд╛рдирд╡реАрдп рдирд┐рд░реНрджреЗрд╢реЛрдВ рдпрд╛ рдЕрд╕рд┐рд╕реНрдЯреЗрдВрдЯ рд╕рд╛рд░рд╛рдВрд╢реЛрдВ рд╡рд╛рд▓реЗ рдорд┐рд╢реНрд░рд┐рдд рдХреЙрдиреНрдЯреЗрдХреНрд╕реНрдЯред ## рдЕрдкрд╕реНрдЯреНрд░реАрдо рдмрдЪрдд рдХрд╛ рдЧрдгрд┐рдд 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% ``` рдпрд╣ `78-95%` рд╕рдВрдЦреНрдпрд╛ рддрдм рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИ, рдЬрдм RTK рдФрд░ Caveman рджреЛрдиреЛрдВ рд╕рдорд╛рди рдЗрдирдкреБрдЯ/рдХреЙрдиреНрдЯреЗрдХреНрд╕реНрдЯ рдкреЗрд▓реЛрдб рдХреЛ рдХрдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред 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` рдорд┐рд▓рд╛рди рд╕реВрдЪреА, рдПрдХ рдЫреЛрдЯреА рдлрд╝рд╛рдЗрд▓ рд░реАрдб, рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрд╡рд╛рджрд╛рддреНрдордХ рдЯреЗрдХреНрд╕реНрдЯ) рдкрд░ рдЪрд▓рд╛рдИ рдЧрдИ рд╡рд╣реА рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╕рд╣реА рд░реВрдк рд╕реЗ **рд▓рдЧрднрдЧ рд╢реВрдиреНрдп рдмрдЪрдд** рджреЗрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рджреЛрд╣рд░рд╛рд╡ рд╡рд╛рд▓рд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рдФрд░ `validateCompression()` (`validation.ts`) рдРрд╕реЗ рдкреБрдирд░реНрд▓реЗрдЦрди рдХреЛ рднреЗрдЬрдиреЗ рд╕реЗ рдордирд╛ рдХрд░ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдХреЛрдб рдмреНрд▓реЙрдХ, URLs, рд╢реАрд░реНрд╖рдХ, рд╕рдВрд╕реНрдХрд░рдг, рдпрд╛ ALL-CAPS рд╕реНрдерд┐рд░рд╛рдВрдХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╣рдЯрд╛ рдпрд╛ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реЛред рдпрд╣ рдЕрдкреЗрдХреНрд╖рд┐рдд рдФрд░ рд╕реБрд░рдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИ, рдХреЛрдИ рдмрдЧ рдирд╣реАрдВ: рдРрд╕рд╛ рдХреЛрдбрд┐рдВрдЧ рд╕рддреНрд░ рдЬреЛ рдореБрдЦреНрдпрддрдГ рд╕рд╛рдлрд╝ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкрдврд╝рддрд╛/grep рдХрд░рддрд╛ рд╣реИ, рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо рдХрдореНрдкреНрд░реЗрд╢рди рдХреЗ рдмрд╛рд╡рдЬреВрдж рдорд╛рдореВрд▓реА рдХреБрд▓ рдмрдЪрдд рджрд┐рдЦрд╛рдПрдЧрд╛, рдЬрдмрдХрд┐ рд╡рд┐рдлрд▓ рд▓реВрдк рдпрд╛ рдЕрддреНрдпрдзрд┐рдХ рдЖрдЙрдЯрдкреБрдЯ рджреЗрдиреЗ рд╡рд╛рд▓реЗ рд▓рд┐рдВрдЯрд░ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╕рддреНрд░ рдЙрд╕ рдЯреНрд░реИрдлрд╝рд┐рдХ рдкрд░ рдкреВрд░реА 78-95% рд╕реАрдорд╛ рджреЗрдЦреЗрдЧрд╛ред рдХрд┐рд╕реА рдПрдХ рд╕рддреНрд░ рдХреА рдХрдо рд╕рдордЧреНрд░ рдмрдЪрдд рдкреНрд░рддрд┐рд╢рдд рдХреЛ рдЗрд╕ рдмрд╛рдд рдХрд╛ рдкреНрд░рдорд╛рдг рди рдорд╛рдиреЗрдВ рдХрд┐ рдХрдореНрдкреНрд░реЗрд╢рди рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ тАФ рдкрд╣рд▓реЗ рдЬрд╛рдБрдЪреЗрдВ рдХрд┐ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЯреВрд▓ рдЖрдЙрдЯрдкреБрдЯ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджреЛрд╣рд░рд╛рд╡ рд╡рд╛рд▓рд╛ рдерд╛ рдпрд╛ рдирд╣реАрдВред --- ## рдЯреЛрдХрди рдмрдЪрдд рдХрд╛ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди ``` рдХрдореНрдкреНрд░реЗрд╢рди рдХреЗ рдмрд┐рдирд╛: 47K рдЯреЛрдХрди LLM рдХреЛ рднреЗрдЬреЗ рдЧрдП Lite рдХреЗ рд╕рд╛рде: 40K рдЯреЛрдХрди рднреЗрдЬреЗ рдЧрдП (15% рдмрдЪрдд тАФ рд╕реБрд░рдХреНрд╖рд┐рдд, рд╣рдореЗрд╢рд╛ рдЪрд╛рд▓реВ) Standard рдХреЗ рд╕рд╛рде: 33K рдЯреЛрдХрди рднреЗрдЬреЗ рдЧрдП (30% рдмрдЪрдд тАФ caveman-speak рдирд┐рдпрдо) 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", **рд░реВрдЯрд┐рдВрдЧ-рдХреЙрдореНрдмреЛ рдХрдореНрдкреНрд░реЗрд╢рди рдореЛрдб** рдУрд╡рд░рд░рд╛рдЗрдб (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 рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ (рд╕рдХреНрд░рд┐рдп рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рддрд╛ рд╣реИ)ред Lossy рдЗрдВрдЬрди рдмрдВрдж рд░рд╣рддреЗ рд╣реИрдВред | | `safe` | рд╣реЗрдбрд░ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд╕рдорд╛рдиред | | `allow-lossy` | рдЗрд╕ рдЕрдиреБрд░реЛрдз рдХрд╛ рдСрдкрд░реЗрдЯрд░ рдкреНрд▓рд╛рди рдмрдирд╛рдП рд░рдЦреЗрдВ, рдЬрд┐рд╕рдореЗрдВ рд╕рд╛рд░рд╛рдВрд╢, рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рдлрд╝рд┐рд▓реНрдЯрд░ рдФрд░ рд╢реИрд▓реА рдкреБрдирд░реНрд▓реЗрдЦрди рд╢рд╛рдорд┐рд▓ рд╣реИрдВред | | `engine:` | рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдкрд░ рдПрдХрд▓ рдЗрдВрдЬрди, рдЬреИрд╕реЗ `engine:rtk`ред рдпрд╣ рдЙрд╕ рдЗрдВрдЬрди рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐-рдЕрдиреБрд░реЛрдз рдСрдкреНрдЯ-рдЗрди рд╣реИред | | `` | рдирд╛рдо рд╕реЗ рдорд┐рд▓рд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдирд╛рдорд┐рдд рдХреЙрдореНрдмреЛ (рдкрд╣рд▓реЗ рдХреЗрд╕-рдЕрд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд░реВрдк рд╕реЗ, рдлрд┐рд░ id рджреНрд╡рд╛рд░рд╛)ред | `allow-lossy`, `engine:` рдпрд╛ рдХрд┐рд╕реА рдирд╛рдорд┐рдд рдХреЙрдореНрдмреЛ рдХреЗ рдмрд┐рдирд╛, lossy рдЗрдВрдЬрди рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛рддреЗред рдЬрдм рдХрд┐рд╕реА lossy Default, рдСрдЯреЛ-рдЯреНрд░рд┐рдЧрд░ рдпрд╛ рд░реВрдЯрд┐рдВрдЧ рдУрд╡рд░рд░рд╛рдЗрдб рдХреЛ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ OmniRoute рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХреА рдЧрдИ рд╕реНрдЯреИрдХреНрдб рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╕реЗ рдкрд╣рдЪрд╛рдиреЗ рдЧрдП lossless рдЪрд░рдгреЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рдХреНрд░рдо рдореЗрдВ рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИред рдХреЗрд╡рд▓ рддрдм `session-dedup тЖТ lite` рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдм рдХреЛрдИ рднреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ lossless рдЪрд░рдг рд╢реЗрд╖ рди рд░рд╣реЗред Settings рдкреИрдирд▓ рдХрд╛ **Effective pipeline** рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рд░ рдкреНрд▓рд╛рди рджрд┐рдЦрд╛рддрд╛ рд╣реИред рдЬрдм рдХреЛрдИ рдСрдЯреЛ-рдЯреНрд░рд┐рдЧрд░ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдпрд╣реА рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдЙрд╕рдХрд╛ рд╕рд╢рд░реНрдд рдкреНрд░рднрд╛рд╡реА рдкрд╛рдЗрдкрд▓рд╛рдЗрди рднреА рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рддрд╛рдХрд┐ рдкреИрдирд▓ рдФрд░ рд╣реЗрдбрд░-рд░рд╣рд┐рдд рд░рдирдЯрд╛рдЗрдо рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рдЕрдиреБрд░реВрдк рд░рд╣реЗрдВред рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдкреНрд▓рд╛рди `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 | рдмрдВрдж, рд▓рд╛рдЗрдЯ | тЬЕ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ | | рдЪрд░рдг 2 | рд╕реНрдЯреИрдВрдбрд░реНрдб, рдПрдЧреНрд░реЗрд╕рд┐рд╡, рдЕрд▓реНрдЯреНрд░рд╛ | тЬЕ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ | | рдЪрд░рдг 3 | RTK, рд╕реНрдЯреИрдХреНрдб, рдХрдВрдкреНрд░реЗрд╢рди рдХреЙрдореНрдмреЛ | тЬЕ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ | | рдЪрд░рдг 4 | рдЖрдЙрдЯрдкреБрдЯ рд╕реНрдЯрд╛рдЗрд▓реНрд╕, SLM-рд╕реНрддрд░реАрдп рдЕрд▓реНрдЯреНрд░рд╛, рдореВрд▓реНрдпрд╛рдВрдХрди рд╣рд╛рд░реНрдиреЗрд╕ | тЬЕ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ | | рдЪрд░рдг 4C | рдЕрдиреБрдХреВрд▓реА рдХреЙрдиреНрдЯреЗрдХреНрд╕реНрдЯ-рдмрдЬрдЯ ("рдбрд╛рдпрд▓") тАФ рдХрдВрдкреНрдпреВрдЯ рдЗрдВрдЬрди + API (`contextBudget` on `PUT /api/settings/compression`) + рдбреИрд╢рдмреЛрд░реНрдб рдореЛрдб/рдиреАрддрд┐ рдирд┐рдпрдВрддреНрд░рдг | тЬЕ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ | --- ## рдЖрднрд╛рд░ рд╕реНрдЯреИрдВрдбрд░реНрдб рдореЛрдб рдХреЗ рдХрдВрдкреНрд░реЗрд╢рди рдирд┐рдпрдо **[JuliusBrussee](https://github.com/JuliusBrussee)** (тнР 51K+) рдХреЗ **[Caveman](https://github.com/JuliusBrussee/caveman)** рд╕реЗ рдкреНрд░реЗрд░рд┐рдд рд╣реИрдВ тАФ рд╡рд╛рдпрд░рд▓ "рдЬрдм рдХрдо рдЯреЛрдХрди рд╕реЗ рдХрд╛рдо рд╣реЛ рдЬрд╛рдП рддреЛ рдЕрдзрд┐рдХ рдЯреЛрдХрди рдХреНрдпреЛрдВ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ" рдкреНрд░реЛрдЬреЗрдХреНрдЯред 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: рд╕рд╛рд░рд╛рдВрд╢рд┐рдд (рд╕рд╣рд╛рдпрдХ) / рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рд░рдЦреА рдЬрд╛рддреА рд╣реИ (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛) }); // saved = рдмрдЪрд╛рдП рдЧрдП рдЯреЛрдХрди рдХреА рд╕рдВрдЦреНрдпрд╛ ``` #### рдХрдм рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдкреНрд░рдЧрддрд┐рд╢реАрд▓ рдПрдЬрд┐рдВрдЧ `aggressive` рдореЛрдб рдХреЗ рд▓рд┐рдП **рд╣рдореЗрд╢рд╛ рдЪрд╛рд▓реВ** рд░рд╣рддреА рд╣реИ тАФ рдпрд╣ `compressAggressive()` рдХрд╛ рдЪрд░рдг 2 рд╣реИред Ultra рдореЛрдб рдЗрд╕реЗ рдирд╣реАрдВ рдЪрд▓рд╛рддрд╛ред рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЗрдирдХреЗ рд▓рд┐рдП рдкреНрд░рднрд╛рд╡реА рд╣реИ: - рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдХреЛрдбрд┐рдВрдЧ рд╕рддреНрд░ - рдХрдИ рджрд┐рдиреЛрдВ рддрдХ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рдмрд╛рддрдЪреАрдд - рдЕрдиреЗрдХ рдЯреВрд▓ рдХреЙрд▓ рд╡рд╛рд▓реЗ рдПрдЬреЗрдВрдЯрд┐рдХ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ ### Caveman рдЖрдЙрдЯрдкреБрдЯ рдореЛрдб Caveman рдЖрдЙрдЯрдкреБрдЯ рдореЛрдб **рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЙрдореНрдкреНрдЯ рдирд┐рд░реНрджреЗрд╢** рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдЬреЛ рдореЙрдбрд▓ рд╕реЗ рд╣реА рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЖрдЙрдЯрдкреБрдЯ рдорд╛рдБрдЧрддреЗ рд╣реИрдВ тАФ `lite` рд╕реНрддрд░ рдкреВрд░реНрдг рд╡рд╛рдХреНрдп рдмрдирд╛рдП рд░рдЦрдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЙрддреНрддрд░ рдорд╛рдБрдЧрддрд╛ рд╣реИ, `full` рдЙрд╕рд╕реЗ "рдЪрддреБрд░ рдЖрджрд┐рдорд╛рдирд╡ рдХреА рддрд░рд╣ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЙрддреНрддрд░ рджреЗрдиреЗ" рдХреЛ рдХрд╣рддрд╛ рд╣реИ, рдФрд░ `ultra` рдЯреЗрд▓реАрдЧреНрд░рд╛рдлрд╝рд┐рдХ рдЖрдЙрдЯрдкреБрдЯ рдорд╛рдБрдЧрддрд╛ рд╣реИ; рдирд┐рд░реНрджреЗрд╢ рдХреЗрд╡рд▓ рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╣реИрдВ, рд╡реЗ рдЗрд╕рдХреА рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреЗ рд╕рдХрддреЗред рдЕрдиреБрд░реЛрдз рдЗрдиреНрд╣реЗрдВ `applyOutputStyles()` (`open-sse/services/compression/outputStyles/apply.ts`) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ: `open-sse/handlers/chatCore.ts` рдкрд╣рд▓реЗ рдмреИрдХ-рдХрдореНрдкреИрдЯ рд╢рд┐рдо (`resolveOutputStyleSelection()` рдЬреЛ `open-sse/services/compression/outputStyles/backCompat.ts` рдореЗрдВ рд╣реИ) рдХреЗ рд╕рд╛рде рдЪрдпрди рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ `outputStyles` рдЦрд╛рд▓реА рд╣реЛрдиреЗ рдкрд░ рд╕рдХреНрд╖рдо `cavemanOutputMode` рдХреЛ `cavemanOutputMode.intensity` рдкрд░ `terse-prose` рдЖрдЙрдЯрдкреБрдЯ рд╢реИрд▓реА рдореЗрдВ рдореИрдк рдХрд░рддрд╛ рд╣реИ (рдиреАрдЪреЗ Back-compat рджреЗрдЦреЗрдВ); рдЧреИрд░-рд░рд┐рдХреНрдд `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)ред рд╕рднреА рддрдХрдиреАрдХреА рд╡рд┐рд╡рд░рдг, code, errors, URLs, identifiers рд╣реВрдмрд╣реВ рд░рдЦреЗрдВред" рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЗрдирдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: - рдХреЛрдб рдирд┐рд░реНрдорд╛рдг (рдЕрдзрд┐рдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЖрдЙрдЯрдкреБрдЯ = рдХрдо рдЯреЛрдХрди) - рддреНрд╡рд░рд┐рдд рдкреНрд░рд╢реНрдиреЛрддреНрддрд░ (рд╡рд┐рд╕реНрддреГрдд рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ) - рдмреИрдЪ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ (рдереНрд░реВрдкреБрдЯ рдЕрдзрд┐рдХрддрдо рдХрд░реЗрдВ) #### рдХрдм рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ Caveman рдЖрдЙрдЯрдкреБрдЯ рдореЛрдб **рд╡реИрдХрд▓реНрдкрд┐рдХ** рд╣реИред рд╕рдВрдкреАрдбрд╝рди рдЪрд╛рд▓реВ рд╣реЛрдиреЗ рдкрд░ (`enabled: true`, Compression Settings рдкреЗрдЬ рдкрд░ рдореБрдЦреНрдп рдЯреЙрдЧрд▓ рдЪрд╛рд▓реВ), рдЗрд╕реЗ `cavemanOutputMode.enabled` рд╕реЗ рдЪрд╛рд▓реВ рдХрд░реЗрдВ; `intensity` `lite`, `full` рдпрд╛ `ultra` рдЪреБрдирддрд╛ рд╣реИ: ```json { "enabled": true, "cavemanOutputMode": { "enabled": true, "intensity": "full" } } ``` рдХрд┐рд╕реА compression combo рдХрд╛ **Output Mode** рдЯреЙрдЧрд▓ (`outputMode`, рд╕реНрддрд░ `outputModeIntensity` рдореЗрдВ) рдЙрди рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд╣реА рд╕реНрд╡рд┐рдЪ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рди рдкрд░ рд╡рд╣ combo рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ `omniroute_set_compression_engine` MCP рдЯреВрд▓ рдЕрдкрдиреЗ boolean `outputMode` рдЖрд░реНрдЧреНрдпреБрдореЗрдВрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕реЗ рд▓рд┐рдЦрддрд╛ рд╣реИред рдЧреИрд░-рд░рд┐рдХреНрдд `outputStyles` рдЪрдпрди рдХреЛ рдЗрд╕ рд╕реНрд╡рд┐рдЪ рдкрд░ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдорд┐рд▓рддреА рд╣реИред рдбреИрд╢рдмреЛрд░реНрдб рдореЗрдВ, **Terse prose** рдЖрдЙрдЯрдкреБрдЯ рд╢реИрд▓реА рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдкрд░ рд╡рд╣реА рдмреНрд▓реЙрдХ рдЗрдВрдЬреЗрдХреНрдЯ рд╣реЛрддрд╛ рд╣реИ (рдиреАрдЪреЗ Output Styles рджреЗрдЦреЗрдВ)ред ### рдЖрдЙрдЯрдкреБрдЯ рд╢реИрд▓рд┐рдпрд╛рдБ (рдХреИрдЯрд▓реЙрдЧ) рдКрдкрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ Caveman рдЖрдЙрдЯрдкреБрдЯ рдореЛрдб **рдкреБрд░рд╛рдирд╛ рдПрдХрд▓-рд╢реИрд▓реА рдорд╛рд░реНрдЧ** рд╣реИред Phase 4 рдиреЗ рдЗрд╕реЗ рд╕рдВрдпреЛрдЬреНрдп рдЖрдЙрдЯрдкреБрдЯ рд╢реИрд▓рд┐рдпреЛрдВ рдХреЗ рдХреИрдЯрд▓реЙрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдХрд┐рдпрд╛: `OUTPUT_STYLE_CATALOG`, рдЬреЛ `open-sse/services/compression/outputStyles/catalog.ts` рдореЗрдВ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рд╢реИрд▓реА рдПрдХ system-prompt рдирд┐рд░реНрджреЗрд╢ рд╣реИ, рдЬреЛ рдореЙрдбрд▓ рд╕реЗ рд╕реНрд╡рдпрдВ рдХрдо рдЦрд░реНрдЪреАрд▓рд╛ рдЖрдЙрдЯрдкреБрдЯ рдорд╛рдБрдЧрддрд╛ рд╣реИ; рд╢реИрд▓рд┐рдпрд╛рдБ рдПрдХ рд╕рд╛рде рд╕рдХреНрд╖рдо рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВ рдФрд░ рдХреИрдЯрд▓реЙрдЧ рдХреНрд░рдо рдореЗрдВ рдЗрдВрдЬреЗрдХреНрдЯ рд╣реЛрддреА рд╣реИрдВред | рд╢реИрд▓реА | `id` | рдпрд╣ рдХреНрдпрд╛ рдХрд░рддреА рд╣реИ | рдирд┐рд░реНрджреЗрд╢ рдХреА рднрд╛рд╖рд╛рдПрдБ | | ----------------------------- | --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------- | | рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЧрджреНрдп | `terse-prose` | рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╢рдмреНрдж/рдЙрдкрдкрдж/рдЕрдирд┐рд╢реНрдЪрд┐рддрддрд╛-рд╕реВрдЪрдХ рднрд╛рд╖рд╛ рд╣рдЯрд╛рддреА рд╣реИ; рддрдХрдиреАрдХреА рд╡рд┐рд╡рд░рдг рд╣реВрдмрд╣реВ рд░рдЦрддреА рд╣реИред рдкреБрд░рд╛рдиреЗ caveman рдЖрдЙрдЯрдкреБрдЯ рдореЛрдб рд╡рд╛рд▓рд╛ рд╡рд╣реА рдЯреЗрдХреНрд╕реНрдЯ (рд╕рдВрджрд░реНрднрд┐рдд, рджреЛрдмрд╛рд░рд╛ рдЯрд╛рдЗрдк рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛)ред | en, pt-BR, es, de, fr, it, ru, zh, ja, id, vi | | рдХрдо рдХреЛрдб | `less-code` | YAGNI рдХреНрд░рдо: рд╕рдмрд╕реЗ рдЫреЛрдЯрд╛ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдмрджрд▓рд╛рд╡, рдмрд┐рдирд╛ рдорд╛рдБрдЧреЗ abstractions рдирд╣реАрдВред | en, pt-BR, es, de, fr, it, ru, zh, ja, id, vi | | Ponytail (рдЖрд▓рд╕реА рд╡рд░рд┐рд╖реНрда рдбреЗрд╡рд▓рдкрд░) | `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 рдирд╣реАрдВ, рд╕реАрдорд┐рдд рдкреИрд▓реЗрдЯ, рдХреЛрдИ template layouts рдирд╣реАрдВред рджреЛрдиреЛрдВ antislop рд╢реИрд▓рд┐рдпрд╛рдБ no-dead-controls / no-fabricated-claims рд╕реАрдорд╛ рдЬреЛрдбрд╝рддреА рд╣реИрдВред | 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 рдкрд╣реБрдБрдЪ, empty/loading/error рдЕрд╡рд╕реНрдерд╛рдПрдБ, mobile reflowред | en, pt-BR, es, de, fr, it, ru, zh, ja, id, vi | | рд╕рдВрдХреНрд╖рд┐рдкреНрдд CJK (цЦЗшиА) | `terse-cjk` | `full`/`ultra` рдЙрддреНрддрд░ Classical Chinese (цЦЗшиА) рдореЗрдВ; `lite` рдХреЗрд╡рд▓ function words, рд╢рд┐рд╖реНрдЯрд╛рдЪрд╛рд░ рдпрд╛ рдЕрд▓рдВрдХрд░рдг рдХреЗ рдмрд┐рдирд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЙрддреНрддрд░ рдорд╛рдБрдЧрддрд╛ рд╣реИред | zh (рд▓реЛрдХреЗрд▓-рд╕реАрдорд┐рдд, рдиреАрдЪреЗ рджреЗрдЦреЗрдВ) | рд╣рд░ рд╢реИрд▓реА рдореЗрдВ рддреАрди intensity рд╕реНрддрд░ тАФ `lite`, `full`, `ultra` тАФ рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рд╣рд░ рд╕реНрддрд░ рд╕рд╛рдЭрд╛ рд╕реАрдорд╛ рдЦрдВрдб (`SHARED_BOUNDARIES`, `outputMode.ts` рдореЗрдВ) рдкрд░ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ code blocks, file paths, commands, errors рдФрд░ URLs рдХреЛ рд╣реВрдмрд╣реВ рд░рдЦрддрд╛ рд╣реИред `terse-prose` рдФрд░ `terse-cjk` рд╕реНрддрд░реЛрдВ рдХреЗ рдЯреЗрдХреНрд╕реНрдЯ рдЗрд╕ рд╕реВрдЪреА рдореЗрдВ identifiers рднреА рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред `terse-cjk` рджреЛ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ `zh` рд▓реЛрдХреЗрд▓ рддрдХ рд╕реАрдорд┐рдд рд╣реИред Compression Settings рдкреЗрдЬ рдЗрд╕рдХреА рдкрдВрдХреНрддрд┐ рдХреЗрд╡рд▓ рддрднреА рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдЬрдм рдбреИрд╢рдмреЛрд░реНрдб UI рдХреА рднрд╛рд╖рд╛ рдЪреАрдиреА (`zh-CN` рдпрд╛ `zh-TW`) рд╣реЛ, рдФрд░ `applyOutputStyles()` рдЗрд╕реЗ рдХреЗрд╡рд▓ рддрднреА рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рддрд╛ рд╣реИ рдЬрдм рдЕрдиреБрд░реЛрдз рдХреА рдирд┐рд░реНрдзрд╛рд░рд┐рдд рднрд╛рд╖рд╛ (рдиреАрдЪреЗ рднрд╛рд╖рд╛ рдЪрдпрди рджреЗрдЦреЗрдВ) `zh` рд╣реЛред рдкрдВрдХреНрддрд┐ рдЫрд┐рдкрд╛рдиреЗ рд╕реЗ рд╕рд╣реЗрдЬрд╛ рд╣реБрдЖ `terse-cjk` рдЪрдпрди рд╕рд╛рдлрд╝ рдирд╣реАрдВ рд╣реЛрддрд╛: settings API рдХрд┐рд╕реА рднреА style id рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдкреЗрдЬ рдкрд░ рдЕрдиреНрдп рд╢реИрд▓рд┐рдпрд╛рдБ рд╕рд╣реЗрдЬрдиреЗ рд╕реЗ рдпрд╣ рдмрдирд╛ рд░рд╣рддрд╛ рд╣реИред рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рдордп, `applyOutputStyles()` рдХреА рднрд╛рд╖рд╛ рдЬрд╛рдБрдЪ рд╣реА рдПрдХрдорд╛рддреНрд░ рд▓реЛрдХреЗрд▓ рдЧреЗрдЯ рд╣реИред #### рдЗрдВрдЬреЗрдХреНрд╢рди рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ `applyOutputStyles()` (`open-sse/services/compression/outputStyles/apply.ts`) рдЪрдпрди рдХреЛ рдХреИрдЯрд▓реЙрдЧ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ (рдЕрдЬреНрдЮрд╛рдд ids рдФрд░ locale рд╕реЗ рдЕрд╕рдВрдЧрдд рд╢реИрд▓рд┐рдпрд╛рдБ рд╣рдЯрд╛ рджреА рдЬрд╛рддреА рд╣реИрдВ, рдЗрд╕реЗ рдХрднреА рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛; рдЬрд┐рд╕ рдЪрдпрди рд╕реЗ рдХреЛрдИ рд╢реИрд▓реА рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрддреА, рд╡рд╣ body рдХреЛ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ рдФрд░ `no_styles` рдХреЗ рд░реВрдк рдореЗрдВ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ), рдЪрдпрдирд┐рдд рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рдХреИрдЯрд▓реЙрдЧ рдХреНрд░рдо рдореЗрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рд╕реАрдорд╛рдУрдВ рд╡рд╛рд▓рд╛ рдЦрдВрдб **рдПрдХ рдмрд╛рд░** рдЬреЛрдбрд╝рддрд╛ рд╣реИ (рд╕рд╛рде рд╣реА рд╕реБрд░рдХреНрд╖рд╛ рдЦрдВрдб, `SAFETY_BOUNDARIES` рдпрд╛ рдЙрд╕рдХрд╛ рдЕрдиреБрд╡рд╛рдж, рдЬрдм `less-code` рдпрд╛ `ponytail` рдЪреБрдирд╛ рдЧрдпрд╛ рд╣реЛ), рдФрд░ block рдХреЛ рдПрдХрд▓ idempotency marker (`[OmniRoute Output Styles]`) рд╕реЗ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рджреЛрдмрд╛рд░рд╛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ no-op рд╣реЛрддрд╛ рд╣реИред рдЬрдм рд╣рд▓ рдХреА рдЧрдИ рднрд╛рд╖рд╛ (рдиреАрдЪреЗ рднрд╛рд╖рд╛ рдЪрдпрди рджреЗрдЦреЗрдВ) рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдЙрдкрд▓рдмреНрдз рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЕрдВрдЧреНрд░реЗрдЬрд╝реА рдХреЗ рдмрдЬрд╛рдп рд╕реНрдерд╛рдиреАрдпрдХреГрдд рдирд┐рд░реНрджреЗрд╢ рдбрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЧреИрд░-рд░рд┐рдХреНрдд `messages` array рд╡рд╛рд▓реЗ body рдкрд░, idempotency рдЬрд╛рдБрдЪ content bypass рд╕реЗ рдкрд╣рд▓реЗ рдЪрд▓рддреА рд╣реИ: рдЬрдм `[OmniRoute Output Styles]` marker рдкрд╣рд▓реЗ рд╕реЗ рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп `system` field (рдПрдХ string рдпрд╛ content-block array) рдореЗрдВ рдпрд╛ string content рд╡рд╛рд▓реЗ system message рдореЗрдВ рдореМрдЬреВрдж рд╣реЛ, рддреЛ body рдХреЛ `already_applied` рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХреЛрдИ keyword рдЬрд╛рдБрдЪ рдирд╣реАрдВ рдЪрд▓рддреАред рдЕрдиреНрдпрдерд╛, рдПрдХ content bypass (`shouldBypassCavemanOutputMode()` рдЬреЛ `open-sse/services/compression/outputMode.ts` рдореЗрдВ рд╣реИ) рдЕрдВрддрд┐рдо рддреАрди messages рдХреЗ text рдХреА рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИ, рдЪрд╛рд╣реЗ рдЙрдирдХреА role рдХреБрдЫ рднреА рд╣реЛ, рдФрд░ рдЬрдм рд╡рд╣ text рд╕реБрд░рдХреНрд╖рд╛, рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдХрд╛рд░реНрд░рд╡рд╛рдИ рдпрд╛ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд keywords рд╕реЗ, рдпрд╛ рдХреНрд░рдо-рд╕рдВрд╡реЗрджрдирд╢реАрд▓ sequence рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ, рддреЛ рдкреВрд░реЗ turn рдХреЗ рд▓рд┐рдП styles рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ: `first`, `then`, `after that`, `before`, `rollback` рдпрд╛ `backup`, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж 240 characters рдХреЗ рднреАрддрд░ `delete`, `drop`, `migrate`, `deploy` рдпрд╛ `release` рдЖрдПред bypass рддрдм рдЪрд▓рддрд╛ рд╣реИ рдЬрдм **Auto-Clarity Bypass** toggle (`cavemanOutputMode.autoClarity`, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЪрд╛рд▓реВ) рдЪрд╛рд▓реВ рд╣реЛ; toggle рдмрдВрдж рдХрд░рдиреЗ рдкрд░ keyword рдЬрд╛рдБрдЪ рдЫреЛрдбрд╝ рджреА рдЬрд╛рддреА рд╣реИред рдЬрдм bypass turn рдХреЛ рдЖрдЧреЗ рдЬрд╛рдиреЗ рджреЗрддрд╛ рд╣реИ, рддреЛ `placeSystemInstruction()` (рдЙрд╕реА file рдореЗрдВ), рдЬреЛ рдХрднреА рдирдпрд╛ `messages[0]` рдирд╣реАрдВ рдмрдирд╛рддрд╛, block рдХреЛ рдирд┐рдореНрди рдореЗрдВ рд╕реЗ рдорд┐рд▓рдиреЗ рд╡рд╛рд▓реЗ рдкрд╣рд▓реЗ рд╕реНрдерд╛рди рдкрд░ рд░рдЦрддрд╛ рд╣реИ: 1. string content рд╡рд╛рд▓рд╛ рдЖрд░рдВрднрд┐рдХ system message: block рдЙрд╕рдХреЗ text рдХреЗ рдмрд╛рдж рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред 2. рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп `system` field: block рдХреЛ string рдХреЗ text рдХреЗ рдмрд╛рдж рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╛ content-block array рдореЗрдВ рдирдП text block рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред 3. рдмрд╛рдж рдореЗрдВ рдЖрдиреЗ рд╡рд╛рд▓рд╛ рдкрд╣рд▓рд╛ string content рд╡рд╛рд▓рд╛ system message: block рдЙрд╕рдХреЗ text рдХреЗ рдмрд╛рдж рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред 4. рдЙрдкрд░реЛрдХреНрдд рдореЗрдВ рд╕реЗ рдХреЛрдИ рдирд╣реАрдВ: block рдХреЛ `messages` рдХреЗ рдЕрдВрдд рдореЗрдВ рдПрдХ рдирдП system message рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред `messages` array рдХреЗ рдмрд┐рдирд╛ (рдпрд╛ рд░рд┐рдХреНрдд array рд╡рд╛рд▓реЗ) body рдкрд░ рдХреЛрдИ content bypass рдирд╣реАрдВ рдЪрд▓рддрд╛ рдФрд░ рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп `system` field рдирд╣реАрдВ рджреЗрдЦреА рдЬрд╛рддреАред block рдХреЛ string `instructions` field рдХреЗ text рдХреЗ рдмрд╛рдж рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдм рддрдХ рдЙрд╕ field рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ `[OmniRoute Output Styles]` marker рди рд╣реЛ; рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ body рдХреЛ `already_applied` рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм body рдореЗрдВ string `instructions` field рдирд╣реАрдВ рд╣реЛрддреА, рд▓реЗрдХрд┐рди рдЙрд╕рдореЗрдВ `input` (рдПрдХ string рдпрд╛ array) рдореМрдЬреВрдж рд╣реЛрддрд╛ рд╣реИ, рддреЛ block `instructions` рдмрди рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЙрд╕ field рдореЗрдВ рдореМрдЬреВрдж рдХрд┐рд╕реА рднреА non-string value рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рджреЗрддрд╛ рд╣реИред рдЬрд┐рд╕ body рдореЗрдВ рди string `instructions` field рд╣реЛ, рди string рдпрд╛ array `input`, рдЙрд╕реЗ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ `no_messages` рдХреЗ рд░реВрдк рдореЗрдВ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред #### рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ dashboard рдореЗрдВ: **Compression Context тЖТ Compression Settings** (`/dashboard/context/settings`), Output styles section: рдкреНрд░рддреНрдпреЗрдХ style рдХреЗ рд▓рд┐рдП рдПрдХ row, рдЬрд┐рд╕рдореЗрдВ on/off toggle рдФрд░ level selector рд╣реЛрддрд╛ рд╣реИред compression рд╕реНрд╡рдпрдВ рдЪрд╛рд▓реВ рд░рд╣рдиреЗ рдкрд░ styles рдбрд╛рд▓реА рдЬрд╛рддреА рд╣реИрдВ (page рдХрд╛ master toggle, `enabled`)ред **Auto-Clarity Bypass** toggle **Caveman** page (`/dashboard/context/caveman`) рдХреЗ **Output Mode** card рдореЗрдВ рд╣реИред рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ, compression config рдЪрдпрди рдХреЛ рдЗрд╕ рд░реВрдк рдореЗрдВ рд╕рд╣реЗрдЬрддрд╛ рд╣реИ: ```json { "outputStyles": [ { "id": "i-have-adhd", "level": "full" }, { "id": "less-code", "level": "lite" } ] } ``` рдкрд┐рдЫрд▓реА рд╕рдВрдЧрддрддрд╛: рдЬрдм `outputStyles` рд░рд┐рдХреНрдд рд╣реЛ, рддреЛ legacy `cavemanOutputMode.enabled` setting, `cavemanOutputMode.intensity` рдкрд░ `terse-prose` рд╕реЗ map рд╣реЛрддреА рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рдж block `[OmniRoute Output Styles]` marker рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ legacy `applyCavemanOutputMode()` injector `[OmniRoute Caveman Output Mode]` рд▓рд┐рдЦрддрд╛ рдерд╛ред marker рдХреЗ рдиреАрдЪреЗ, text 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` рд╣реИ, рдЙрд╕реЗ рд╡рд╣рд╛рдБ рдЕрдВрдЧреНрд░реЗрдЬрд╝реА text рдорд┐рд▓рддрд╛ рд╣реИ рдЬрд╣рд╛рдБ legacy injector рдЙрд╕рдХрд╛ Hungarian text рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рдерд╛ред Output-style рднрд╛рд╖рд╛ рдЪрдпрди (`resolveOutputStyleLanguage()` рдЬреЛ `outputStyles/apply.ts` рдореЗрдВ рд╣реИ): `languageConfig.enabled` рдЪрд╛рд▓реВ рд╣реЛрдиреЗ рдкрд░, `autoDetect` request рдХреЗ `messages` array рдореЗрдВ text рд╡рд╛рд▓реЗ рдирд╡реАрдирддрдо user message (string content, рдпрд╛ рдЙрд╕рдХреЗ content parts рдХрд╛ `text`) рдХрд╛ sample рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдЙрд╕ рдкрд░ Caveman engine рдХрд╛ detector (`detectCompressionLanguage()`) рдЪрд▓рд╛рддрд╛ рд╣реИред detector Han characters рдФрд░ рдмрд┐рдирд╛ kana рд╡рд╛рд▓реЗ text рдХреЗ рд▓рд┐рдП `zh` рд▓реМрдЯрд╛рддрд╛ рд╣реИ; рдЕрдиреНрдпрдерд╛ рд╡рд╣ `it`, `pt-BR`, `es`, `de`, `fr`, `ru`, `ja`, `hu` рдФрд░ `id` рдореЗрдВ рд╕реЗ рд╕рд░реНрд╡рд╛рдзрд┐рдХ hint matches рд╡рд╛рд▓реА рднрд╛рд╖рд╛ рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рдФрд░ рдХреЛрдИ match рди рд╣реЛрдиреЗ рдкрд░ `en` рд▓реМрдЯрд╛рддрд╛ рд╣реИ тАФ рдЬрд┐рд╕ text рдХреЛ рд╡рд╣ рд╡рд░реНрдЧреАрдХреГрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рдЙрд╕рдХреЗ рд▓рд┐рдП рдЕрдВрдЧреНрд░реЗрдЬрд╝реА рдорд┐рд▓рддреА рд╣реИ, `defaultLanguage` рдХрднреА рдирд╣реАрдВ; рдФрд░ styles рдореЗрдВ `vi` text рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рд╡рдЬреВрдж `vi` рдХрд╛ рдХрднреА рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛рдпрд╛ рдЬрд╛рддрд╛ред Responses API body рдЕрдкрдиреЗ turns рдХреЛ `input` рдореЗрдВ рд░рдЦрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ sample рдирд╣реАрдВ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛, рдЗрд╕рд▓рд┐рдП рдЙрд╕реЗ `defaultLanguage`, рдлрд┐рд░ рдЕрдВрдЧреНрд░реЗрдЬрд╝реА рдорд┐рд▓рддреА рд╣реИред рдЬрдм `messages` рдореЗрдВ рдХрд┐рд╕реА user message рдореЗрдВ text рди рд╣реЛ, рдпрд╛ `autoDetect` рдмрдВрдж рд╣реЛ, рддреЛ `defaultLanguage` рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИ, рдлрд┐рд░ рдЕрдВрдЧреНрд░реЗрдЬрд╝реАред `languageConfig.enabled` рдмрдВрдж рд╣реЛрдиреЗ рдкрд░ рднрд╛рд╖рд╛ рдЕрдВрдЧреНрд░реЗрдЬрд╝реА рд╣реЛрддреА рд╣реИ тАФ рдЬрдм рддрдХ request рдкрд░ рдХреЛрдИ compression combo рд▓рд╛рдЧреВ рди рд╣реЛ (request рдХреЗ routing combo рдХреЛ assign рдХрд┐рдпрд╛ рдЧрдпрд╛ combo, рдпрд╛ built-in stacked pipeline рдХреЗ рд▓рд┐рдП chatCore рджреНрд╡рд╛рд░рд╛ fallback рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ default compression combo): combo рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╕реЗ рдЙрд╕ request рдХреЗ рд▓рд┐рдП `languageConfig.enabled` рдЪрд╛рд▓реВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ combo рдХреЗ language packs рд╕реЗ `defaultLanguage` set рд╣реЛрддреА рд╣реИ (рдпрджрд┐ saved value combo рдХреЗ packs рдореЗрдВ рд╕реЗ рдПрдХ рд╣реЛ рддреЛ рд╡рд╣реА, рдЕрдиреНрдпрдерд╛ combo рдХрд╛ рдкрд╣рд▓рд╛ pack, рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ `en` рд╣реЛрддрд╛ рд╣реИ), рдЬрдмрдХрд┐ saved `autoDetect` (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЪрд╛рд▓реВ) рдЕрдм рднреА рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред Caveman input engine рдЕрдкрдиреЗ rule-pack рдХреА рднрд╛рд╖рд╛ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рдЪреБрдирддрд╛ рд╣реИ тАФ рдкреНрд░рддреНрдпреЗрдХ text part рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдФрд░, auto-detect рдмрдВрдж рд╣реЛрдиреЗ рдкрд░, `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`**: рдРрд╕реА рд╕рд╛рдордЧреНрд░реА рдЬрд┐рд╕рдореЗрдВ `::` рдХреЗ рд░реВрдк рд╡рд╛рд▓реА рдХрдо-рд╕реЗ-рдХрдо рдПрдХ рдкрдВрдХреНрддрд┐ рд╣реЛ, рдЬрд╣рд╛рдБ рдкрд╣рд▓реЗ рдХреЛрд▓рди рд╕реЗ рдкрд╣рд▓реЗ рдХреЗ рдЯреЗрдХреНрд╕реНрдЯ рдореЗрдВ рдХреЛрдИ рд╡реНрд╣рд╛рдЗрдЯрд╕реНрдкреЗрд╕ рди рд╣реЛ, рдХреЗрд╡рд▓ рдЙрдиреНрд╣реАрдВ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рд░рдЦрддреА рд╣реИ, рдЕрдзрд┐рдХрддрдо 30 рддрдХ, рдФрд░ рдЙрдирдХреЗ рдмрд╛рдж рд╢реЗрд╖ рдореЗрд▓реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рддрдерд╛ рдореЗрд▓ рдЦрд╛рдиреЗ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕реВрдЪреА рджреЗрддреА рд╣реИ; рд╣рд░ рджреВрд╕рд░реА рдкрдВрдХреНрддрд┐ рд╣рдЯрд╛ рджреА рдЬрд╛рддреА рд╣реИред рд░рдгрдиреАрддрд┐ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдРрд╕реА рдПрдХ рдкрдВрдХреНрддрд┐ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдЗрд╕рд▓рд┐рдП `12:30:45` рдЬреИрд╕реЗ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рд╕реЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд▓реЙрдЧ рдкрдВрдХреНрддрд┐ рднреА рдореЗрд▓ рдорд╛рдиреА рдЬрд╛рддреА рд╣реИред 3. **`shellOutput`**: рдРрд╕рд╛ рдЖрдЙрдЯрдкреБрдЯ рдЬрд┐рд╕рдореЗрдВ ANSI CSI рдЕрдиреБрдХреНрд░рдо (`ESC[` рдХреЗ рдмрд╛рдж рдЕрдВрдХ рдпрд╛ рд╕реЗрдореАрдХреЛрд▓рди рдФрд░ рдлрд┐рд░ рдПрдХ рдЕрдХреНрд╖рд░, рдЬреИрд╕реЗ рд░рдВрдЧ рдХреЛрдб рдореЗрдВ) рд╣реЛ рдпрд╛ рдЯреЗрдХреНрд╕реНрдЯ рдореЗрдВ рдХрд╣реАрдВ рднреА `$` рдХреЗ рдмрд╛рдж рд╡реНрд╣рд╛рдЗрдЯрд╕реНрдкреЗрд╕ рд╣реЛ, рдЙрди рдЕрдиреБрдХреНрд░рдореЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ (рдЕрдиреНрдп рдПрд╕реНрдХреЗрдк, рдЬреИрд╕реЗ `ESC[?25l` рдпрд╛ OSC рд╡рд┐рдВрдбреЛ-рд╢реАрд░реНрд╖рдХ рдЕрдиреБрдХреНрд░рдо, рд░рдЦреЗ рдЬрд╛рддреЗ рд╣реИрдВ) рдФрд░ рдЙрд╕рдХреА рдЕрдВрддрд┐рдо 50 рдкрдВрдХреНрддрд┐рдпрд╛рдБ рд░рдЦрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рд▓рдЧрд╛рддрд╛рд░ рджреЛрд╣рд░рд╛рдИ рдЧрдИ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рд╕рдореЗрдЯ рджреЗрддрд╛ рд╣реИред рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЬрд╛рдБрдЪ `json` рдФрд░ `errorMessage` рд╕реЗ рдкрд╣рд▓реЗ рдЪрд▓рддреА рд╣реИ, рдРрд╕рд╛ JSON рдпрд╛ рддреНрд░реБрдЯрд┐ рдЖрдЙрдЯрдкреБрдЯ рдЬрд┐рд╕рдореЗрдВ рдРрд╕рд╛ `$` рд╣реЛ, `shellOutput` рдЪрд╛рд▓реВ рд░рд╣рдиреЗ рдкрд░ рдХрднреА рдЙрди рддрдХ рдирд╣реАрдВ рдкрд╣реБрдБрдЪрддрд╛ред 4. **`json`**: 2,000 рд╡рд░реНрдгреЛрдВ рд╕реЗ рдмрдбрд╝рд╛ рдРрд╕рд╛ JSON рдкреЗрд▓реЛрдб, рдЬреЛ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╡реНрд╣рд╛рдЗрдЯрд╕реНрдкреЗрд╕ рдХреЗ рдмрд╛рдж `{` рдпрд╛ `[` рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкрд╛рд░реНрд╕ рд╣реЛрддрд╛ рд╣реИ, рд╕рдВрдХреНрд╖реЗрдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: 7 рд╕реЗ рдЕрдзрд┐рдХ рдЖрдЗрдЯрдо рд╡рд╛рд▓реА рд╕рд░рдгреА рдЕрдкрдиреЗ рдкрд╣рд▓реЗ 5 рдФрд░ рдЕрдВрддрд┐рдо 2 рдЖрдЗрдЯрдо рддрдерд╛ рдХреБрд▓ рд╕рдВрдЦреНрдпрд╛ рд░рдЦрддреА рд╣реИ, рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдЕрдкрдиреА рдкрд╣рд▓реА 20 рдХреБрдВрдЬрд┐рдпрд╛рдБ рд░рдЦрддрд╛ рд╣реИ, рдЬрд╣рд╛рдБ рдкреНрд░рддреНрдпреЗрдХ рдиреЗрд╕реНрдЯреЗрдб рдСрдмреНрдЬреЗрдХреНрдЯ рдпрд╛ рд╕рд░рдгреА рдорд╛рди рдХреЛ `{тАжN keys}` рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░ (рд╕рд░рдгреА рдХреЗ рд▓рд┐рдП, N рдЙрд╕рдХреА рд▓рдВрдмрд╛рдИ рд╣реИ) рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдкрд╣рд▓реА 20 рдХреЗ рдмрд╛рдж рд╣рдЯрд╛рдИ рдЧрдИ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ `_remaining__keys` рдорд╛рд░реНрдХрд░ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕реНрдХреЗрд▓рд░ рдорд╛рди рдкреВрд░реЗ рдХреЙрдкреА рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП 20 рдпрд╛ рдЙрд╕рд╕реЗ рдХрдо рдХреБрдВрдЬрд┐рдпреЛрдВ рд╡рд╛рд▓рд╛ рдРрд╕рд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдЬрд┐рд╕рдореЗрдВ рдХреЛрдИ рдиреЗрд╕реНрдЯреЗрдб рдорд╛рди рдирд╣реАрдВ рд╣реИ, рдХреЗрд╡рд▓ рдлрд┐рд░ рд╕реЗ рдЗрдВрдбреЗрдВрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ тАФ рдорд┐рдирд┐рдлрд╝рд╛рдЗрдб рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рд╡рд░реНрдг рдмрдврд╝ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рд╡рд╣ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд░рд╣рддрд╛ рд╣реИред 5. **`errorMessage`**: рдРрд╕рд╛ рдЖрдЙрдЯрдкреБрдЯ рдЬрд┐рд╕рдореЗрдВ рдХрд╣реАрдВ рднреА рдФрд░ рдЕрдХреНрд╖рд░реЛрдВ рдХреЗ рдХрд┐рд╕реА рднреА рдХреЗрд╕ рдореЗрдВ `error:`, `error ` (рд╢рдмреНрдж рдХреЗ рдмрд╛рдж рд╕реНрдкреЗрд╕, рдЬреИрд╕реЗ `no error found` рдореЗрдВ), `[error]`, `exception:`, `exception `, `[exception]` рдпрд╛ `traceback` рд╣реЛ, рдЙрд╕рдХреА рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐, рдЕрдЧрд▓реА 10 рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдФрд░ рдЕрдВрддрд┐рдо 3 рдкрдВрдХреНрддрд┐рдпрд╛рдБ рд░рдЦрддрд╛ рд╣реИ, рддрдерд╛ рдЙрдирдХреЗ рдмреАрдЪ рдХреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд╕реНрдерд╛рди рдкрд░ `тАж [N frames elided] тАж` рдорд╛рд░реНрдХрд░ рд▓рдЧрд╛рддрд╛ рд╣реИред рдорд╛рд░реНрдХрд░ рдХреЗрд╡рд▓ рддрднреА рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ рдЬрдм рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдХреЗ рдмрд╛рдж 13 рд╕реЗ рдЕрдзрд┐рдХ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рд╣реЛрдВ, рдЗрд╕рд▓рд┐рдП 14 рдпрд╛ рдЙрд╕рд╕реЗ рдХрдо рдкрдВрдХреНрддрд┐рдпреЛрдВ рд╡рд╛рд▓рд╛ рддреНрд░реБрдЯрд┐ рдЖрдЙрдЯрдкреБрдЯ рдЫреЛрдЯрд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ (12 рдпрд╛ 13 рдкрдВрдХреНрддрд┐рдпреЛрдВ рдкрд░ рдЕрдВрддрд┐рдо 3 рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдкрд╣рд▓реЗ рд╕реЗ рд░рдЦреА рдЧрдИ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рджреЛрд╣рд░рд╛рддреА рд╣реИрдВ)ред рдХрд┐рд╕реА рд░рдгрдиреАрддрд┐ рдХреЗ рдореЗрд▓ рдЦрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рднрд▓реЗ рд╣реА рдЙрд╕рд╕реЗ рдХреБрдЫ рднреА рдмрдЪрдд рди рд╣реЛ, рдмрд╛рдж рдХреА рд░рдгрдиреАрддрд┐рдпрд╛рдБ рдирд╣реАрдВ рдЖрдЬрд╝рдорд╛рдИ рдЬрд╛рддреАрдВред рдЬрдм рдореЗрд▓ рдЦрд╛рдиреЗ рд╡рд╛рд▓реА рд░рдгрдиреАрддрд┐ рд╕реЗ рдЕрдиреБрдорд╛рдирд┐рдд рдЯреЛрдХрдиреЛрдВ (рд▓рдВрдмрд╛рдИ ├╖ 4, рдКрдкрд░ рдХреА рдУрд░ рдкреВрд░реНрдгрд╛рдВрдХрд┐рдд) рдХреА рдХреЛрдИ рдмрдЪрдд рдирд╣реАрдВ рд╣реЛрддреА тАФ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП 25 рдпрд╛ рдЙрд╕рд╕реЗ рдХрдо рдкрдВрдХреНрддрд┐рдпреЛрдВ рд╡рд╛рд▓реА рдХреЛрдб-рдЬреИрд╕реА рдлрд╝рд╛рдЗрд▓, рдпрд╛ 2,000 рд╕реЗ рдЕрдзрд┐рдХ рд╡рд░реНрдгреЛрдВ рд╡рд╛рд▓реА рдРрд╕реА JSON рд╕рд░рдгреА рдЬрд┐рд╕рдореЗрдВ 7 рдпрд╛ рдЙрд╕рд╕реЗ рдХрдо рдЖрдЗрдЯрдо рд╣реЛрдВ тАФ рддреЛ aggressive рдЗрдВрдЬрди рдореВрд▓ рдЯреВрд▓ рдкрд░рд┐рдгрд╛рдо рдХреЛ рд░рдЦрддрд╛ рд╣реИ: рджреЛрдиреЛрдВ рдХреЙрд▓рд░ (`compressAggressive()` рдФрд░ `compressAnthropicToolResultBlock()`) ` saved` 0 рдпрд╛ рдЙрд╕рд╕реЗ рдХрдо рд╣реЛрдиреЗ рдкрд░ рдореВрд▓ рдкрд░рд┐рдгрд╛рдо рд░рдЦрддреЗ рд╣реИрдВ, рдЬрдмрдХрд┐ `compressToolResult()` рд╕реНрд╡рдпрдВ рдлрд┐рд░ рднреА рдЙрд╕ рд░рдгрдиреАрддрд┐ рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдЯреВрд▓-рдкрд░рд┐рдгрд╛рдо рдЪрд░рдг рдЕрдВрддрд┐рдо рдирд┐рд░реНрдгрдп рдирд╣реАрдВ рд╣реИ: рдЗрдВрдЬрди рдХрд╛ рдлрд╝реЙрд▓рдмреИрдХ рд╕рд╛рд░рд╛рдВрд╢рдХрд░реНрддрд╛ рдЕрдм рднреА 8,192 рд╡рд░реНрдгреЛрдВ рд╕реЗ рд▓рдВрдмреЗ `tool` рдпрд╛ `function` рд╕рдВрджреЗрд╢ (`maxTokensPerMessage`, 2,048, рдЧреБрдгрд╛ 4) рдХреЛ рдЫреЛрдЯрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред #### рдХрдм рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЯреВрд▓ рдкрд░рд┐рдгрд╛рдо рд╕рдВрдкреАрдбрд╝рди aggressive рдЗрдВрдЬрди рдХрд╛ рдЪрд░рдг 1 рд╣реИ (`open-sse/services/compression/aggressive.ts` рдореЗрдВ `compressAggressive()`), рдЗрд╕рд▓рд┐рдП рдпрд╣ Aggressive рдореЛрдб рдореЗрдВ рдФрд░ рд╕реНрдЯреИрдХреНрдб рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЗ `aggressive` рдЪрд░рдг рдореЗрдВ рдЪрд▓рддрд╛ рд╣реИред рдпрд╣ OpenAI-рдЖрдХрд╛рд░ рд╡рд╛рд▓реЗ `tool` рдФрд░ `function` рд╕рдВрджреЗрд╢реЛрдВ рддрдерд╛ Anthropic `tool_result` рдмреНрд▓реЙрдХ рдХреЗ рднреАрддрд░ рдХреЗ рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рд╕рдВрдкреАрдбрд╝рд┐рдд рдХрд░рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рд░рдгрдиреАрддрд┐ рдХрд╛ `aggressive.toolStrategies` рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдЕрдкрдирд╛ рд╕реНрд╡рд┐рдЪ рд╣реИ, рдФрд░ рд╕рднреА рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЪрд╛рд▓реВ рд╣реИрдВред рдбреИрд╢рдмреЛрд░реНрдб рдореЗрдВ, рд╕рдВрдкреАрдбрд╝рди рдЪрд╛рд▓реВ рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдореЛрдб Aggressive рд╣реЛрдиреЗ рдкрд░ рд╕реНрд╡рд┐рдЪ Caveman рдкреГрд╖реНрда рдХреЗ **Advanced** рджреГрд╢реНрдп рдореЗрдВ рд╣реЛрддреЗ рд╣реИрдВред ### рд╕реНрдЯреИрдХреНрдб рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╕реНрдЯреИрдХреНрдб рдореЛрдб рдореЗрдВ **рдХрдИ рдЗрдВрдЬрди рдХреНрд░рдо рд╕реЗ** рдЪрд▓рддреЗ рд╣реИрдВ тАФ рдЖрдорддреМрд░ рдкрд░ рдкрд╣рд▓реЗ RTK (рдЯреВрд▓ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ 60-90% рдмрдЪрдд), рдлрд┐рд░ рд╢реЗрд╖ рдЯреЗрдХреНрд╕реНрдЯ рдкрд░ Caveman (~46% рдЗрдирдкреБрдЯ рдмрдЪрдд)ред рд╕рдВрдпреБрдХреНрдд рд░реВрдк рд╕реЗ, рдпрд╣ **78-95% рдкрд╛рддреНрд░ рд╕реАрдорд╛** рд╣реИ (рдКрдкрд░ Upstream Savings Math рджреЗрдЦреЗрдВ): `1 - (1 - 0.60..0.90) ├Ч (1 - 0.46)` рдХрд╛ рдФрд╕рдд тЙИ89% рд╣реИред #### рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ ``` рдЗрдирдкреБрдЯ (1000 рдЯреЛрдХрди) тЖТ RTK (рдХрдорд╛рдВрдб-рд╕рдЬрдЧ рдлрд╝рд┐рд▓реНрдЯрд░) тЖТ 200 рдЯреЛрдХрди тЖТ Caveman (рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╕рд╛рдордЧреНрд░реА рд╣рдЯрд╛рдирд╛) тЖТ 108 рдЯреЛрдХрди тЖТ рдЖрдЙрдЯрдкреБрдЯ (108 рдЯреЛрдХрди, ~89% рдмрдЪрдд) ``` #### рдХрдм рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рд╕реНрдЯреИрдХреНрдб рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрдирдХреЗ рд▓рд┐рдП рдХрд░реЗрдВ: - рдЯреВрд▓-рдкреНрд░рдзрд╛рди рд╡рд░реНрдХрдлрд╝реНрд▓реЛ (рдПрдЬреЗрдВрдЯрд┐рдХ рдХреЛрдбрд┐рдВрдЧ, рд╢реЛрдз) - рд▓рд╛рдЧрдд-рд╕рдВрд╡реЗрджреА рдмреИрдЪ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ - рдЬрдм рдЖрдкрдХреЛ рдЕрдзрд┐рдХрддрдо рдЯреЛрдХрди рдмрдЪрдд рдЪрд╛рд╣рд┐рдП рд╕реНрдЯреИрдХреНрдб рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЛ рд╡реИрд╢реНрд╡рд┐рдХ `stackedPipeline` рд╕рдВрдкреАрдбрд╝рди рд╕реЗрдЯрд┐рдВрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдпрд╛ рдХрд┐рд╕реА рд░реВрдЯрд┐рдВрдЧ рдХреЙрдореНрдмреЛ рдХреЛ рдЕрд╕рд╛рдЗрди рдХрд┐рдП рдЧрдП рдирд╛рдорд┐рдд рд╕рдВрдкреАрдбрд╝рди рдХреЙрдореНрдмреЛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдКрдкрд░ Per-Combo Override рджреЗрдЦреЗрдВ) тАФ рдХрд┐рд╕реА auto-combo `modePack` рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд╣реАрдВ (рд╡рд╣ рдлрд╝реАрд▓реНрдб рдХреЗрд╡рд▓ auto-combo рдореЙрдбрд▓ рдЪрдпрди рдХреЗ рднрд╛рд░реЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ `stacked` рдПрдХ рдорд╛рдиреНрдп рдкреИрдХ рдирд╛рдо рдирд╣реАрдВ рд╣реИ)ред --- ## рдХрдВрдкреНрд░реЗрд╢рди рдХреЙрдореНрдмреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рд╣реЗрддреБ, рдЖрдк рд╡реИрд╢реНрд╡рд┐рдХ рдХрдВрдкреНрд░реЗрд╢рди рдореЛрдб рдХреЛ **рдкреНрд░рддреНрдпреЗрдХ рдХреЙрдореНрдмреЛ рдХреЗ рд▓рд┐рдП** рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: ```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 рдирд┐рдпрдо