# ЁЯЧЬя╕П 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) ┬╖ ЁЯЗоЁЯЗ│ [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) ┬╖ ЁЯЗоЁЯЗ│ [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 рмПрмХ рмормбрнНрнЯрнБрм▓рм╛рм░рнН рмкрнНрм░рморнНрмкрнНрмЯ рмХрморнНрмкрнНрм░рнЗрм╕рмирнН рмкрм╛рмЗрмкрнНрм▓рм╛рмЗрмирнН рмХрм╛рм░рнНрмпрнНрнЯрмХрм╛рм░рнА рмХрм░рнЗ, рмпрм╛рм╣рм╛ рмЕрмирнБрм░рнЛрмзрмЧрнБрмбрм╝рм┐рмХ рмЕрмкрнНрм╖рнНрмЯрнНрм░рм┐рморнН рмкрнНрм░рмжрм╛рмирмХрм╛рм░рнАрмЩрнНрмХ рмкрм╛рмЦрм░рнЗ рмкрм╣рмЮрнНрмЪрм┐рммрм╛ рмкрнВрм░рнНрммрм░рнБ **рм╕рмХрнНрм░рм┐рнЯ рмнрм╛рммрнЗ** рмЪрм╛рм▓рнЗред рмПрм╣рм╛рм░ рмЕрм░рнНрме рмЖрмкрмгрмЩрнНрмХ рмЯрнЛрмХрмирнН рм╕рмЮрнНрмЪрнЯ рм╕рнНрн▒рмЪрнНрмЫ рмнрм╛рммрнЗ рм╣рнБрмП тАФ рмЖрмкрмгрмЩрнНрмХ рмХрм╛рм░рнНрмпрнНрнЯрмкрнНрм░рммрм╛рм╣рм░рнЗ рмХрнМрмгрм╕рм┐ рмкрм░рм┐рммрм░рнНрмдрнНрмдрми рмЖрммрм╢рнНрнЯрмХ рмирм╛рм╣рм┐рмБред ``` рмХрнНрм▓рм╛рмПрмгрнНрмЯ рмЕрмирнБрм░рнЛрмз тЖТ рмХрморнНрмкрнНрм░рнЗрм╕рмирнН рмХрнМрм╢рм│ рмЪрнЯрмирмХрм░рнНрмдрнНрмдрм╛ тЖТ Combo рмУрмнрм░рнНрм░рм╛рмЗрмбрнН? тЖТ Combo рм╕рнЗрмЯрм┐рмВ рммрнНрнЯрммрм╣рм╛рм░ рмХрм░рмирнНрмдрнБ тЖТ рм╕рнНрн▒рнЯрмВрмЪрм╛рм│рм┐рмд-рмЯрнНрм░рм┐рмЧрм░рнН рмернНрм░рнЗрм╕рнНрм╣рнЛрм▓рнНрмб? тЖТ рм╕рнНрн▒рнЯрмВрмЪрм╛рм│рм┐рмд рморнЛрмбрнН рммрнНрнЯрммрм╣рм╛рм░ рмХрм░рмирнНрмдрнБ тЖТ рмбрм┐рмлрм▓рнНрмЯ рморнЛрмбрнН? тЖТ рмЧрнНрм▓рнЛрммрм╛рм▓рнН рм╕рнЗрмЯрм┐рмВ рммрнНрнЯрммрм╣рм╛рм░ рмХрм░рмирнНрмдрнБ тЖТ рммрмирнНрмж? тЖТ рмХрморнНрмкрнНрм░рнЗрм╕рмирнН рмЫрм╛рмбрм╝рм┐рмжрм┐рмЕрмирнНрмдрнБ тЖТ рмЪрнЯрмирм┐рмд рмХрморнНрмкрнНрм░рнЗрм╕рмирнН рморнЛрмбрнН тЖТ рммрмирнНрмж: рмХрнМрмгрм╕рм┐ рмХрморнНрмкрнНрм░рнЗрм╕рмирнН рмирм╛рм╣рм┐рмБ тЖТ рм▓рм╛рмЗрмЯрнН: рм╕рнБрм░рмХрнНрм╖рм┐рмд рм╣рнНрн▒рм╛рмЗрмЯрнНрм╕рнНрмкрнЗрм╕рнН/рмлрм░рнНрморм╛рмЯрм┐рмВ рм╕рмлрнЗрмЗ (~15%) тЖТ рм╖рнНрмЯрм╛рмгрнНрмбрм╛рм░рнНрмб: Caveman-рм╢рнИрм│рнАрм░ рмЕрмирм╛рммрм╢рнНрнЯрмХ рм╢рммрнНрмж рмЕрмкрм╕рм╛рм░рмг (~30%) тЖТ рмЖрмЧрнНрм░рнЗрм╕рм┐рмнрнН: рмЗрмдрм┐рм╣рм╛рм╕ рмПрмЬрм┐рмВ + рм╕рм╛рм░рм╛рмВрм╢рмХрм░рмг (~50%) тЖТ рмЕрм▓рнНрмЯрнНрм░рм╛: рм╣рнНрнЯрнБрм░рм┐рм╖рнНрмЯрм┐рмХрнН рмкрнНрм░рнБрмирм┐рмВ + рмХрнЛрмбрнН-рммрнНрм▓рмХрнН рмерм┐рмирм┐рмВ (~75%) тЖТ RTK: рмХрморм╛рмгрнНрмб-рм╕рмЪрнЗрмдрми рмЯрм░рнНрморм┐рмирм╛рм▓рнН/рмЯрнБрм▓рнН-рмЖрмЙрмЯрнНрмкрнБрмЯрнН рмлрм┐рм▓рнНрмЯрм░рм┐рмВ (60-90% рмЕрмкрнНрм╖рнНрмЯрнНрм░рм┐рморнН рмкрм░рм┐рм╕рм░) тЖТ рм╖рнНрмЯрм╛рмХрнНрмбрнН: рмХрнНрм░рморммрмжрнНрмз рморм▓рнНрмЯрм┐-рмЗрмЮрнНрмЬрм┐рмирнН рмкрм╛рмЗрмкрнНрм▓рм╛рмЗрмирнН, рм╕рм╛рмзрм╛рм░рмгрмдрмГ рмкрнНрм░рмерморнЗ RTK рмУ рмкрм░рнЗ Caveman (78-95% рмпрнЛрмЧрнНрнЯ рмкрм░рм┐рм╕рм░) тЖТ рмХрморнНрмкрнНрм░рнЗрм╕рнН рм╣рнЛрмЗрмерм┐рммрм╛ рмЕрмирнБрм░рнЛрмз тЖТ рмкрнНрм░рмжрм╛рмирмХрм╛рм░рнА ``` --- ## рмХрморнНрмкрнНрм░рнЗрм╕рмирнН рморнЛрмбрнНрмЧрнБрмбрм╝рм┐рмХ ### рммрмирнНрмж рмХрнМрмгрм╕рм┐ рмХрморнНрмкрнНрм░рнЗрм╕рмирнН рмкрнНрм░рнЯрнЛрмЧ рмХрм░рм╛рмпрм╛рмП рмирм╛рм╣рм┐рмБред рм╕рморм╕рнНрмд рм╕рмирнНрмжрнЗрм╢ рмЕрмкрм░рм┐рммрм░рнНрмдрнНрмдрм┐рмд рмнрм╛рммрнЗ рмкрмарм╛рмпрм╛рмПред ### рм▓рм╛рмЗрмЯрнН рморнЛрмбрнН (~15% рм╕рмЮрнНрмЪрнЯ, <1ms рммрм┐рм│рморнНрмм) рм╕рммрнБрмарм╛рм░рнБ рм╕рнБрм░рмХрнНрм╖рм┐рмд рморнЛрмбрнН тАФ рм╢рнВрмирнНрнЯ рмЕрм░рнНрмермЧрмд рмкрм░рм┐рммрм░рнНрмдрнНрмдрми, рмХрнЗрммрм│ рмлрм░рнНрморм╛рмЯрм┐рмВ рм╕рмлрнЗрмЗ: | рмкрнНрм░рмХрнНрм░рм┐рнЯрм╛ | рммрм░рнНрмгрнНрмгрмирм╛ | | ------------------------ | ----------------------------------------------- | | `collapseWhitespace` | рмХрнНрм░рморм╛рмЧрмд рмЦрм╛рм▓рм┐ рмзрм╛рмбрм╝рм┐ рмПрммрмВ рм╢рнЗрм╖рм░ рм╕рнНрмкрнЗрм╕рнНрмЧрнБрмбрм╝рм┐рмХрнБ рморм┐рм╢рм╛рмП | | `dedupSystemPrompt` | рмирмХрм▓ рм╕рм┐рм╖рнНрмЯрморнН рм╕рмирнНрмжрнЗрм╢рмЧрнБрмбрм╝рм┐рмХрнБ рмЕрмкрм╕рм╛рм░рмг рмХрм░рнЗ | | `compressToolResults` | рммрм┐рм╕рнНрмдрнГрмд рмЯрнБрм▓рнН/рмлрмЩрнНрмХрм╕рмирнН рмЖрмЙрмЯрнНрмкрнБрмЯрнНрмХрнБ рмХрморнНрмкрнНрм░рнЗрм╕рнН рмХрм░рнЗ | | `removeRedundantContent` | рмкрнБрмирм░рм╛рммрнГрмдрнНрмд рмирм┐рм░рнНрмжрнНрмжрнЗрм╢рмЧрнБрмбрм╝рм┐рмХрнБ рмЕрмкрм╕рм╛рм░рмг рмХрм░рнЗ | | `replaceImageUrls` | base64 рмЗрморнЗрмЬрнН рмбрм╛рмЯрм╛ URIрмЧрнБрмбрм╝рм┐рмХрнБ рм╕рмВрмХрнНрм╖рм┐рмкрнНрмд рмХрм░рнЗ | **рмПрм╣рм╛ рмкрм╛рмЗрмБ рм╕рм░рнНрммрнЛрмдрнНрмдрмо:** рм╕рм░рнНрммрмжрм╛-рм╕рмХрнНрм░рм┐рнЯ рммрнНрнЯрммрм╣рм╛рм░, рм╕рнБрм░рмХрнНрм╖рм╛-рмЧрнБрм░рнБрмдрнНрн▒рмкрнВрм░рнНрмгрнНрмг рмХрм╛рм░рнНрмпрнНрнЯрмкрнНрм░рммрм╛рм╣ред ### рм╖рнНрмЯрм╛рмгрнНрмбрм╛рм░рнНрмб рморнЛрмбрнН (~30% рм╕рмЮрнНрмЪрнЯ) [Caveman](https://github.com/JuliusBrussee/caveman) рмжрнНрн▒рм╛рм░рм╛ рмЕрмирнБрмкрнНрм░рм╛рмгрм┐рмд тАФ рмЕрм░рнНрмермХрнБ рм╕рмВрм░рмХрнНрм╖рм┐рмд рм░рмЦрм┐ рмЕрмирм╛рммрм╢рнНрнЯрмХ рм╢рммрнНрмж рмПрммрмВ рмЕрмдрнНрнЯрмзрм┐рмХ рммрм┐рм╕рнНрмдрнГрмд рммрм╛рмХрнНрнЯрм╛рмВрм╢рмЧрнБрмбрм╝рм┐рмХрнБ рмЕрмкрм╕рм╛рм░рмг рмХрм░рнЗ: - рмЕрмирм╛рммрм╢рнНрнЯрмХ рм╢рммрнНрмж ("рмжрнЯрм╛рмХрм░рм┐", "рморнЛ рмормдрм░рнЗ", "рморнВрм│рмдрмГ", "рммрм╛рм╕рнНрмдрммрм░рнЗ") рмЕрмкрм╕рм╛рм░рмг рмХрм░рнЗ - рмЕрмдрнНрнЯрмзрм┐рмХ рммрм┐рм╕рнНрмдрнГрмд рммрм╛рмХрнНрнЯрм╛рмВрм╢рмЧрнБрмбрм╝рм┐рмХрнБ рм╕рмВрмХрнНрм╖рм┐рмкрнНрмд рмХрм░рнЗ ("рмХрм░рм┐рммрм╛ рмЙрмжрнНрмжрнЗрм╢рнНрнЯрм░рнЗ" тЖТ "рмХрм░рм┐рммрм╛рмХрнБ", "рмПрм╣рм╛рм░ рмкрм░рм┐рмгрм╛рморм╕рнНрн▒рм░рнВрмк" тЖТ "рмХрм╛рм░рмг") - рммрм┐рмирморнНрм░ рмжрнНрн▒рм┐рмзрм╛рм╕рнВрмЪрмХ рммрм╛рмХрнНрнЯрм╛рмВрм╢рмХрнБ рмЕрмкрм╕рм╛рм░рмг рмХрм░рнЗ ("рмЖрмкрмг рмХтАЩрмг рмжрнЯрм╛рмХрм░рм┐...", "рмпрмжрм┐ рмЖрмкрмг рм╕рморнНрмнрммрмдрмГ рмХрм░рм┐рмкрм╛рм░рм┐рммрнЗ...") - рмХрнЛрмбрм┐рмВ рмкрнНрм░рморнНрмкрнНрмЯ рмкрм╛рмЗрмБ рм╕рмЬрм╛рмпрм╛рмЗрмерм┐рммрм╛ 30+ regex рмирм┐рнЯрмо **рмПрм╣рм╛ рмкрм╛рмЗрмБ рм╕рм░рнНрммрнЛрмдрнНрмдрмо:** рмжрнИрмирм┐рмХ рмХрнЛрмбрм┐рмВ рмХрм╛рм░рнНрмпрнНрнЯрмкрнНрм░рммрм╛рм╣, рмЦрм░рнНрмЪрнНрмЪ-рм╕рмЪрнЗрмдрми рмЯрм┐рморнНред ### рмЖрмЧрнНрм░рнЗрм╕рм┐рмнрнН рморнЛрмбрнН (~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 рмЕрмбрм┐рмЯрнН/рмЗрмирнНрм╖рнНрмЯрм▓рнН, Docker рм▓рмЧрнН, рмЗрмирнНрмлрнНрм░рм╛ рмЖрмЙрмЯрнНрмкрнБрмЯрнН рмПрммрмВ рм╕рм╛рмзрм╛рм░рмг shell рмЖрмЙрмЯрнНрмкрнБрмЯрнН рмкрм░рм┐ рмХрморм╛рмгрнНрмб/рмЖрмЙрмЯрнНрмкрнБрмЯрнН рм╢рнНрм░рнЗрмгрнАрмЧрнБрмбрм╝рм┐рмХрнБ рмЪрм┐рм╣рнНрмирмЯ рмХрм░рнЗ - `open-sse/services/compression/engines/rtk/filters/` рм░рнБ JSON рмлрм┐рм▓рнНрмЯрм░рнН рмкрнНрнЯрм╛рмХрнН рмкрнНрм░рнЯрнЛрмЧ рмХрм░рнЗ - рмкрнНрм░рнЛрмЬрнЗрмХрнНрмЯ рмХрм┐рморнНрммрм╛ рмЧрнНрм▓рнЛрммрм╛рм▓рнН `filters.toml` рмлрм╛рмЗрм▓рнНрмЧрнБрмбрм╝рм┐рмХрм░рнБ RTK TOML рм╕рнНрмХрм┐рморм╛ v1 рмлрм┐рм▓рнНрмЯрм░рнН рмЗрморнНрмкрнЛрм░рнНрмЯ рмХрм░рнЗ, рмЗрмирнНрм▓рм╛рмЗрмирнН-рмЯрнЗрм╖рнНрмЯ рмнрнНрнЯрм╛рм▓рм┐рмбрнЗрм╕рмирнН рмПрммрмВ рмкрнНрм░рнЛрмЬрнЗрмХрнНрмЯ рмлрм╛рмЗрм▓рнН рмкрм╛рмЗрмБ рмЯрнНрм░рм╖рнНрмЯ-рмЧрнЗрмЯрм┐рмВ рм╕рм╣рм┐рмд - рмЗрмирнНрм▓рм╛рмЗрмирнН рмпрм╛рмЮрнНрмЪ рмирморнБрмирм╛ рм╕рм╣рм┐рмд 55рмЯрм┐ рммрм┐рм▓рнНрмЯ-рмЗрмирнН рмлрм┐рм▓рнНрмЯрм░рнН рмкрнНрм░рмжрм╛рми рмХрм░рнЗ - ANSI рмХрмгрнНрмЯрнНрм░рнЛрм▓рнН рм╕рм┐рмХрнНрн▒рнЗрмирнНрм╕, рмкрнНрм░рмЧрмдрм┐ рммрм╛рм░рнН, рмкрнБрмирм░рм╛рммрнГрмдрнНрмд рмзрм╛рмбрм╝рм┐ рмПрммрмВ рмХрм╛рм░рнНрмпрнНрнЯрм╛рмирнБрм╖рнНрмарм╛рми-рмЕрмпрнЛрмЧрнНрнЯ рмЕрмирм╛рммрм╢рнНрнЯрмХ рмдрмернНрнЯрмХрнБ рмЕрмкрм╕рм╛рм░рмг рмХрм░рнЗ - рммрм┐рмлрм│рмдрм╛, рмдрнНрм░рнБрмЯрм┐, рмЪрнЗрмдрм╛рммрмирнА, рмкрм░рм┐рммрм░рнНрмдрнНрмдрм┐рмд рмлрм╛рмЗрм▓рнН, рм╕рм╛рм░рм╛рмВрм╢ рмПрммрмВ рмжрнАрм░рнНрмШ рмЖрмЙрмЯрнНрмкрнБрмЯрнНрм░ рм╢рнЗрм╖ рмнрм╛рмЧрмХрнБ рм╕рмВрм░рмХрнНрм╖рмг рмХрм░рнЗ - рмЯрнНрм░рм╖рнНрмЯ-рмЧрнЗрмЯрнЗрмбрнН рмкрнНрм░рнЛрмЬрнЗрмХрнНрмЯ рмлрм┐рм▓рнНрмЯрм░рнН, рмЧрнНрм▓рнЛрммрм╛рм▓рнН рмлрм┐рм▓рнНрмЯрм░рнН рмПрммрмВ рмЗрмЪрнНрмЫрм╛рмзрнАрми рм░рм┐рмбрм╛рмХрнНрмЯ рм╣рнЛрмЗрмерм┐рммрм╛ рм░' рмЖрмЙрмЯрнНрмкрнБрмЯрнН рмкрнБрмирм░рнБрмжрнНрмзрм╛рм░рмХрнБ рм╕рморм░рнНрмерми рмХрм░рнЗ **рмПрм╣рм╛ рмкрм╛рмЗрмБ рм╕рм░рнНрммрнЛрмдрнНрмдрмо:** shell, рммрм┐рм▓рнНрмбрнН, рмЯрнЗрм╖рнНрмЯ, 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% ``` рмпрнЗрмдрнЗрммрнЗрм│рнЗ 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` рморнНрнЯрм╛рмЪрнН рмдрм╛рм▓рм┐рмХрм╛, рмПрмХ рмЫрнЛрмЯ рмлрм╛рмЗрм▓рнН рм░рм┐рмбрнН, рм╕рм╛рмзрм╛рм░рмг рмХрмернЛрмкрмХрмермирморнВрм│рмХ рмкрм╛рмарнНрнЯ) рм╕рморм╛рми рмкрм╛рмЗрмкрнНрм▓рм╛рмЗрмирнН рмЪрм▓рм╛рмЗрм▓рнЗ рмпрмерм╛рм░рнНрме рмнрм╛рммрнЗ **рмкрнНрм░рм╛рнЯ-рм╢рнВрмирнНрнЯ рм╕рмЮрнНрмЪрнЯ** рм╣рнБрмП, рмХрм╛рм░рмг рмЕрмкрм╕рм╛рм░рмг рмХрм░рм┐рммрм╛ рмкрм╛рмЗрмБ рмХрнМрмгрм╕рм┐ рмкрнБрмирм░рм╛рммрнГрмдрнНрмдрм┐ рмирм╛рм╣рм┐рмБ рмПрммрмВ `validateCompression()` (`validation.ts`) рмХрнЛрмбрнН рммрнНрм▓рмХрнН, URL, рм╢рнАрм░рнНрм╖рмХ, рм╕рмВрм╕рнНрмХрм░рмг рмХрм┐рморнНрммрм╛ ALL-CAPS рм╕рнНрмерм┐рм░рм╛рмЩрнНрмХ рмкрм░рм┐рмЪрнЯрмХрмЧрнБрмбрм╝рм┐рмХрнБ рмЫрм╛рмбрм╝рм┐рмжрнЗрммрм╛ рмХрм┐рморнНрммрм╛ рмкрм░рм┐рммрм░рнНрмдрнНрмдрми рмХрм░рм┐рмжрнЗрммрм╛ рмнрм│рм┐ рмХрнМрмгрм╕рм┐ рмкрнБрмирм░рнНрм▓рм┐рмЦрми рмкрмарм╛рмЗрммрм╛рмХрнБ рмормирм╛ рмХрм░рнЗред рмПрм╣рм╛ рмЖрм╢рм╛рмХрм░рм╛рмпрм╛рмЙрмерм┐рммрм╛, рм╕рнБрм░рмХрнНрм╖рм┐рмд рмЖрмЪрм░рмг, рмХрнМрмгрм╕рм┐ рммрмЧрнН рмирнБрм╣рнЗрмБ: рморнБрмЦрнНрнЯрмдрмГ рм╕рнНрн▒рмЪрнНрмЫ рмлрм╛рмЗрм▓рнНрмЧрнБрмбрм╝рм┐рмХрнБ рмкрмврм╝рнБрмерм┐рммрм╛/grep рмХрм░рнБрмерм┐рммрм╛ рмПрмХ рмХрнЛрмбрм┐рмВ рм╕рнЗрм╕рмирнНрм░рнЗ рмХрморнНрмкрнНрм░рнЗрм╕рмирнН рм╕рморнНрмкрнВрм░рнНрмгрнНрмг рмнрм╛рммрнЗ рм╕рмХрнНрм╖рмо рмерм┐рм▓рнЗ рмормзрнНрнЯ рм╕рм╛рморм╛рмирнНрнЯ рморнЛрмЯ рм╕рмЮрнНрмЪрнЯ рмжрнЗрмЦрм╛рмпрм┐рмм, рмпрнЗрмдрнЗрммрнЗрм│рнЗ рммрм┐рмлрм│ рм╣рнЗрмЙрмерм┐рммрм╛ рмПрмХ рм▓рнБрмкрнН рмХрм┐рморнНрммрм╛ рмЕрмдрнНрнЯрмзрм┐рмХ рмЖрмЙрмЯрмкрнБрмЯрнН рмжрнЗрмЙрмерм┐рммрм╛ рмПрмХ рм▓рм┐рмгрнНрмЯрм░рнНрм░ рм╕рморнНрморнБрмЦрнАрми рм╣рнЗрмЙрмерм┐рммрм╛ рм╕рнЗрм╕рмирнНрм░рнЗ рм╕рнЗрм╣рм┐ рмЯрнНрм░рм╛рмлрм┐рмХрнНрм░рнЗ рм╕рморнНрмкрнВрм░рнНрмгрнНрмг 78-95% рмкрм░рм┐рм╕рм░ рмжрнЗрмЦрм╛рмпрм┐рммред рмХрморнНрмкрнНрм░рнЗрм╕рмирнН рмнрнБрм▓ рмнрм╛рммрнЗ рммрм┐рмирнНрнЯрм╛рм╕ рм╣рнЛрмЗрмЫрм┐ рммрнЛрм▓рм┐ рмкрнНрм░рморм╛рмг рмнрм╛рммрнЗ рмЧрнЛрмЯрм┐рмП рм╕рнЗрм╕рмирнНрм░ рмХрморнН рм╕рмормЧрнНрм░ рм╕рмЮрнНрмЪрнЯ рмкрнНрм░рмдрм┐рм╢рмдрмХрнБ рммрнНрнЯрммрм╣рм╛рм░ рмХрм░рмирнНрмдрнБ рмирм╛рм╣рм┐рмБ тАФ рмкрнНрм░рмерморнЗ рморнВрм│ рмЯрнБрм▓рнН рмЖрмЙрмЯрмкрнБрмЯрнН рмкрнНрм░рмХрнГрмдрм░рнЗ рмЕрмирм╛рммрм╢рнНрнЯрмХ рмнрм╛рммрнЗ рмкрнБрмирм░рм╛рммрнГрмдрнНрмд рмерм┐рм▓рм╛ рмХрм┐ рмирм╛рм╣рм┐рмБ рмпрм╛рмЮрнНрмЪ рмХрм░рмирнНрмдрнБред --- ## рмЯрнЛрмХрмирнН рм╕рмЮрнНрмЪрнЯ рмнрм┐рмЬрнБрмЖрм▓рм╛рмЗрмЬрнЗрм╕рмирнН ``` рмХрморнНрмкрнНрм░рнЗрм╕рмирнН рммрм┐рмирм╛: LLMрмХрнБ 47K рмЯрнЛрмХрмирнН рмкрмарм╛рмпрм╛рмЗрмЫрм┐ 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%) ``` --- ## рммрм┐рмирнНрнЯрм╛рм╕ ### рмбрнНрнЯрм╛рм╕рнНрммрнЛрм░рнНрмб `рмбрнНрнЯрм╛рм╕рнНрммрнЛрм░рнНрмб тЖТ рмкрнНрм░рм╕рмЩрнНрмЧ рмПрммрмВ рмХрнНрнЯрм╛рм╢рнН`рмХрнБ рмпрм╛рмЖрмирнНрмдрнБ: - **Caveman** тАФ рморнЛрмбрнН рмЪрнЯрми, рмнрм╛рм╖рм╛ рмкрнНрнЯрм╛рмХрнН, рмкрнВрм░рнНрммрм╛рммрм▓рнЛрмХрми рмПрммрмВ рмЧрнНрм▓рнЛрммрм╛рм▓рнН рмбрм┐рмлрм▓рнНрмЯрмЧрнБрмбрм╝рм┐рмХ - **RTK** тАФ рмХрморм╛рмгрнНрмб-рмлрм┐рм▓рнНрмЯрм░рнН рмкрнВрм░рнНрммрм╛рммрм▓рнЛрмХрми, RTK рм╕рнБрм░рмХрнНрм╖рм╛ рм╕рнЗрмЯрм┐рмВрм╕рнН рмПрммрмВ рмлрм┐рм▓рнНрмЯрм░рнН рмХрнНрнЯрм╛рмЯрм╛рм▓рмЧрнН - **рмХрморнНрмкрнНрм░рнЗрм╕рмирнН рмХрморнНрммрнЛрмЧрнБрмбрм╝рм┐рмХ** тАФ рм░рм╛рмЙрмЯрм┐рмВ рмХрморнНрммрнЛрмЧрнБрмбрм╝рм┐рмХрнБ рмирнНрнЯрм╕рнНрмд рмХрм░рм╛рмпрм╛рмЗрмерм┐рммрм╛ рмирм╛рморм┐рмд рмЗрмЮрнНрмЬрм┐рмирнН рмкрм╛рмЗрмкрнНрм▓рм╛рмЗрмирнНрмЧрнБрмбрм╝рм┐рмХ - **рм╕рнНрн▒рнЯрмВрмЪрм╛рм│рм┐рмд-рмЯрнНрм░рм┐рмЧрм░рнН рмернНрм░рнЗрм╢рм╣рнЛрм▓рнНрмб** тАФ рмЯрнЛрмХрмирнН рм╕рмВрмЦрнНрнЯрм╛ рмернНрм░рнЗрм╢рм╣рнЛрм▓рнНрмб рмЕрмдрм┐рмХрнНрм░рмо рмХрм▓рнЗ рм╕рнНрн▒рнЯрмВрмЪрм╛рм│рм┐рмд рмнрм╛рммрнЗ рмХрморнНрмкрнНрм░рнЗрм╕рмирнН рм╕рмХрнНрм░рм┐рнЯ рмХрм░рнЗ ### рмкрнНрм░рмдрм┐-рмХрморнНрммрнЛ рмУрмнрм░рнНрм░рм╛рмЗрмбрнН `рмбрнНрнЯрм╛рм╕рнНрммрнЛрм░рнНрмб тЖТ рмкрнНрм░рм╕рмЩрнНрмЧ рмПрммрмВ рмХрнНрнЯрм╛рм╢рнН тЖТ рмХрморнНрмкрнНрм░рнЗрм╕рмирнН рмХрморнНрммрнЛрмЧрнБрмбрм╝рм┐рмХ`рм░рнЗ, рмПрмХ рм░рм╛рмЙрмЯрм┐рмВ рмХрморнНрммрнЛрмХрнБ рмПрмХ рмХрморнНрмкрнНрм░рнЗрм╕рмирнН рмХрморнНрммрнЛ рмирнНрнЯрм╕рнНрмд рмХрм░рмирнНрмдрнБ: ```txt рмХрморнНрммрнЛ: "free-tier-fallback" рмХрморнНрмкрнНрм░рнЗрм╕рмирнН рмХрморнНрммрнЛ: "coding-agent-stack" рмкрм╛рмЗрмкрнНрм▓рм╛рмЗрмирнН: RTK -> Caveman рм▓рмХрнНрм╖рнНрнЯрмЧрнБрмбрм╝рм┐рмХ: 1. if/kimi-k2.7-code 2. if/qwen3.8-max-preview ``` рмПрм╣рм╛ рмЖрмкрмгрмЩрнНрмХрнБ рмкрнЗрмбрнН рм╕рммрнНрм╕рнНрмХрнНрм░рм┐рмкрнНрм╕рмирнНрмЧрнБрмбрм╝рм┐рмХрм░рнЗ рм▓рм╛рмЗрмЯрнН рморнЛрмбрнН рм░рмЦрм┐рммрм╛ рм╕рм╣рм┐рмд рморм╛рмЧрмгрм╛/рмХрнЛрмбрм┐рмВ рмкрнНрм░рмжрм╛рмирмХрм╛рм░рнАрморм╛рмирмЩрнНрмХрм░рнЗ рм╕рнНрмдрм░рнАрмХрнГрмд рмХрморнНрмкрнНрм░рнЗрм╕рмирнН рммрнНрнЯрммрм╣рм╛рм░ рмХрм░рм┐рммрм╛рмХрнБ рмжрм┐рмПред рмПрм╣рм┐ "рмкрнНрм░рмдрм┐-рмХрморнНрммрнЛ рмУрмнрм░рнНрм░рм╛рмЗрмбрнН" рмирнНрнЯрм╕рнНрмдрмХрм░рмгрмЯрм┐ **рм░рм╛рмЙрмЯрм┐рмВ-рмХрморнНрммрнЛ рмХрморнНрмкрнНрм░рнЗрм╕рмирнН рморнЛрмбрнН** рмУрмнрм░рнНрм░рм╛рмЗрмбрнНрмарм╛рм░рнБ рмнрм┐рмирнНрми рмПрмХ рмирм┐рнЯрмирнНрмдрнНрм░рмг (рмбрм┐рмлрм▓рнНрмЯ/рммрмирнНрмж/рм▓рм╛рмЗрмЯрнН/рм╖рнНрмЯрм╛рмгрнНрмбрм╛рм░рнНрмб/рмЖрмЧрнНрм░рнЗрм╕рм┐рмнрнН/рмЕрм▓рнНрмЯрнНрм░рм╛/Codex Responses тАФ рмПрм╣рм┐ рмлрм┐рм▓рнНрмбрм░ рм╕рнНрмХрм┐рморм╛ `rtk`, `stacked` рмПрммрмВ `omniglyph`рмХрнБ рмормзрнНрнЯ рмЧрнНрм░рм╣рмг рмХрм░рнЗ) тАФ рм╕рнЗрм╣рм┐ рмУрмнрм░рнНрм░рм╛рмЗрмбрнН рмХрнМрмгрм╕рм┐ рмирм╛рморм┐рмд рмХрморнНрмкрнНрм░рнЗрм╕рмирнН-рмХрморнНрммрнЛ рмкрм╛рмЗрмкрнНрм▓рм╛рмЗрмирнН рммрм╛рмЫрнЗ рмирм╛рм╣рм┐рмБ; рмПрм╣рм╛ рмХрнЗрммрм│ `resolveCompressionPlan` рмжрнНрн▒рм╛рм░рм╛ рмкрм░рм╛рморм░рнНрм╢ рмХрм░рм╛рмпрм╛рмЙрмерм┐рммрм╛ `compressionMode` рмлрм┐рм▓рнНрмбрмХрнБ рм╕рнЗрмЯрнН рмХрм░рнЗред рмПрм╣рм╛рмХрнБ рмХрморнНрммрнЛ рмХрм╛рм░рнНрмбрм░рнЗ (`рмбрнНрнЯрм╛рм╕рнНрммрнЛрм░рнНрмб тЖТ рмХрморнНрммрнЛрмЧрнБрмбрм╝рм┐рмХ`) рмХрм┐рморнНрммрм╛, #6760рмарм╛рм░рнБ, `рмбрнНрнЯрм╛рм╕рнНрммрнЛрм░рнНрмб тЖТ рмкрнНрм░рм╕рмЩрнНрмЧ рмПрммрмВ рмХрнНрнЯрм╛рм╢рнН тЖТ рмХрморнНрмкрнНрм░рнЗрм╕рмирнН рмХрморнНрммрнЛрмЧрнБрмбрм╝рм┐рмХ`рм░ "рм░рм╛рмЙрмЯрм┐рмВрмХрнБ рмирнНрнЯрм╕рнНрмд рмХрм░рмирнНрмдрнБ" рмдрм╛рм▓рм┐рмХрм╛рм░рнЗ рмкрнНрм░рмдрнНрнЯрнЗрмХ рм░рм╛рмЙрмЯрм┐рмВ рмХрморнНрммрнЛ рмкрм╛рмЗрмБ, рмЙрмкрм░рнЗ рмжрм▓рм┐рм▓рмнрнБрмХрнНрмд рмкрм╛рмЗрмкрнНрм▓рм╛рмЗрмирнН-рмирнНрнЯрм╕рнНрмдрмХрм░рмг рмЪрнЗрмХрнНрммрмХрнНрм╕рм░ рмарм┐рмХрнН рмкрм╛рмЦрм░рнЗ рм╕рнЗрмЯрнН рмХрм░рм╛рмпрм╛рмЗрмкрм╛рм░рм┐рммред рмЙрмнрнЯ рмЗрмгрнНрмЯрм░рмлрнЗрм╕рнН рм╕рморм╛рми `PUT /api/combos/{id}` рмПрмгрнНрмбрмкрмПрмгрнНрмЯ рморм╛рмзрнНрнЯрморм░рнЗ рм╕рнНрмерм╛рнЯрнА рм╣рнЛрмЗ рм░рм╣рнЗред ### рмкрнНрм░рмдрм┐-рмЕрмирнБрм░рнЛрмз рмУрмнрм░рнНрм░рм╛рмЗрмбрнН рмЧрнЛрмЯрм┐рмП рмЕрмирнБрм░рнЛрмз рмкрм╛рмЗрмБ рмХрморнНрмкрнНрм░рнЗрм╕рмирнН рмкрнНрм▓рм╛рмирнНрмХрнБ рмУрмнрм░рнНрм░рм╛рмЗрмбрнН рмХрм░рм┐рммрм╛рмХрнБ `x-omniroute-compression` рмЕрмирнБрм░рнЛрмз рм╣рнЗрмбрм░рнН рмкрмарм╛рмирнНрмдрнБред рмПрм╣рм╛рм░ рмкрнНрм░рм╛рмзрм╛рмирнНрнЯ рм╕рм░рнНрммрм╛рмзрм┐рмХ тАФ рмПрм╣рм╛ рм░рм╛рмЙрмЯрм┐рмВ-рмХрморнНрммрнЛ рмУрмнрм░рнНрм░рм╛рмЗрмбрнН, рм╕рмХрнНрм░рм┐рнЯ рмкрнНрм░рнЛрмлрм╛рмЗрм▓рнН, рм╕рнНрн▒рнЯрмВрмЪрм╛рм│рм┐рмд-рмЯрнНрм░рм┐рмЧрм░рнН рмПрммрмВ рмкрнНрнЯрм╛рмирнЗрм▓рнН рмбрм┐рмлрм▓рнНрмЯрмХрнБ рмЕрмдрм┐рмХрнНрм░рмо рмХрм░рнЗред рмЕрмЬрмгрм╛ рморнВрм▓рнНрнЯрмЧрнБрмбрм╝рм┐рмХрнБ рмЕрмгрмжрнЗрмЦрм╛ рмХрм░рм╛рмпрм╛рмП (рмЕрмирнБрм░рнЛрмз рмХрнЗрммрнЗрммрм┐ рмкрнНрм░рмдрнНрнЯрм╛рмЦрнНрнЯрм╛рми рм╣рнБрмП рмирм╛рм╣рм┐рмБ) рмПрммрмВ рмЧрнНрм▓рнЛрммрм╛рм▓рнН рморм╛рм╖рнНрмЯрм░рнН рм╕рнНрн▒рм┐рмЪрнН рмдрмерм╛рмкрм┐ рм╕рммрнБрмХрм┐рмЫрм┐рмХрнБ рмирм┐рнЯрмирнНрмдрнНрм░рмг рмХрм░рнЗ: рмпрнЗрмдрнЗрммрнЗрм│рнЗ рмХрморнНрмкрнНрм░рнЗрм╕рмирнН рмЧрнНрм▓рнЛрммрм╛рм▓рнН рмнрм╛рммрнЗ рммрмирнНрмж рмерм╛рмП, рм╣рнЗрмбрм░рнН рмПрм╣рм╛рмХрнБ рм╕рмХрнНрм░рм┐рнЯ рмХрм░рм┐рмкрм╛рм░рм┐рмм рмирм╛рм╣рм┐рмБред рморнВрм▓рнНрнЯрмЧрнБрмбрм╝рм┐рмХ: | рморнВрм▓рнНрнЯ | рмкрнНрм░рмнрм╛рмм | | ------------- | ------------------------------------------------------------------------------------------------ | | `off` | рмПрм╣рм┐ рмЕрмирнБрм░рнЛрмз рмкрм╛рмЗрмБ рмХрнМрмгрм╕рм┐ рмХрморнНрмкрнНрм░рнЗрм╕рмирнН рмирм╛рм╣рм┐рмБред | | `default` | рмкрнНрнЯрм╛рмирнЗрм▓рнНрм░рнБ рмкрнНрм░рм╛рмкрнНрмд рмбрм┐рмлрм▓рнНрмЯ рмкрнНрм░рнЛрмлрм╛рмЗрм▓рнН (рм╕рмХрнНрм░рм┐рнЯ рмкрнНрм░рнЛрмлрм╛рмЗрм▓рнНрмХрнБ рмЕрмгрмжрнЗрмЦрм╛ рмХрм░рнЗ)ред рм▓рм╕рм┐ рмЗрмЮрнНрмЬрм┐рмирнНрмЧрнБрмбрм╝рм┐рмХ рммрмирнНрмж рм░рм╣рнЗред | | `safe` | рм╣рнЗрмбрм░рнН рммрм╛рмжрнН рмжрнЗрммрм╛ рм╕рм╣рм┐рмд рм╕рморм╛рми: рмХрнЗрммрм│ рмбрм┐рмбрнБрмкрнН рмПрммрмВ рм╣рнНрн▒рм╛рмЗрмЯрнНрм╕рнНрмкрнЗрм╕рнН рмлрнЛрм▓рнНрмбрм┐рмВред | | `allow-lossy` | рм╕рм╛рм░рм╛рмВрм╢, рмкрнНрм░рм╛рм╕рмЩрнНрмЧрм┐рмХрмдрм╛ рмлрм┐рм▓рнНрмЯрм░рнН рмПрммрмВ рм╢рнИрм│рнА рмкрнБрмирм░рнНрм▓рм┐рмЦрми рм╕рм╣рм┐рмд рмПрм╣рм┐ рмЕрмирнБрм░рнЛрмзрм░ рмЕрмкрм░рнЗрмЯрм░рнН рмкрнНрм▓рм╛рмирнНрмХрнБ рм░рмЦрнЗред | | `engine:` | рм╕рмХрнНрм░рм┐рнЯ рмерм┐рм▓рнЗ рмЧрнЛрмЯрм┐рмП рмЗрмЮрнНрмЬрм┐рмирнН, рмпрмерм╛ `engine:rtk`ред рм╕рнЗрм╣рм┐ рмЗрмЮрнНрмЬрм┐рмирнН рмкрм╛рмЗрмБ рмПрм╣рм╛ рмкрнНрм░рмдрм┐-рмЕрмирнБрм░рнЛрмз рмЕрмкрнНрмЯ-рмЗрмирнНред | | `` | рмПрмХ рмирм╛рморм┐рмд рмХрморнНрммрнЛ, рмкрнНрм░рмерморнЗ рмирм╛рмо рмЕрмирнБрмпрм╛рнЯрнА (рмХрнЗрм╕рнН-рмЕрм╕рморнНрммрнЗрмжрмирм╢рнАрм│), рмдрм╛'рмкрм░рнЗ id рмЕрмирнБрмпрм╛рнЯрнА рморнЗрм│ рмХрм░рм╛рмпрм╛рмПред | `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"}' ``` --- ## рмХтАЩрмг рм╕рнБрм░рмХрнНрм╖рм┐рмд рм░рм╣рнЗ рмХрморнНрмкрнНрм░рнЗрм╕рмирнН рмЗрмЮрнНрмЬрм┐рмирнН **рм╕рм░рнНрммрмжрм╛ рмПрмЧрнБрмбрм╝рм┐рмХрнБ рм╕рмВрм░рмХрнНрм╖рм┐рмд рм░рмЦрнЗ:** - тЬЕ рмХрнЛрмбрнН рммрнНрм▓рмХрнНрмЧрнБрмбрм╝рм┐рмХ (рмлрнЗрмирнНрм╕рнНрмб рмПрммрмВ рмЗрмирнНрм▓рм╛рмЗрмирнН) - тЬЕ URL рмПрммрмВ рмлрм╛рмЗрм▓рнН рмкрм╛рмернНрмЧрнБрмбрм╝рм┐рмХ - тЬЕ 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 (`PUT /api/settings/compression`рм░рнЗ `contextBudget`) + рмбрнНрнЯрм╛рм╕рнНрммрнЛрм░рнНрмб рморнЛрмбрнН/рмкрм▓рм┐рм╕рм┐ рмирм┐рнЯрмирнНрмдрнНрм░рмг | тЬЕ рм░рм┐рм▓рм┐рмЬрнН рм╣рнЛрмЗрмЫрм┐ | --- ## рм╕рнНрн▒рнАрмХрнГрмдрм┐ рм╖рнНрмЯрм╛рмгрнНрмбрм╛рм░рнНрмб рморнЛрмбрнН рмХрморнНрмкрнНрм░рнЗрм╕рмирнН рмирм┐рнЯрмормЧрнБрмбрм╝рм┐рмХ **[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 рм╣рнЗрмЙрмЫрм┐ aggressive рмЗрмЮрнНрмЬрм┐рмирнНрм░ рмкрмжрмХрнНрм╖рнЗрмк 1 рмПрммрмВ 2 (Aggressive рморнЛрмбрнН рмУ рмПрмХ stacked pipelineрм░ `aggressive` рмкрмжрмХрнНрм╖рнЗрмк), Stacked Pipeline рм╣рнЗрмЙрмЫрм┐ Stacked рморнЛрмбрнН рмЪрм╛рм▓рм┐рммрм╛рм░ рмкрнНрм░рмХрнНрм░рм┐рнЯрм╛, Cache-Aware Compression рмХрнНрнЯрм╛рм╕рм┐рмВ рмкрнНрм░рмжрм╛рмирмХрм╛рм░рнАрмЩрнНрмХ рмкрм╛рмЗрмБ рм╕рмВрмХрнЛрмЪрми рм╕рмХрнНрм░рм┐рнЯ рмерм┐рммрм╛рммрнЗрм│рнЗ `aggressive` рмПрммрмВ `ultra`рмХрнБ `standard`рмХрнБ рмЕрммрмирморм┐рмд рмХрм░рнЗ, рмПрммрмВ Caveman Output Mode рмУ Output Styles рм╣рнЗрмЙрмЫрм┐ рмЗрмЪрнНрмЫрм╛рмзрнАрми system-prompt рмирм┐рм░рнНрмжрнНрмжрнЗрм╢рм╛рммрм│рнА, рмпрм╛рм╣рм╛ рмбрм┐рмлрм▓рнНрмЯ рмнрм╛рммрнЗ рммрмирнНрмж рм░рм╣рнЗ рмПрммрмВ рмЕрмирнБрм░рнЛрмзрмХрнБ рм╕рмВрмХрнЛрмЪрми рмХрм░рм┐рммрм╛ рмкрм░рм┐рммрм░рнНрмдрнНрмдрнЗ рмормбрнЗрм▓рнНрм░ рмЖрмЙрмЯрнНрмкрнБрмЯрнНрмХрнБ рмЖрмХрм╛рм░ рмжрм┐рмПред ### рмХрнНрнЯрм╛рм╕рнН-рм╕рмЪрнЗрмдрми рм╕рмВрмХрнЛрмЪрми рмХрм┐рмЫрм┐ рмкрнНрм░рмжрм╛рмирмХрм╛рм░рнА (рмпрнЗрмкрм░рм┐рмХрм┐ prompt caching рм╕рм╣рм┐рмд Anthropic) **prompt caching**рмХрнБ рм╕рморм░рнНрмерми рмХрм░рмирнНрмдрм┐, рмпрм╛рм╣рм╛ рм╕рнЗрморм╛рмирмЩрнНрмХрнБ рмЦрм░рнНрмЪрнНрмЪ рмПрммрмВ рммрм┐рм│рморнНрмм рмХрморм╛рмЗрммрм╛ рмкрм╛рмЗрмБ promptрм░ рмХрм┐рмЫрм┐ рмЕрмВрм╢ рмХрнНрнЯрм╛рм╕рнН рмХрм░рм┐рммрм╛рмХрнБ рмжрм┐рмПред рмпрнЗрмдрнЗрммрнЗрм│рнЗ рмХрнНрнЯрм╛рм╕рм┐рмВ рм╕рмХрнНрм░рм┐рнЯ рмерм╛рмП, aggressive рм╕рмВрмХрнЛрмЪрми рммрм╛рм╕рнНрмдрммрм░рнЗ рмХрм╛рм░рнНрмпрнНрнЯрмжрмХрнНрм╖рмдрм╛рмХрнБ **рмХрнНрм╖рмдрм┐рмЧрнНрм░рм╕рнНрмд** рмХрм░рм┐рмкрм╛рм░рнЗ, рмХрм╛рм░рмг рмПрм╣рм╛ рмХрнНрнЯрм╛рм╕рнН рм╣рнЛрмЗрмерм┐рммрм╛ tokenрмЧрнБрмбрм╝рм┐рмХрнБ рмкрм░рм┐рммрм░рнНрмдрнНрмдрми рмХрм░рм┐ рмХрнНрнЯрм╛рм╕рнНрмХрнБ рмЕрммрнИрмз рмХрм░рм┐рмжрм┐рмПред `cachingAware.ts` рмормбрнНрнЯрнБрм▓рнН **рмХрнНрнЯрм╛рм╕рм┐рмВ рмкрнНрм░рм╕рмЩрнНрмЧ рмЪрм┐рм╣рнНрмирмЯ рмХрм░рм┐** рмПрммрмВ рм╕рнЗрм╣рм┐ рмЕрмирнБрм╕рм╛рм░рнЗ **рм╕рмВрмХрнЛрмЪрми рмХрнМрм╢рм│ рм╕рмормирнНрн▒рнЯ рмХрм░рм┐** рмПрм╣рм╛рм░ рм╕рморм╛рмзрм╛рми рмХрм░рнЗред #### рмПрм╣рм╛ рмХрм┐рмкрм░рм┐ рмХрм╛рмо рмХрм░рнЗ 1. **рмХрнНрнЯрм╛рм╕рм┐рмВ рмкрнНрм░рм╕рмЩрнНрмЧ рмЪрм┐рм╣рнНрмирмЯ рмХрм░рнЗ** тАФ `cache_control` рмЪрм┐рм╣рнНрмирмЧрнБрмбрм╝рм┐рмХ рмкрм╛рмЗрмБ request body рм╕рнНрмХрм╛рмирнН рмХрм░рнЗ 2. **рмХрнНрнЯрм╛рм╕рм┐рмВ рмкрнНрм░рмжрм╛рмирмХрм╛рм░рнАрмЩрнНрмХрнБ рмЪрм┐рм╣рнНрмирмЯ рмХрм░рнЗ** тАФ рм▓рмХрнНрм╖рнНрнЯ рмкрнНрм░рмжрм╛рмирмХрм╛рм░рнА рмХрнНрнЯрм╛рм╕рм┐рмВ рм╕рморм░рнНрмерми рмХрм░рмирнНрмдрм┐ рмХрм┐ рмирм╛рм╣рм┐рмБ рмпрм╛рмЮрнНрмЪ рмХрм░рнЗ 3. **рмХрнМрм╢рм│ рм╕рмормирнНрн▒рнЯ рмХрм░рнЗ** тАФ рмХрнНрнЯрм╛рм╕рм┐рмВ рмкрнНрм░рмжрм╛рмирмХрм╛рм░рнАрмЩрнНрмХ рмкрм╛рмЗрмБ `aggressive`/`ultra`рмХрнБ `standard`рмХрнБ рмЕрммрмирморм┐рмд рмХрм░рнЗ 4. **system prompt рмПрмбрм╝рм╛рмЗрмпрм╛рмП** тАФ System promptрмЧрнБрмбрм╝рм┐рмХ рм╕рм╛рмзрм╛рм░рмгрмдрмГ рмХрнНрнЯрм╛рм╕рнН рм╣рнЛрмЗрмерм╛рмП, рмдрнЗрмгрнБ рм╕рнЗрмЧрнБрмбрм╝рм┐рмХрнБ рм╕рмВрмХрнЛрмЪрми рмХрм░рмирнНрмдрнБ рмирм╛рм╣рм┐рмБ рмХрнМрм╢рм│ helperрмЯрм┐ рмПрмХ `deterministicOnly` flag рмормзрнНрнЯ рмлрнЗрм░рм╛рмП, рмХрм┐рмирнНрмдрнБ plan builder рмХрнЗрммрм│ рмХрнМрм╢рм│рмХрнБ рммрнНрнЯрммрм╣рм╛рм░ рмХрм░рнЗ тАФ рммрм░рнНрмдрнНрмдрморм╛рми downstreamрм░рнЗ рмХрнМрмгрм╕рм┐ рмЕрмВрм╢ рмПрм╣рм┐ flagрмХрнБ рмкрмврм╝рнЗ рмирм╛рм╣рм┐рмБред #### рмХрнЛрмбрнН рмЙрмжрм╛рм╣рм░рмг ```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 } ``` #### рмХрнЗрмдрнЗрммрнЗрм│рнЗ рммрнНрнЯрммрм╣рм╛рм░ рмХрм░рм┐рммрнЗ рмХрнНрнЯрм╛рм╕рнН-рм╕рмЪрнЗрмдрми рм╕рмВрмХрнЛрмЪрми **рм╕рм░рнНрммрмжрм╛ рм╕рмХрнНрм░рм┐рнЯ** тАФ рмХрнМрмгрм╕рм┐ configuration рмЖрммрм╢рнНрнЯрмХ рмирм╛рм╣рм┐рмБред рм╕рмВрмХрнЛрмЪрми рм╕рмХрнНрм░рм┐рнЯ рмерм┐рммрм╛рммрнЗрм│рнЗ рмПрммрмВ рм▓рмХрнНрм╖рнНрнЯ рмкрнНрм░рмжрм╛рмирмХрм╛рм░рнА prompt cachingрмХрнБ рм╕рморм░рнНрмерми рмХрм▓рнЗ (Anthropic, OpenAI, рмЗрмдрнНрнЯрм╛рмжрм┐) рмПрм╣рм╛ рмХрм╛рм░рнНрмпрнНрнЯрмХрм╛рм░рнА рм╣рнБрмП; рм╕рнНрмкрм╖рнНрмЯ `cache_control` рмЪрм┐рм╣рнНрми рмЖрммрм╢рнНрнЯрмХ рмирнБрм╣рнЗрмБ тАФ рмХрнЗрммрм│ рмПрмХ caching provider рмормзрнНрнЯ рмЕрммрмирмормирмХрнБ рм╕рмХрнНрм░рм┐рнЯ рмХрм░рнЗ, рмПрммрмВ рмХрнЗрммрм│ рмЪрм┐рм╣рнНрмирмЧрнБрмбрм╝рм┐рмХ рмХрнЗрммрнЗ рмормзрнНрнЯ рмПрм╣рм╛ рмХрм░рнЗ рмирм╛рм╣рм┐рмБ (рмЪрм┐рм╣рнНрми рмЪрм┐рм╣рнНрмирмЯ рмкрнНрм░рмХрнНрм░рм┐рнЯрм╛ cache telemetryрмХрнБ рмдрмернНрнЯ рмпрнЛрмЧрм╛рмП, рмХрнМрм╢рм│рмЧрмд рмирм┐рм╖рнНрмкрмдрнНрмдрм┐рмХрнБ рмирнБрм╣рнЗрмБ)ред ### рмХрнНрм░рморм╛рмЧрмд рмкрнБрм░рнБрмгрм╛рмХрм░рмг рмжрнАрм░рнНрмШ рмХрмернЛрмкрмХрмермирм░рнЗ рмЕрмирнЗрмХ message turn рм╕рмЮрнНрмЪрм┐рмд рм╣рнБрмП, рмХрм┐рмирнНрмдрнБ рмкрнБрм░рнБрмгрм╛ turnрмЧрнБрмбрм╝рм┐рмХ рмХрнНрм░рморнЗ рмХрморнН рмкрнНрм░рм╛рм╕рмЩрнНрмЧрм┐рмХ рм╣рнЛрмЗрмпрм╛рмПред `progressiveAging.ts` рмормбрнНрнЯрнБрм▓рнН **turn рмжрнВрм░рмдрм╛ рмЕрмирнБрм╕рм╛рм░рнЗ messageрмЧрнБрмбрм╝рм┐рмХрнБ рм╕рм░рм│ рмХрм░рнЗ** (рмжрнВрм░рмдрм╛ рмХрмернЛрмкрмХрмермирм░ рм╢рнЗрм╖рм░рнБ рморм╛рмкрм╛рмпрм╛рмП)ред рмпрнЛрмЧрм╛рмЗ рмжрм┐рмЖрмпрм╛рмЗрмерм┐рммрм╛ рмбрм┐рмлрм▓рнНрмЯ (`verbatim: 2, light: 2, moderate: 3`) рм╕рм╣рм┐рмд: - **рм╢рнЗрм╖ 2рмЯрм┐ turn (рмжрнВрм░рмдрм╛ тЙд 2)**: рмЕрммрм┐рмХрм│ рм░рмЦрм╛рмпрм╛рмП - **рмжрнВрм░рмдрм╛ 3**: Caveman рм╕рмВрмХрнЛрмЪрми (рмЕрмирм╛рммрм╢рнНрнЯрмХ рм╢рммрнНрмж рмЕрмкрм╕рм╛рм░рмг) - **рмжрнВрм░рмдрм╛ 4+**: Assistant messageрмЧрнБрмбрм╝рм┐рмХрнБ рм╕рм╛рм░рм╛рмВрм╢рм┐рмд рмХрм░рм╛рмпрм╛рмП; user messageрмЧрнБрмбрм╝рм┐рмХрнБ рм╕рнЗрморм╛рмирмЩрнНрмХ рмкрнНрм░рмермо рмзрм╛рмбрм╝рм┐ рмкрм░рнНрмпрнНрнЯрмирнНрмд рмХрморм╛рмЗ, 120рмЯрм┐ рмЕрмХрнНрм╖рм░рм░рнЗ рм╕рнАрморм┐рмд рмХрм░рм╛рмпрм╛рмП; рмЕрмирнНрнЯ roleрмЧрнБрмбрм╝рм┐рмХрнБ рмЕрмкрм░рм┐рммрм░рнНрмдрнНрмдрм┐рмд рм░рмЦрм╛рмпрм╛рмПред рмжрнВрм░рмдрм╛ рмпрм╛рм╣рм╛ рм╣рнЗрмЙрмирм╛ рмХрм╛рм╣рм┐рмБрмХрм┐, System prompt, рмкрнВрм░рнНрммрм░рнБ aged рм╣рнЛрмЗрмерм┐рммрм╛ message рмПрммрмВ рм╕рм░рнНрммрм╢рнЗрм╖ user messageрмХрнБ рм╕рм░рнНрммрмжрм╛ рмЕрммрм┐рмХрм│ рм░рмЦрм╛рмпрм╛рмПред рмХрнМрмгрм╕рм┐ рммрм┐рм╖рнЯ рм╕рморнНрмкрнВрм░рнНрмгрнНрмг рмнрм╛рммрнЗ рммрм╛рмж рмжрм┐рмЖрмпрм╛рмП рмирм╛рм╣рм┐рмБ, рмПрммрмВ рмпрнЛрмЧрм╛рмЗ рмжрм┐рмЖрмпрм╛рмЗрмерм┐рммрм╛ рмбрм┐рмлрм▓рнНрмЯрм░рнЗ `light` band рмкрм╣рмЮрнНрмЪрмпрнЛрмЧрнНрнЯ рмирнБрм╣рнЗрмБ (`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рмЯрм┐ turn ... ]; const { messages: aged, saved } = applyAging(messages, { verbatim: 3, // рм╢рнЗрм╖ 3рмЯрм┐ turn: рмЕрммрм┐рмХрм│ light: 8, // рмжрнВрм░рмдрм╛ <= 8: lite рм╕рмВрмХрнЛрмЪрми moderate: 20, // рмжрнВрм░рмдрм╛ <= 20: caveman рм╕рмВрмХрнЛрмЪрми fullSummary: 5, // type рмкрм╛рмЗрмБ рмЖрммрм╢рнНрнЯрмХ, banding code рмжрнНрн▒рм╛рм░рм╛ рмкрмврм╝рм╛рмпрм╛рмП рмирм╛рм╣рм┐рмБ // рмжрнВрм░рмдрм╛ > 20: рм╕рм╛рм░рм╛рмВрм╢рм┐рмд (assistant) / рмкрнНрм░рмермо рмзрм╛рмбрм╝рм┐ рм░рмЦрм╛рмпрм╛рмП (user) }); // saved = рм╕рмЮрнНрмЪрм┐рмд token рм╕рмВрмЦрнНрнЯрм╛ ``` #### рмХрнЗрмдрнЗрммрнЗрм│рнЗ рммрнНрнЯрммрм╣рм╛рм░ рмХрм░рм┐рммрнЗ Progressive aging `aggressive` рморнЛрмбрнН рмкрм╛рмЗрмБ **рм╕рм░рнНрммрмжрм╛ рм╕рмХрнНрм░рм┐рнЯ** тАФ рмПрм╣рм╛ `compressAggressive()`рм░ рмкрмжрмХрнНрм╖рнЗрмк 2ред Ultra рморнЛрмбрнН рмПрм╣рм╛рмХрнБ рмЪрм│рм╛рмП рмирм╛рм╣рм┐рмБред рмПрм╣рм╛ рммрм┐рм╢рнЗрм╖рмдрмГ рмирм┐рморнНрмирм▓рм┐рмЦрм┐рмд рмкрм╛рмЗрмБ рмкрнНрм░рмнрм╛рммрм╢рм╛рм│рнА: - рмжрнАрм░рнНрмШрмХрм╛рм│рнАрми coding session - рмПрмХрм╛рмзрм┐рмХ рмжрм┐рми рмзрм░рм┐ рмЪрм╛рм▓рнБрмерм┐рммрм╛ рмХрмернЛрмкрмХрмерми - рмЕрмирнЗрмХ tool call рм╕рм╣рм┐рмд agentic workflow ### Caveman рмЖрмЙрмЯрнНрмкрнБрмЯрнН рморнЛрмбрнН Caveman output mode рмПрмкрм░рм┐ **system prompt рмирм┐рм░рнНрмжрнНрмжрнЗрм╢рм╛рммрм│рнА** рмпрнЛрмбрм╝рнЗ, рмпрм╛рм╣рм╛ рмормбрнЗрм▓рнНрмХрнБ рм╕рмВрмХрнНрм╖рм┐рмкрнНрмд рмЖрмЙрмЯрнНрмкрнБрмЯрнН рмжрнЗрммрм╛рмХрнБ рмХрм╣рнЗ тАФ `lite` рм╕рнНрмдрм░рмЯрм┐ рм╕рморнНрмкрнВрм░рнНрмгрнНрмг рммрм╛рмХрнНрнЯ рммрмЬрм╛рнЯ рм░рмЦрм┐ рм╕рмВрмХрнНрм╖рм┐рмкрнНрмд рмЙрмдрнНрмдрм░ рмжрнЗрммрм╛рмХрнБ рмХрм╣рнЗ, `full` рмПрм╣рм╛рмХрнБ "рммрнБрмжрнНрмзрм┐рморм╛рми рмЧрнБрм╣рм╛рморм╛рмирмм рмкрм░рм┐ рм╕рмВрмХрнНрм╖рм┐рмкрнНрмд рмЙрмдрнНрмдрм░ рмжрм┐рмЕ" рммрнЛрм▓рм┐ рмХрм╣рнЗ, рмПрммрмВ `ultra` рмЯрнЗрм▓рм┐рмЧрнНрм░рм╛рмлрм┐рмХрнН рмЖрмЙрмЯрнНрмкрнБрмЯрнН рморм╛рмЧрнЗ; рмирм┐рм░рнНрмжрнНрмжрнЗрм╢рм╛рммрм│рнА рмХрнЗрммрм│ рмЕрмирнБрм░рнЛрмз рмХрм░рнЗ, рм╕рнЗрмЧрнБрмбрм╝рм┐рмХ рмПрм╣рм╛рмХрнБ рм╕рнБрмирм┐рм╢рнНрмЪрм┐рмд рмХрм░рм┐рмкрм╛рм░рнЗ рмирм╛рм╣рм┐рмБред рмЕрмирнБрм░рнЛрмзрмЧрнБрмбрм╝рм┐рмХ `applyOutputStyles()` (`open-sse/services/compression/outputStyles/apply.ts`) рморм╛рмзрнНрнЯрморм░рнЗ рм╕рнЗрмЧрнБрмбрм╝рм┐рмХрнБ рмкрнНрм░рм╛рмкрнНрмд рмХрм░рнЗ: `open-sse/handlers/chatCore.ts` рмкрнНрм░рмерморнЗ back-compat shim (`open-sse/services/compression/outputStyles/backCompat.ts`рм░рнЗ рмерм┐рммрм╛ `resolveOutputStyleSelection()`) рморм╛рмзрнНрнЯрморм░рнЗ рмЪрнЯрмирмХрнБ рмирм┐рм░рнНрмжрнНрмзрм╛рм░рмг рмХрм░рнЗ, рмпрм╛рм╣рм╛ `outputStyles` рмЦрм╛рм▓рм┐ рмерм┐рммрм╛рммрнЗрм│рнЗ, рмПрмХ рм╕рмХрнНрм░рм┐рнЯ `cavemanOutputMode`рмХрнБ `cavemanOutputMode.intensity`рм░рнЗ `terse-prose` output style рм╕рм╣рм┐рмд рморнНрнЯрм╛рмкрнН рмХрм░рнЗ (рмирм┐рморнНрмирм░ Back-compat рмжрнЗрмЦрмирнНрмдрнБ); рмПрмХ рмЦрм╛рм▓рм┐ рмирмерм┐рммрм╛ `outputStyles` рмЪрнЯрмирмХрнБ рмпрмерм╛рммрмдрнН рммрнНрнЯрммрм╣рм╛рм░ рмХрм░рм╛рмпрм╛рмП, рмПрммрмВ рмдрм╛тАЩрмкрм░рнЗ `cavemanOutputMode.enabled` рмУ `intensity`рм░ рмХрнМрмгрм╕рм┐ рмкрнНрм░рмнрм╛рмм рм░рм╣рнЗ рмирм╛рм╣рм┐рмБ, рмпрнЗрмдрнЗрммрнЗрм│рнЗ рмПрм╣рм╛рм░ `autoClarity` toggle рмдрмерм╛рмкрм┐ рмкрнНрм░рнЯрнЛрмЧ рм╣рнБрмПред `outputMode.ts`рм░рнЗ рмирм┐рм░рнНрмжрнНрмжрнЗрм╢ рмкрм╛рмарнНрнЯрмЧрнБрмбрм╝рм┐рмХ (`CAVEMAN_INSTRUCTION_BY_LANGUAGE`), content bypass рмПрммрмВ injection рммрнНрнЯрммрм╣рм╛рм░ рмХрм░рнБрмерм┐рммрм╛ placement helper рм░рм╣рм┐рмЫрм┐; рмПрм╣рм╛рм░ рмирм┐рмЬрм╕рнНрн▒ `applyCavemanOutputMode()` injectorрм░ рмХрнМрмгрм╕рм┐ production caller рмирм╛рм╣рм┐рмБред #### рмПрм╣рм╛ рмХрм┐рмкрм░рм┐ рмХрм╛рмо рмХрм░рнЗ рмПрм╣рм┐ рморнЛрмбрнН рмЗрмирмкрнБрмЯрнНрмХрнБ рм╕рмВрмХрнБрмЪрм┐рмд рмХрм░рнЗ рмирм╛рм╣рм┐рмБред рмПрм╣рм╛ рм╕рм┐рм╖рнНрмЯрморнН рмкрнНрм░рморнНрмкрнНрмЯрм░рнЗ рмПрмХ рмирм┐рм░рнНрмжрнНрмжрнЗрм╢ рммрнНрм▓рмХрнН рмпрнЛрмбрм╝рнЗ (рмирм┐рморнНрмирм░рнЗ рмЗрмЮрнНрмЬрнЗрмХрнНрм╕рмирнН рмХрм┐рмкрм░рм┐ рмХрм╛рмо рмХрм░рнЗ рмжрнЗрмЦрмирнНрмдрнБ), рмПрммрмВ рмЕрмирнБрм░рнЛрмз рмкрм╛рмЗрмБ рмЪрнЯрми рмХрм░рм╛рмпрм╛рмЗрмерм┐рммрм╛ рмпрнЗрмХрнМрмгрм╕рм┐ рмЗрмирмкрнБрмЯрнН рм╕рмВрмХрнЛрмЪрми рморнЛрмбрнН рмдрм╛тАЩрмкрм░рнЗ рмормзрнНрнЯ рмЪрм╛рм▓рнЗ, рммрм░рнНрмдрнНрмдрморм╛рми рммрнНрм▓рмХрнНрмЯрм┐ рмерм┐рммрм╛ рммрмбрм┐ рмЙрмкрм░рнЗред рмкрнНрм░рмдрнНрнЯрнЗрмХ рм╕рнНрмдрм░ рм╢рнЗрм╖рм░рнЗ рмерм┐рммрм╛ рм╕рм╛рмзрм╛рм░рмг рм╕рнАрморм╛ рмзрм╛рм░рм╛ рмкрнВрм░рнНрммрм░рнБ, рмЗрмВрм░рм╛рмЬрнА `full` рм╕рнНрмдрм░рм░рнЗ рмПрм╣рм╛ рм▓рнЗрмЦрм╛рмпрм╛рмЗрмЫрм┐: > "рмЪрмдрнБрм░ рмЧрнБрм╣рм╛рморм╛рмирмм рмкрм░рм┐ рм╕рмВрмХрнНрм╖рм┐рмкрнНрмд рмЙрмдрнНрмдрм░ рмжрм┐рмЕред articles (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" } } ``` рмПрмХ рм╕рмВрмХрнЛрмЪрми рмХрморнНрммрнЛрм░ **Output Mode** рмЯрмЧрм▓рнН (`outputMode`, рм╕рнНрмдрм░ `outputModeIntensity`рм░рнЗ) рм╕рнЗрм╣рм┐ рмХрморнНрммрнЛ рм▓рм╛рмЧрнБ рм╣рнЗрмЙрмерм┐рммрм╛ рмЕрмирнБрм░рнЛрмзрмЧрнБрмбрм╝рм┐рмХ рмкрм╛рмЗрмБ рм╕рморм╛рми рм╕рнНрн▒рм┐рмЪрнН рм╕рнЗрмЯрнН рмХрм░рнЗ, рмПрммрмВ `omniroute_set_compression_engine` MCP рмЯрнБрм▓рнН рмПрм╣рм╛рмХрнБ рмирм┐рмЬ boolean `outputMode` argument рморм╛рмзрнНрнЯрморм░рнЗ рм▓рнЗрмЦрнЗред рмЦрм╛рм▓рм┐ рмирмерм┐рммрм╛ `outputStyles` рмЪрнЯрми рмПрм╣рм┐ рм╕рнНрн▒рм┐рмЪрнНрмарм╛рм░рнБ рмЕрмЧрнНрм░рм╛рмзрм┐рмХрм╛рм░ рмкрм╛рмПред рмбрнНрнЯрм╛рм╕рммрнЛрм░рнНрмбрм░рнЗ, **Terse prose** рмЖрмЙрмЯрмкрнБрмЯрнН рм╢рнИрм│рнА рмЪрм╛рм▓рнБ рмХрм▓рнЗ рм╕рморм╛рми рммрнНрм▓рмХрнН рмЗрмЮрнНрмЬрнЗрмХрнНрмЯ рм╣рнБрмП (рмирм┐рморнНрмирм░рнЗ Output Styles рмжрнЗрмЦрмирнНрмдрнБ)ред ### рмЖрмЙрмЯрмкрнБрмЯрнН рм╢рнИрм│рнАрмЧрнБрмбрм╝рм┐рмХ (рмХрнНрнЯрм╛рмЯрм╛рм▓рмЧрнН) рмЙрмкрм░рнЛрмХрнНрмд Caveman рмЖрмЙрмЯрмкрнБрмЯрнН рморнЛрмбрнН рм╣рнЗрмЙрмЫрм┐ **рмкрнБрм░рнБрмгрм╛ рмПрмХрмХ-рм╢рнИрм│рнА рмкрме**ред Phase 4 рмПрм╣рм╛рмХрнБ рм╕рмВрмпрнЛрмЬрмирмпрнЛрмЧрнНрнЯ рмЖрмЙрмЯрмкрнБрмЯрнН рм╢рнИрм│рнАрм░ рмПрмХ рмХрнНрнЯрм╛рмЯрм╛рм▓рмЧрнНрм░рнЗ рм╕рм╛рмзрм╛рм░рмгрнАрмХрнГрмд рмХрм░рм┐рмЫрм┐: `open-sse/services/compression/outputStyles/catalog.ts`рм░рнЗ `OUTPUT_STYLE_CATALOG`ред рмкрнНрм░рмдрнНрнЯрнЗрмХ рм╢рнИрм│рнА рм╣рнЗрмЙрмЫрм┐ рмПрмХ рм╕рм┐рм╖рнНрмЯрморнН-рмкрнНрм░рморнНрмкрнНрмЯ рмирм┐рм░рнНрмжрнНрмжрнЗрм╢, рмпрм╛рм╣рм╛ рмормбрнЗрм▓рнНрмХрнБ рмирм┐рмЬрнЗ рмХрморнН рммрнНрнЯрнЯрммрм╣рнБрм│ рмЖрмЙрмЯрмкрнБрмЯрнН рмжрнЗрммрм╛рмХрнБ рмХрм╣рнЗ; рм╢рнИрм│рнАрмЧрнБрмбрм╝рм┐рмХрнБ рмПрмХрм╕рмЩрнНрмЧрнЗ рмЪрм╛рм▓рнБ рмХрм░рм╛рмпрм╛рмЗрмкрм╛рм░рнЗ рмПрммрмВ рм╕рнЗрмЧрнБрмбрм╝рм┐рмХ рмХрнНрнЯрм╛рмЯрм╛рм▓рмЧрнН рмХрнНрм░рморм░рнЗ рмЗрмЮрнНрмЬрнЗрмХрнНрмЯ рм╣рнБрмПред | рм╢рнИрм│рнА | `id` | рмПрм╣рм╛ рмХтАЩрмг рмХрм░рнЗ | рмирм┐рм░рнНрмжрнНрмжрнЗрм╢рм░ рмнрм╛рм╖рм╛рмЧрнБрмбрм╝рм┐рмХ | | ------------------------------- | --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------- | | рм╕рмВрмХрнНрм╖рм┐рмкрнНрмд рмЧрмжрнНрнЯ | `terse-prose` | рмЕрмирм╛рммрм╢рнНрнЯрмХ рм╢рммрнНрмж/articles/рмЕрмирм┐рм╢рнНрмЪрм┐рмдрмдрм╛рм╕рнВрмЪрмХ рмнрм╛рм╖рм╛ рмЫрм╛рмбрм╝рнЗ; рмкрнНрм░рм╛рмпрнБрмХрнНрмдрм┐рмХ рммрм┐рм╖рнЯрммрм╕рнНрмдрнБ рмЕрммрм┐рмХрм│ рм░рмЦрнЗред рмкрнБрм░рнБрмгрм╛ caveman рмЖрмЙрмЯрмкрнБрмЯрнН рморнЛрмбрнНрм░ рм╕рморм╛рми рмкрм╛рмарнНрнЯ (рмкрнБрмирмГ рм▓рнЗрмЦрм╛рмпрм╛рмЗрмирм╛рм╣рм┐рмБ, рм╕рмирнНрмжрм░рнНрмнрм┐рмд)ред | en, pt-BR, es, de, fr, it, ru, zh, ja, id, vi | | рмХрморнН рмХрнЛрмбрнН | `less-code` | YAGNI рмХрнНрм░рмо: рм╕рммрнБрмарм╛рм░рнБ рмЫрнЛрмЯ рмХрм╛рм░рнНрмпрнНрнЯрмХрнНрм╖рмо рмкрм░рм┐рммрм░рнНрмдрнНрмдрми, рмЕрмирнБрм░рнЛрмз рмХрм░рм╛рмпрм╛рмЗрмирмерм┐рммрм╛ abstraction рмирнБрм╣рнЗрмБред | 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 рмирнБрм╣рнЗрмБ, рм╕рнАрморм┐рмд palette, рмХрнМрмгрм╕рм┐ template layout рмирнБрм╣рнЗрмБред рмЙрмнрнЯ antislop рм╢рнИрм│рнА рмХрм╛рмо рмирмХрм░рнБрмерм┐рммрм╛ control рми рм░рмЦрм┐рммрм╛ / рмормирмЧрмврм╝рм╛ рмжрм╛рммрм┐ рми рмХрм░рм┐рммрм╛ рм╕рнАрморм╛ рмпрнЛрмбрм╝рнЗред | en, pt-BR, es, de, fr, it, ru, zh, ja, id, vi | | Antislop рмХрмкрм┐ рмПрммрмВ рморм╛рмирмм рмлрм┐рм▓рнНрмЯрм░рнН | `antislop-copy` | рмирм┐рм░рнНрмжрнНрмжрм┐рм╖рнНрмЯ рмХрмкрм┐ (рмХрнМрмгрм╕рм┐ em dash, рм╕рм╛рмзрм╛рм░рмг CTA, buzzword, 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` | Classical Chinese (цЦЗшиА)рм░рнЗ `full`/`ultra` рмЙрмдрнНрмдрм░; `lite` рмХрнЗрммрм│ function word, рм╢рм┐рм╖рнНрмЯрм╛рмЪрм╛рм░рморнВрм│рмХ рмХрмерм╛ рмХрм┐рморнНрммрм╛ рмЕрм│рмЩрнНрмХрм░рмг рммрм┐рмирм╛ рм╕рмВрмХрнНрм╖рм┐рмкрнНрмд рмЙрмдрнНрмдрм░ рмЪрм╛рм╣рнЗрмБред | zh (locale-gated, рмирм┐рморнНрмирм░рнЗ рмжрнЗрмЦрмирнНрмдрнБ) | рмкрнНрм░рмдрнНрнЯрнЗрмХ рм╢рнИрм│рнАрм░ рмдрм┐рмирнЛрмЯрм┐ intensity рм╕рнНрмдрм░ рм░рм╣рм┐рмЫрм┐ тАФ `lite`, `full`, `ultra` тАФ рмПрммрмВ рмкрнНрм░рмдрнНрнЯрнЗрмХ рм╕рнНрмдрм░ рм╕рм╛рмзрм╛рм░рмг рм╕рнАрморм╛ рмзрм╛рм░рм╛ (`outputMode.ts`рм░рнЗ `SHARED_BOUNDARIES`) рм╕рм╣ рм╢рнЗрм╖ рм╣рнБрмП, рмпрм╛рм╣рм╛ рмХрнЛрмбрнН рммрнНрм▓рмХрнН, рмлрм╛рмЗрм▓рнН рмкрме, рмХрморм╛рмгрнНрмб, рмдрнНрм░рнБрмЯрм┐ рмПрммрмВ URLsрмХрнБ рмЕрммрм┐рмХрм│ рм░рмЦрнЗред `terse-prose` рмПрммрмВ `terse-cjk` рм╕рнНрмдрм░рм░ рмкрм╛рмарнНрнЯ рм╕рнЗрм╣рм┐ рмдрм╛рм▓рм┐рмХрм╛рм░рнЗ identifiers рмпрнЛрмбрм╝рнЗред `terse-cjk`рмХрнБ рмжрнБрмЗрмЯрм┐ рм╕рнНрмерм╛рмирм░рнЗ `zh` рмкрм╛рмЗрмБ locale-gated рмХрм░рм╛рмпрм╛рмЗрмЫрм┐ред Compression Settings рмкрнГрм╖рнНрмарм╛ рмХрнЗрммрм│ рмбрнНрнЯрм╛рм╕рммрнЛрм░рнНрмб UI рмнрм╛рм╖рм╛ Chinese (`zh-CN` рмХрм┐рморнНрммрм╛ `zh-TW`) рмерм┐рммрм╛рммрнЗрм│рнЗ рмПрм╣рм╛рм░ рмзрм╛рмбрм╝рм┐ рмжрнЗрмЦрм╛рмП, рмПрммрмВ рмЕрмирнБрм░рнЛрмзрм░ resolved language (рмирм┐рморнНрмирм░рнЗ Language selection рмжрнЗрмЦрмирнНрмдрнБ) `zh` рм╣рнЗрм▓рнЗ рморм╛рмдрнНрм░ `applyOutputStyles()` рмПрм╣рм╛рмХрнБ рмЗрмЮрнНрмЬрнЗрмХрнНрмЯ рмХрм░рнЗред рмзрм╛рмбрм╝рм┐ рм▓рнБрмЪрм╛рмЗрм▓рнЗ рм╕рмЮрнНрмЪрм┐рмд `terse-cjk` рмЪрнЯрми рм╕рмлрм╛ рм╣рнБрмП рмирм╛рм╣рм┐рмБ: settings API рмпрнЗрмХрнМрмгрм╕рм┐ style id рмЧрнНрм░рм╣рмг рмХрм░рнЗ, рмПрммрмВ рмкрнГрм╖рнНрмарм╛рм░рнЗ рмЕрмирнНрнЯ рм╢рнИрм│рнАрмЧрнБрмбрм╝рм┐рмХрнБ рм╕рнЗрмнрнН рмХрм▓рнЗ рмПрм╣рм╛рмХрнБ рм░рмЦрнЗред рмЕрмирнБрм░рнЛрмз рм╕рморнЯрм░рнЗ, `applyOutputStyles()` рмнрм╛рм╖рм╛ рмпрм╛рмЮрнНрмЪ рм╣рм┐рмБ рмПрмХрморм╛рмдрнНрм░ locale gateред #### рмЗрмЮрнНрмЬрнЗрмХрнНрм╕рмирнН рмХрм┐рмкрм░рм┐ рмХрм╛рмо рмХрм░рнЗ `applyOutputStyles()` (`open-sse/services/compression/outputStyles/apply.ts`) рмЪрнЯрмирмХрнБ рмХрнНрнЯрм╛рмЯрм╛рм▓рмЧрнН рм╕рм╣рм┐рмд рм╕рморм╛рмзрм╛рми рмХрм░рнЗ (рмЕрмЬрмгрм╛ ids рмПрммрмВ locale рм╕рм╣рм┐рмд рморнЗрм│ рмирмерм┐рммрм╛ styles рммрм╛рмж рмжрм┐рмЖрмпрм╛рмП, рмХрнЗрммрнЗ рмормзрнНрнЯ рмдрнНрм░рнБрмЯрм┐ рм╣рнБрмП рмирм╛рм╣рм┐рмБ; рмХрнМрмгрм╕рм┐ style рмХрнБ рм╕рморм╛рмзрм╛рми рмирм╣рнЗрмЙрмерм┐рммрм╛ рмЪрнЯрми body рмХрнБ рмЕрмкрм░рм┐рммрм░рнНрмдрнНрмдрм┐рмд рм░рмЦрнЗ, `no_styles` рмнрм╛рммрнЗ рмПрмбрм╝рм╛рмЗ рмжрм┐рмЖрмпрм╛рмП), рмЪрнЯрмирм┐рмд рмирм┐рм░рнНрмжрнНрмжрнЗрм╢рмЧрнБрмбрм╝рм┐рмХрнБ рмХрнНрнЯрм╛рмЯрм╛рм▓рмЧрнН рмХрнНрм░рморм░рнЗ рм╕рмВрмпрнЛрмЬрми рмХрм░рнЗ, boundaries clause рмХрнБ **рмерм░рнЗ рморм╛рмдрнНрм░** рм╢рнЗрм╖рм░рнЗ рмпрнЛрмбрм╝рнЗ (рмПрмерм┐рм╕рм╣ safety clause, `SAFETY_BOUNDARIES` рмХрм┐рморнНрммрм╛ рмПрм╣рм╛рм░ рмЕрмирнБрммрм╛рмж, рмпрнЗрмдрнЗрммрнЗрм│рнЗ `less-code` рмХрм┐рморнНрммрм╛ `ponytail` рмЪрнЯрми рмХрм░рм╛рмпрм╛рмЗрмерм╛рмП), рмПрммрмВ block рмХрнБ рмЧрнЛрмЯрм┐рмП idempotency marker (`[OmniRoute Output Styles]`) рм╕рм╣рм┐рмд рмЖрм░рморнНрмн рмХрм░рнЗ, рмдрнЗрмгрнБ рмкрнБрмирмГ рмкрнНрм░рнЯрнЛрмЧ рмХрм▓рнЗ рмХрнМрмгрм╕рм┐ рмкрм░рм┐рммрм░рнНрмдрнНрмдрми рм╣рнБрмП рмирм╛рм╣рм┐рмБред рм╕рморм╛рмзрм╛рми рм╣рнЛрмЗрмерм┐рммрм╛ рмнрм╛рм╖рм╛рм░ (рмирм┐рморнНрмирм░рнЗ 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 (`shouldBypassCavemanOutputMode()` in `open-sse/services/compression/outputMode.ts`) рм╢рнЗрм╖ рмдрм┐рмирнЛрмЯрм┐ messages рм░ text рмХрнБ, рм╕рнЗрмЧрнБрмбрм╝рм┐рмХрм░ role рмпрм╛рм╣рм╛ рм╣рнЗрмЙрмирм╛ рмХрм╛рм╣рм┐рмБрмХрм┐, рмпрм╛рмЮрнНрмЪ рмХрм░рнЗ рмПрммрмВ рм╕рнЗрм╣рм┐ text рмПрм╣рм╛рм░ 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) on рмерм┐рммрм╛рммрнЗрм│рнЗ bypass рмЪрм╛рм▓рнЗ; toggle рмХрнБ off рмХрм▓рнЗ keyword рмпрм╛рмЮрнНрмЪ рмПрмбрм╝рм╛рмЗ рмжрм┐рмЖрмпрм╛рмПред рмпрнЗрмдрнЗрммрнЗрм│рнЗ bypass turn рмХрнБ рмЖрмЧрмХрнБ рмпрм┐рммрм╛рмХрнБ рмжрм┐рмП, `placeSystemInstruction()` (рм╕рнЗрм╣рм┐ file), рмпрм╛рм╣рм╛ рмХрнЗрммрнЗ рмормзрнНрнЯ рмирнВрмЖ `messages[0]` рм╕рнГрм╖рнНрмЯрм┐ рмХрм░рнЗ рмирм╛рм╣рм┐рмБ, рмирм┐рморнНрмирм▓рм┐рмЦрм┐рмд рмормзрнНрнЯрм░рнБ рмкрнНрм░рмерморнЗ рморм┐рм│рнБрмерм┐рммрм╛ рм╕рнНрмерм╛рмирм░рнЗ block рмХрнБ рм░рмЦрнЗ: 1. string content рмерм┐рммрм╛ рмПрмХ рмкрнНрм░рм╛рм░рморнНрмнрм┐рмХ system message: рмПрм╣рм╛рм░ text рмкрм░рнЗ block рмХрнБ рмпрнЛрмбрм╝рм╛рмпрм╛рмПред 2. top-level `system` field: рмПрмХ string рм░ text рмкрм░рнЗ block рмХрнБ рмпрнЛрмбрм╝рм╛рмпрм╛рмП, рмХрм┐рморнНрммрм╛ content-block array рм░рнЗ рмПрмХ рмирнВрмЖ text block рмнрм╛рммрнЗ рмпрнЛрмбрм╝рм╛рмпрм╛рмПред 3. рмкрм░рнЗ рмЖрм╕рнБрмерм┐рммрм╛ string content рм╕рм╣рм┐рмд рмкрнНрм░рмермо system message: рмПрм╣рм╛рм░ text рмкрм░рнЗ block рмХрнБ рмпрнЛрмбрм╝рм╛рмпрм╛рмПред 4. рмЙрмкрм░рнЛрмХрнНрмд рмормзрнНрнЯрм░рнБ рмХрнМрмгрм╕рм┐рмЯрм┐ рмирнБрм╣рнЗрмБ: block рмХрнБ `messages` рм░ рм╢рнЗрм╖рм░рнЗ рмПрмХ рмирнВрмЖ system message рмормзрнНрнЯрм░рнЗ рм░рмЦрм╛рмпрм╛рмПред `messages` array рмирмерм┐рммрм╛ (рмХрм┐рморнНрммрм╛ рмПрмХ рмЦрм╛рм▓рм┐ array рмерм┐рммрм╛) body рм░рнЗ рмХрнМрмгрм╕рм┐ content bypass рмЪрм╛рм▓рнЗ рмирм╛рм╣рм┐рмБ рмПрммрмВ top-level `system` field рмХрнБ рмжрнЗрмЦрм╛рмпрм╛рмП рмирм╛рм╣рм┐рмБред block рмХрнБ рмПрмХ string `instructions` field рм░ text рмкрм░рнЗ рмпрнЛрмбрм╝рм╛рмпрм╛рмП, рмпрмжрм┐ рм╕рнЗрм╣рм┐ field рм░рнЗ рмкрнВрм░рнНрммрм░рнБ `[OmniRoute Output Styles]` marker рмирмерм╛рмП; marker рмерм┐рм▓рнЗ body рмХрнБ `already_applied` рмнрм╛рммрнЗ рмЕрмкрм░рм┐рммрм░рнНрмдрнНрмдрм┐рмд рм░рмЦрм╛рмпрм╛рмПред body рм░рнЗ string `instructions` field рмирмерм┐рм▓рнЗ рмХрм┐рмирнНрмдрнБ `input` (рмПрмХ string рмХрм┐рморнНрммрм╛ array) рмерм┐рм▓рнЗ, block рмЯрм┐ `instructions` рм╣рнЛрмЗрмпрм╛рмП рмПрммрмВ рм╕рнЗрм╣рм┐ field рм░рнЗ рмерм┐рммрм╛ рмпрнЗрмХрнМрмгрм╕рм┐ non-string value рмХрнБ рмкрнНрм░рмдрм┐рм╕рнНрмерм╛рмкрми рмХрм░рнЗред string `instructions` field рмХрм┐рморнНрммрм╛ string рммрм╛ array `input` рмормзрнНрнЯрм░рнБ рмХрнМрмгрм╕рм┐рмЯрм┐ рмирмерм┐рммрм╛ body рмХрнБ рмЕрмкрм░рм┐рммрм░рнНрмдрнНрмдрм┐рмд рм░рмЦрм╛рмпрм╛рмП рмПрммрмВ `no_messages` рмнрм╛рммрнЗ рмПрмбрм╝рм╛рмЗ рмжрм┐рмЖрмпрм╛рмПред #### рмХрм┐рмкрм░рм┐ рм╕рмХрнНрм╖рмо рмХрм░рм┐рммрнЗ dashboard рм░рнЗ: **Compression Context тЖТ Compression Settings** (`/dashboard/context/settings`), Output styles section: рмкрнНрм░рмдрнНрнЯрнЗрмХ style рмкрм╛рмЗрмБ on/off toggle рмПрммрмВ level selector рм╕рм╣рм┐рмд рмЧрнЛрмЯрм┐рмП rowред compression рмирм┐рмЬрнЗ on рмерм┐рммрм╛рммрнЗрм│рнЗ (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 рмдрм│рнЗ, 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 рмХрнБ рмЕрмирнБрммрм╛рмж рм╣рнБрмП, рмдрнЗрмгрнБ рм╕рморм╛рмзрм╛рми рм╣рнЛрмЗрмерм┐рммрм╛ рмнрм╛рм╖рм╛ `hu` рмерм┐рммрм╛ request рмХрнБ рмЗрмВрм░рм╛рмЬрнА text рморм┐рм│рнЗ, рмпрнЗрмЙрмБрмарм╛рм░рнЗ legacy injector рмПрм╣рм╛рм░ Hungarian text рммрнНрнЯрммрм╣рм╛рм░ рмХрм░рнБрмерм┐рм▓рм╛ред Output-style рмнрм╛рм╖рм╛ рмЪрнЯрми (`resolveOutputStyleLanguage()` in `outputStyles/apply.ts`): `languageConfig.enabled` on рмерм┐рм▓рнЗ, `autoDetect` request рм░ `messages` array рм░рнБ text рмерм┐рммрм╛ рм╕рм░рнНрммрм╢рнЗрм╖ user message рмХрнБ sample рмХрм░рнЗ (string content, рмХрм┐рморнНрммрм╛ рмПрм╣рм╛рм░ content parts рм░ `text`) рмПрммрмВ рмдрм╛рм╣рм╛ рмЙрмкрм░рнЗ Caveman engine рм░ detector (`detectCompressionLanguage()`) рмЪрм▓рм╛рмПред Han characters рмерм┐рммрм╛ рмПрммрмВ kana рмирмерм┐рммрм╛ text рмкрм╛рмЗрмБ detector `zh` рмлрнЗрм░рм╛рмП; рмЕрмирнНрнЯрмерм╛ `it`, `pt-BR`, `es`, `de`, `fr`, `ru`, `ja`, `hu` рмПрммрмВ `id` рмормзрнНрнЯрм░рнБ рмпрнЗрмЙрмБрмЯрм┐рм░ рм╕рм░рнНрммрм╛рмзрм┐рмХ hint matches рмерм╛рмП рмдрм╛рм╣рм╛рмХрнБ рмлрнЗрм░рм╛рмП, рмПрммрмВ рмХрнМрмгрм╕рм┐ match рмирмерм┐рм▓рнЗ `en` рмлрнЗрм░рм╛рмП тАФ рмПрм╣рм╛ рмпрнЗрмЙрмБ text рмХрнБ classify рмХрм░рм┐рмкрм╛рм░рнЗ рмирм╛рм╣рм┐рмБ, рм╕рнЗрмерм┐рмкрм╛рмЗрмБ `defaultLanguage` рмирнБрм╣рнЗрмБ, рм╕рм░рнНрммрмжрм╛ рмЗрмВрм░рм╛рмЬрнА рморм┐рм│рнЗ, рмПрммрмВ styles рм░рнЗ `vi` text рмерм┐рм▓рнЗ рмормзрнНрнЯ `vi` рмХрнЗрммрнЗ рмЪрм┐рм╣рнНрмирмЯ рм╣рнБрмП рмирм╛рм╣рм┐рмБред Responses API body рмирм┐рмЬрм░ turns рмХрнБ `input` рм░рнЗ рм░рмЦрнЗ, рмпрм╛рм╣рм╛ sample рмХрм░рм╛рмпрм╛рмП рмирм╛рм╣рм┐рмБ, рмдрнЗрмгрнБ рмПрм╣рм╛ рмкрнНрм░рмерморнЗ `defaultLanguage`, рмдрм╛тАЩрмкрм░рнЗ рмЗрмВрм░рм╛рмЬрнА рмкрм╛рмПред `messages` рм░ рмХрнМрмгрм╕рм┐ user message рм░рнЗ text рмирмерм┐рм▓рнЗ, рмХрм┐рморнНрммрм╛ `autoDetect` off рмерм┐рм▓рнЗ, `defaultLanguage` рмкрнНрм░рнЯрнЛрмЧ рм╣рнБрмП, рмдрм╛тАЩрмкрм░рнЗ рмЗрмВрм░рм╛рмЬрнАред `languageConfig.enabled` off рмерм┐рм▓рнЗ, рмнрм╛рм╖рм╛ рмЗрмВрм░рм╛рмЬрнА рм╣рнБрмП тАФ рмпрмжрм┐ 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` рм╕рнЗрмЯрнН рмХрм░рнЗ (saved value рмЯрм┐ combo рм░ packs рмормзрнНрнЯрм░рнБ рмЧрнЛрмЯрм┐рмП рм╣рнЛрмЗрмерм┐рм▓рнЗ рм╕рнЗрм╣рм┐ value, рмЕрмирнНрнЯрмерм╛ combo рм░ рмкрнНрм░рмермо pack, рмпрм╛рм╣рм╛рм░ default `en`), рмпрнЗрмдрнЗрммрнЗрм│рнЗ saved `autoDetect` (default рмнрм╛рммрнЗ on) рмдрмерм╛рмкрм┐ рмкрнНрм░рнЯрнЛрмЧ рм╣рнБрмПред Caveman input engine рмирм┐рмЬрм░ rule-pack рмнрм╛рм╖рм╛рмХрнБ рмнрм┐рмирнНрми рмнрм╛рммрм░рнЗ рммрм╛рмЫрнЗ тАФ рмкрнНрм░рмдрнНрнЯрнЗрмХ text part рмЕрмирнБрм╕рм╛рм░рнЗ рмПрммрмВ, auto-detect off рмерм┐рм▓рнЗ, `enabledPacks` рмЙрмкрм░рнЗ рмирм┐рм░рнНрмнрм░рм╢рнАрм│ рмнрм╛рммрнЗред рм╢рнИрм│рнА ├Ч рмнрм╛рм╖рм╛ рморнНрнЯрм╛рмЯрнНрм░рм┐рмХрнНрм╕рмХрнБ `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 рм╣рнЗрмЙрмЫрм┐ рмдрм╛рм╣рм╛рм░ рмжрнИрм░рнНрмШрнНрнЯ) рмПрммрмВ `_remaining__keys` рморм╛рм░рнНрмХрм░рнН рмкрнНрм░рмермо 20рмЯрм┐ рмкрм░рнЗ рммрм╛рмж рмжрм┐рмЖрмпрм╛рмЗрмерм┐рммрм╛ рмХрнАрмЧрнБрмбрм╝рм┐рмХрнБ рмЧрмгрмирм╛ рмХрм░рнЗред рм╕рнНрмХрнЗрм▓рм╛рм░рнН рморнВрм▓рнНрнЯрмЧрнБрмбрм╝рм┐рмХ рм╕рморнНрмкрнВрм░рнНрмгрнНрмг рмнрм╛рммрнЗ рмХрмкрм┐ рм╣рнБрмП, рмдрнЗрмгрнБ рмХрнМрмгрм╕рм┐ рмирнЗрм╖рнНрмЯрнЗрмбрнН рморнВрм▓рнНрнЯ рмирмерм┐рммрм╛ 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 рмХрм┐рморнНрммрм╛ рмдрм╛рмарм╛рм░рнБ рмХрморнН рмзрм╛рмбрм╝рм┐рм░ рмПрмХ рмХрнЛрмбрнН-рм╕рмжрнГрм╢ рмлрм╛рмЗрм▓рнН, рмХрм┐рморнНрммрм╛ 7 рмХрм┐рморнНрммрм╛ рмдрм╛рмарм╛рм░рнБ рмХрморнН рмЖрмЗрмЯрморнН рмерм┐рммрм╛ 2,000 рмЕрмХрнНрм╖рм░рм░рнБ рмЕрмзрм┐рмХ рмПрмХ JSON рмЖрм░рнЗ тАФ рмдрнЗрммрнЗ 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 рмирм┐рнЯрмормЧрнБрмбрм╝рм┐рмХ