# 🗜️ Prompt Compression Guide — OmniRoute (አማርኛ) 🌐 **Languages:** 🇺🇸 [English](../../../../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) · 🇮🇳 [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 ጥያቄዎች ወደ upstream አቅራቢዎች ከመድረሳቸው በፊት **አስቀድሞ** የሚሠራ ሞዱላር የፕሮምፕት ማመቂያ pipeline ይተገብራል። ይህም የቶከን ቁጠባዎ በማይታይ ሁኔታ እንዲከናወን ያደርጋል — በየዕለት የሥራ ሂደትዎ ላይ ምንም ለውጥ አያስፈልግም። ``` የደንበኛ ጥያቄ → የማመቂያ ስልት መራጭ → Combo ማሻሻያ አለ? → የcombo ቅንብሩን ተጠቀም → የራስ-ሰር ማስጀመሪያ ገደብ ደርሷል? → ራስ-ሰር ሁነታን ተጠቀም → ነባሪ ሁነታ? → አጠቃላይ ቅንብሩን ተጠቀም → ጠፍቷል? → ማመቅን ዝለል → የተመረጠው የማመቂያ ሁነታ → ጠፍቷል፦ ምንም ማመቅ የለም → Lite፦ አስተማማኝ የክፍተት/ቅርጸት ማጽዳት (~15%) → Standard፦ የቀላል-ንግግር ትርፍ ቃላትን ማስወገድ (~30%) → Aggressive፦ የታሪክ ማርጀት + ማጠቃለል (~50%) → Ultra፦ ሂዩሪስቲክ መመንጠር + የኮድ ብሎክ ማቅጠን (~75%) → RTK፦ ትዕዛዝን የሚገነዘብ የተርሚናል/መሣሪያ-ውጤት ማጣሪያ (60-90% upstream ክልል) → Stacked፦ በቅደም ተከተል የሚሠራ ባለብዙ-engine pipeline፣ ብዙውን ጊዜ RTK ከዚያ Caveman (78-95% ብቁ ክልል) → የታመቀ ጥያቄ → አቅራቢ ``` --- ## የማመቂያ ሁነታዎች ### Off ምንም ማመቅ አይተገበርም። ሁሉም መልዕክቶች ሳይለወጡ ያልፋሉ። ### Lite ሁነታ (~15% ቁጠባ፣ <1ms መዘግየት) በጣም አስተማማኙ ሁነታ — ምንም የፍቺ ለውጥ የለም፣ የቅርጸት ማጽዳት ብቻ፦ | ቴክኒክ | መግለጫ | | ------------------------ | ------------------------------------------ | | `collapseWhitespace` | ተከታታይ ባዶ መስመሮችንና በመስመር መጨረሻ ያሉ ክፍተቶችን አዋህድ | | `dedupSystemPrompt` | የተባዙ የsystem መልዕክቶችን አስወግድ | | `compressToolResults` | ዝርዝር የtool/function ውጤቶችን አምቅ | | `removeRedundantContent` | የተደጋገሙ መመሪያዎችን አስወግድ | | `replaceImageUrls` | የbase64 ምስል ውሂብ URIዎችን አሳጥር | **ለሚከተለው ይመከራል፦** ሁልጊዜ በርቶ የሚቆይ አጠቃቀም፣ ደህንነት-ወሳኝ የሥራ ሂደቶች። ### Standard ሁነታ (~30% ቁጠባ) በ[Caveman](https://github.com/JuliusBrussee/caveman) የተነሳሳ — ትርጉሙን በመጠበቅ ትርፍ ቃላትንና ረዥም አገላለጾችን ያስወግዳል፦ - ትርፍ ቃላትን ("እባክዎ", "እኔ እንደማስበው", "በመሠረቱ", "በእርግጥ") ያስወግዳል - ረዥም ሐረጎችን ያሳጥራል ("ለማድረግ ሲባል" → "ለማድረግ"፣ "በዚህ ምክንያት" → "ምክንያቱም") - ጨዋነት የተሞላባቸውን አገላለጾች ያስወግዳል ("ቢያደርጉ ይቸግርዎታል...", "ከቻሉ...") - ለኮዲንግ ፕሮምፕቶች የተስተካከሉ ከ30 በላይ የregex ደንቦች **ለሚከተለው ይመከራል፦** ዕለታዊ የኮዲንግ የሥራ ሂደቶች፣ ወጪን የሚያገናዝቡ ቡድኖች። ### Aggressive ሁነታ (~50% ቁጠባ) ለረጅም ክፍለ ጊዜዎች ብልህ የታሪክ አስተዳደር፦ - **የመልዕክት ማርጀት** — የቆዩ መልዕክቶች ቀስ በቀስ የበለጠ ይታመቃሉ - **የመሣሪያ ውጤት ማጠቃለያ** — ረዥም የመሣሪያ ውጤቶች በማጠቃለያዎች ይተካሉ - **የመዋቅራዊ ወጥነት ጥበቃዎች** — የ`tool_use` + `tool_result` ጥንዶች ወጥነታቸውን እንዲጠብቁ ያረጋግጣል - **የኮንቴክስት መስኮት ግንዛቤ** — የእያንዳንዱን model የቶከን ገደቦች ያከብራል **ለሚከተለው ይመከራል፦** የተራዘሙ የስህተት ማረም ክፍለ ጊዜዎች፣ ትላልቅ የኮድ ማከማቻዎች። ### Ultra ሁነታ (~75% ቁጠባ) ቶከን ወሳኝ ለሆነባቸው ሁኔታዎች ከፍተኛ ማመቅ፦ - **ሂዩሪስቲክ መመንጠር** — ከአግባብነት ገደቡ በታች ያሉ መልዕክቶችን ያስወግዳል - **የኮድ ብሎክ ማቅጠን** — ተደጋጋሚ የኮድ ምሳሌዎችን ያመቃል - **የሁለትዮሽ ፍለጋ መቁረጥ** — ለኮንቴክስት መስኮቱ ምርጥ የመቁረጫ ነጥብን ያገኛል - ሁሉም የAggressive ሁነታ ባህሪያት ተካትተዋል **ለሚከተለው ይመከራል፦** የኮንቴክስት ገደቦችን በተደጋጋሚ ሲደርሱ። ### RTK ሁነታ (60-90% upstream ክልል) RTK ሁነታ በኮዲንግ-agent ክፍለ ጊዜዎች ውስጥ ለሚታዩ ዝርዝር የመሣሪያ ውጤቶች የተመቻቸ ነው፦ - እንደ `git status`፣ `git diff`፣ `git log`፣ የፈተና አስኪያጆች፣ TypeScript/Vite/Webpack ግንባታዎች፣ ESLint/Biome/Prettier፣ npm ኦዲት/ጭነቶች፣ Docker ሎጎች፣ የinfra ውጤት እና አጠቃላይ የshell ውጤት ያሉ የትዕዛዝ/ውጤት ምድቦችን ይለያል - ከ`open-sse/services/compression/engines/rtk/filters/` የJSON ማጣሪያ ጥቅሎችን ይተገብራል - ከፕሮጀክት ወይም ከአጠቃላይ `filters.toml` ፋይሎች የRTK TOML schema v1 ማጣሪያዎችን ያስመጣል፤ የinline-test ማረጋገጫ እና ለፕሮጀክት ፋይሎች በእምነት ላይ የተመሠረተ መቆጣጠሪያ አለው - 49 አብሮገነብ ማጣሪያዎችን ከinline የማረጋገጫ ናሙናዎች ጋር ይዟል - የANSI መቆጣጠሪያ ቅደም ተከተሎችን፣ የሂደት አሞሌዎችን፣ የተደጋገሙ መስመሮችን እና እርምጃ የማይወሰድባቸውን ድምፆች ያስወግዳል - ውድቀቶችን፣ ስህተቶችን፣ ማስጠንቀቂያዎችን፣ የተለወጡ ፋይሎችን፣ ማጠቃለያዎችን እና የረዥም ውጤትን የመጨረሻ ክፍል ይጠብቃል - በእምነት ላይ የተመሠረቱ የፕሮጀክት ማጣሪያዎችን፣ አጠቃላይ ማጣሪያዎችን እና አማራጭ የተደበቀ ጥሬ-ውጤት መልሶ ማግኘትን ይደግፋል **ለሚከተለው ይመከራል፦** shell፣ build፣ test፣ git፣ grep እና የፋይል-ውጤት ቃለ ጉባኤዎችን የያዙ የagent ክፍለ ጊዜዎች። ### Stacked ሁነታ (78-95% ብቁ ክልል) Stacked ሁነታ በተወሰነ ቅደም ተከተል በርካታ የማመቂያ engineዎችን ያስኬዳል። ነባሪው pipeline፦ ```txt RTK -> Caveman ``` ይህ ቅደም ተከተል በመጀመሪያ የተርሚናል/መሣሪያ ውጤትን የታመቀ አድርጎ ያቆያል፤ ከዚያም በቀረው የተፈጥሮ ቋንቋ ፕሮምፕት ላይ የCaveman የፍቺ ማጠርን ይተገብራል። Stacked pipelines በአጠቃላይ ወይም ለrouting combos በተመደቡ የማመቂያ combos በኩል ሊዋቀሩ ይችላሉ። **ለሚከተለው ይመከራል፦** ትላልቅ የመሣሪያ ሎጎችን ከሰው መመሪያዎች ወይም ከassistant ማጠቃለያዎች ጋር ለያዘ ድብልቅ ኮንቴክስት። --- ## የላይኛው ምንጭ ቁጠባ ስሌት 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፣ ርዕሶችን፣ ስሪቶችን ወይም ሁሉም-በአቢይ-ፊደል የተጻፉ ቋሚ ለዪዎችን የሚያስወግድ ወይም የሚቀይር ዳግም ጽሑፍ እንዳይላክ ይከለክላል። ይህ የሚጠበቅ እና ደህንነቱ የተጠበቀ ባህሪ ነው፣ ሳንካ አይደለም፦ በአብዛኛው ንጹህ ፋይሎችን የሚያነብ/በ`grep` የሚፈልግ የኮድ አጻጻፍ ክፍለ ጊዜ መጭመቂያው ሙሉ በሙሉ ቢነቃም መጠነኛ አጠቃላይ ቁጠባ ያሳያል፤ የከሸፈ ዙር ወይም ብዙ ውጤት የሚያወጣ linter ያጋጠመው ክፍለ ጊዜ ግን በዚያ ትራፊክ ላይ ሙሉውን የ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 ``` ይህ፣ በሚከፈልባቸው ምዝገባዎች ላይ lite ሁነታን እንደተጠበቀ በማቆየት፣ በነጻ/ኮዲንግ አቅራቢዎች ላይ የተደራረበ መጭመቅን እንዲጠቀሙ ያስችልዎታል። ይህ የ"Per-Combo Override" ምደባ ከ**የማዘዋወሪያ-ጥምረት መጭመቂያ ሁነታ** መሻሪያ (Default/Off/Lite/Standard/Aggressive/Ultra) የተለየ መቆጣጠሪያ ነው — ያ መሻሪያ ስም ያለውን የመጭመቂያ-ጥምረት ቧንቧ-መስመር አይመርጥም፤ `resolveCompressionPlan` የሚያጣቅሰውን `compressionMode` መስክ ብቻ ያዘጋጃል። ይህን በጥምረቱ ካርድ (`Dashboard → Combos`) ላይ ወይም፣ ከ#6760 ጀምሮ፣ በ`Dashboard → Context & Cache → Compression Combos` ውስጥ ባለው "Assign to routing" ዝርዝር ላይ፣ ከላይ ከተመዘገበው የቧንቧ-መስመር ምደባ አመልካች ሳጥን አጠገብ፣ ለእያንዳንዱ የማዘዋወሪያ ጥምረት ማዘጋጀት ይቻላል። ሁለቱም በይነገጾች በተመሳሳዩ `PUT /api/combos/{id}` የመጨረሻ ነጥብ በኩል ቅንብሮቹን ያስቀምጣሉ። ### በእያንዳንዱ ጥያቄ ላይ መሻር ለአንድ ጥያቄ ብቻ የመጭመቂያ ዕቅዱን ለመሻር `x-omniroute-compression` የጥያቄ ራስጌን ይላኩ። ከሁሉም ከፍተኛው ቅድሚያ አለው — የማዘዋወሪያ-ጥምረት መሻሪያን፣ ንቁውን መገለጫ፣ ራስ-ሰር ማስጀመሪያን እና የፓነሉን Default ይበልጣል። ያልታወቁ እሴቶች ችላ ይባላሉ (ጥያቄው ፈጽሞ ውድቅ አይደረግም)፣ እና ዓለም አቀፉ ዋና ማብሪያ አሁንም ሁሉንም ነገር ይቆጣጠራል፦ መጭመቅ በዓለም አቀፍ ደረጃ ጠፍቶ ሲሆን፣ ራስጌው ሊያበራው አይችልም። እሴቶች፦ | እሴት | ውጤት | | ------------- | ------------------------------------------------------------------------- | | `off` | ለዚህ ጥያቄ ምንም መጭመቅ አይደረግም። | | `default` | ከፓነሉ የሚመነጨው Default መገለጫ (ንቁውን መገለጫ ችላ ይላል)። መረጃ የሚያስጥሉ ሞተሮች እንደጠፉ ይቀራሉ። | | `safe` | ራስጌውን ካለመላክ ጋር ተመሳሳይ፦ የተባዙ ነገሮችን ማስወገድ እና ነጭ ቦታን ማጠፍ ብቻ። | | `allow-lossy` | ማጠቃለያዎችን፣ የተዛማጅነት ማጣሪያዎችን እና የቅጥ ዳግም ጽሑፎችን ጨምሮ የዚህን ጥያቄ ኦፕሬተር ዕቅድ ያቆያል። | | `engine:` | ሲነቃ አንድ ሞተር፣ ለምሳሌ `engine:rtk`። ይህ ለዚያ ሞተር በእያንዳንዱ ጥያቄ የሚደረግ መርጦ መግባት ነው። | | `` | በመጀመሪያ በስም (ለፊደል መጠን ልዩነት ደንታ ሳይሰጥ)፣ ከዚያም በ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 payload ቅድመ-ዕይታን ይመልከቱ 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 # ከአማራጭ የትዕዛዝ metadata ጋር 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 መዋቅሮች እና የተዋቀረ ውሂብ - ✅ መለያዎች እና የተጠበቁ ቴክኒካዊ ቶከኖች - ✅ የሒሳብ አገላለጾች - ✅ የመሣሪያ/ፈንክሽን ጥሪ ትርጓሜዎች - ✅ የስርዓት መመሪያዎች (በlite ሁነታ) የRTK ጥሬ-ውጤት መልሶ ማግኛ ማንኛውም ነገር ከመቀመጡ በፊት የተለመዱ API ቁልፎችን፣ bearer ቶከኖችን፣ 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` በ`PUT /api/settings/compression` ላይ) + የዳሽቦርድ ሁነታ/ፖሊሲ መቆጣጠሪያዎች | ✅ ተለቋል | --- ## ምስጋናዎች የStandard ሁነታ የማመቂያ ደንቦች በ**[JuliusBrussee](https://github.com/JuliusBrussee)** ከተሠራው **[Caveman](https://github.com/JuliusBrussee/caveman)** (⭐ 51K+) — በስፋት ከተሰራጨው "ጥቂት ቶከን ሥራውን ሲያከናውን ለምን ብዙ ቶከን ይጠቀማሉ" ፕሮጀክት — ተነሳስተዋል። Caveman `~75%` ያነሱ የውጤት ቶከኖች፣ በቤንችማርክ አማካይ `65%` የውጤት ቁጠባ፣ `22-87%` የውጤት ክልል እና `~46%` የግቤት-ማመቂያ መሣሪያ እንዳለው ዘግቧል። የRTK ሁነታ በ**[RTK AI](https://github.com/rtk-ai)** ከተሠራው **[RTK - Rust Token Killer](https://github.com/rtk-ai/rtk)** — ለተርሚናል፣ build፣ test፣ git እና የመሣሪያ-ውጤት ማጣሪያ የተዘጋጀው ከፍተኛ አፈጻጸም ያለው የትዕዛዝ-ውጤት ማመቂያ ፕሮጀክት — ተነሳስቷል። RTK `60-90%` ቁጠባ እንዳለው ዘግቧል፣ በREADME ውስጥ ያለው የናሙና ክፍለ ጊዜም `~80%` መቆጠቡን ያሳያል። --- ## የላቁ የማመቅ ስርዓቶች ከ7ቱ መደበኛ ሁነታዎች በተጨማሪ፣ OmniRoute በዐውዱ መሠረት በራስ-ሰር የሚሰሩ በርካታ የላቁ የማመቅ ስርዓቶችን ያካትታል። ### መሸጎጫን ከግምት ያስገባ ማመቅ አንዳንድ አቅራቢዎች (ለምሳሌ Anthropic ከጥያቄ መሸጎጫ ጋር) **የጥያቄ መሸጎጫን** ይደግፋሉ፤ ይህም ወጪንና መዘግየትን ለመቀነስ የጥያቄውን ክፍሎች እንዲሸጉጡ ያስችላቸዋል። መሸጎጥ ሲነቃ፣ ኃይለኛ ማመቅ የተሸጎጡትን ቶከኖች በመቀየር መሸጎጫውን ዋጋ ቢስ ስለሚያደርገው አፈጻጸምን በተጨባጭ **ሊጎዳ** ይችላል። የ`cachingAware.ts` ሞጁል **የመሸጎጫ ዐውዱን በመለየት** እና በዚሁ መሠረት **የማመቅ ስልቱን በማስተካከል** ይህን ይፈታል። #### እንዴት እንደሚሰራ 1. **የመሸጎጫ ዐውድን መለየት** — የጥያቄውን አካል ለ`cache_control` ምልክቶች ይፈትሻል 2. **መሸጎጥን የሚደግፉ አቅራቢዎችን መለየት** — የታለመው አቅራቢ መሸጎጥን ይደግፍ እንደሆነ ያረጋግጣል 3. **ስልቱን ማስተካከል** — መሸጎጥን ለሚደግፉ አቅራቢዎች `aggressive`/`ultra`ን ወደ `standard` ዝቅ ያደርጋል 4. **የስርዓት ጥያቄን መዝለል** — የስርዓት ጥያቄዎች ብዙውን ጊዜ ይሸጎጣሉ፣ ስለዚህ አይጨመቁ 5. **ተወስነው የሚደጋገሙ ለውጦችን መጠቀም** — ወጥ የሆነ ውጤት የሚያመነጩ ለውጦችን ብቻ ይጠቀሙ #### የኮድ ምሳሌ ```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", isCachingProvider: true } const strategy = getCacheAwareStrategy("aggressive", ctx); // → { strategy: "standard", skipSystemPrompt: true, deterministicOnly: true } ``` #### መቼ እንደሚጠቀሙበት መሸጎጫን ከግምት ያስገባ ማመቅ **ሁልጊዜ ንቁ ነው** — ምንም ውቅር አያስፈልግም። የሚሰራው የሚከተሉት ሲሟሉ ብቻ ነው፦ - ጥያቄው `cache_control` ምልክቶች ሲኖሩት - የታለመው አቅራቢ የጥያቄ መሸጎጥን ሲደግፍ (Anthropic፣ OpenAI፣ ወዘተ.) ### ተራማጅ ማርጀት ረጅም ውይይቶች ብዙ የመልዕክት ተራዎችን ያከማቻሉ፣ ነገር ግን የቆዩ ተራዎች ጠቀሜታቸው እየቀነሰ ይሄዳል። የ`progressiveAging.ts` ሞጁል **መልዕክቶችን በተራ ርቀት መሠረት ያቃልላል**፦ - **የቅርብ ተራዎች (0-3)**: ምንም ሳይቀየሩ ይቀመጣሉ (ሙሉ ዝርዝር) - **መካከለኛ ተራዎች (4-8)**: ቀላል ማመቅ (ነጭ ቦታና ቅርጸትን ማጽዳት) - **የቆዩ ተራዎች (9+)**: የዋሻ ሰው ማመቅ (አላስፈላጊ ቃላትን ማስወገድ፣ ማጠቃለል) - **በጣም የቆዩ ተራዎች (20+)**: በከፍተኛ ደረጃ ይጠቃለላሉ ወይም ይወገዳሉ #### የኮድ ምሳሌ ```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, // ከ4-8 ያሉ ተራዎች፦ ቀላል ማመቅ moderate: 20, // ከ9-20 ያሉ ተራዎች፦ የዋሻ ሰው ማመቅ // ከ21+ ያሉ ተራዎች፦ ከፍተኛ ማጠቃለል }); // saved = የተቆጠቡ ቶከኖች ብዛት ``` #### መቼ እንደሚጠቀሙበት ተራማጅ ማርጀት ለ`aggressive` እና `ultra` ሁነታዎች **ሁልጊዜ ንቁ ነው**። በተለይ ለሚከተሉት ውጤታማ ነው፦ - ለረጅም ጊዜ የሚቀጥሉ የኮድ ክፍለ ጊዜዎች - ለብዙ ቀናት የሚቆዩ ውይይቶች - ብዙ የመሣሪያ ጥሪዎች ያሏቸው ወኪላዊ የሥራ ፍሰቶች ### የዋሻ ሰው ውጤት ሁነታ የ`outputMode.ts` ሞጁል ሞዴሉ ራሱ የተጨመቀና አጭር ውጤትን (“የዋሻ ሰው” ዘይቤ) እንዲያመነጭ **የስርዓት ጥያቄ መመሪያዎችን** ያስገባል። #### እንዴት እንደሚሰራ ግብዓቱን ከመጨመቅ ይልቅ፣ ይህ ሁነታ እንደሚከተለው ያለ የስርዓት ጥያቄ ይጨምራል፦ > “በትንሹ ቃላት መልስ። የጨዋነት መግለጫዎችን ዝለል። አጫጭር ዓረፍተ ነገሮችን ተጠቀም።” ይህ በተለይ ለሚከተሉት በጥሩ ሁኔታ ይሰራል፦ - ኮድ ማመንጨት (ይበልጥ አጭር ውጤት = ያነሱ ቶከኖች) - ፈጣን ጥያቄና መልስ (ዝርዝር ማብራሪያዎች አያስፈልጉም) - ባች ማስኬድ (የማስኬጃ አቅምን ከፍ ማድረግ) #### መቼ እንደሚጠቀሙበት የዋሻ ሰው ውጤት ሁነታ **በምርጫ የሚነቃ ነው** — በጥምር ውቅሩ በኩል ያዘጋጁት፦ ```json { "strategy": "auto", "config": { "auto": { "outputMode": "caveman" } } } ``` ### የውጤት ዘይቤዎች (ማውጫ) ከላይ ያለው የዋሻ ሰው ውጤት ሁነታ **የቆየው ነጠላ-ዘይቤ መንገድ** ነው። Phase 4 ይህን ወደ አንድ ላይ ሊዋሃዱ የሚችሉ የውጤት ዘይቤዎች ማውጫ አስፋፍቶታል፦ `open-sse/services/compression/outputStyles/catalog.ts` ውስጥ የሚገኘው `OUTPUT_STYLE_CATALOG`። እያንዳንዱ ዘይቤ ሞዴሉ ራሱ አነስተኛ ወጪ ያለው ውጤት እንዲያመነጭ የሚያደርግ የስርዓት-ጥያቄ መመሪያ ነው፤ ዘይቤዎቹ በጋራ ሊነቁ ይችላሉ እና በማውጫው ቅደም ተከተል ይገባሉ። | ቅጥ | `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 | | አጭር CJK (文言) | `terse-cjk` | እጅግ በጣም አጭር የጥንታዊ ቻይንኛ ቅጥ። | zh (በlocale የተገደበ፦ የተወሰነው ቋንቋ `zh` ሲሆን ብቻ ይቀርባል) | እያንዳንዱ ቅጥ ሦስት የጥንካሬ ደረጃዎችን — `lite`፣ `full`፣ `ultra` — ይዞ ይቀርባል፤ እያንዳንዱ ደረጃም የኮድ ብሎኮችን፣ የፋይል ዱካዎችን፣ commands፣ የስህተት ሕብረቁምፊዎችን፣ URLs እና identifiers ሳይለውጥ በሚጠብቀው የጋራ የወሰን አንቀጽ ይጠናቀቃል። #### ማስገባቱ እንዴት እንደሚሠራ `applyOutputStyles()` (`open-sse/services/compression/outputStyles/apply.ts`) ምርጫውን ከcatalog ጋር ያዛምዳል (ያልታወቁ ids እና ከlocale ጋር የማይዛመዱ ቅጦች ይተዋሉ፤ ፈጽሞ ስህተት አይሆኑም)፣ የተመረጡትን መመሪያዎች በcatalog ቅደም ተከተል ያገናኛል፣ የወሰን አንቀጹን **አንድ ጊዜ** ያክላል፣ እና ውጤቱን ከአንድ idempotency marker (`[OmniRoute Output Styles]`) በኋላ በsystem prompt መጀመሪያ ላይ ያስቀምጣል — እንደገና መተግበር ምንም ተጽዕኖ የለውም። የተገኘው የጥያቄ ቋንቋ ትርጉም ሲኖረው፣ ከእንግሊዝኛው ይልቅ አካባቢያዊው መመሪያ ይገባል። #### እንዴት ማንቃት እንደሚቻል በdashboard ውስጥ፦ **Context → Settings → Compression** — ለእያንዳንዱ ቅጥ አንድ ረድፍ፣ የማብራት/ማጥፋት toggle እና የደረጃ selector ያለው። በፕሮግራም ሲዋቀር፣ የcompression config ምርጫውን እንዲህ ያከማቻል፦ ```json { "outputStyles": [ { "id": "i-have-adhd", "level": "full" }, { "id": "less-code", "level": "lite" } ] } ``` የኋላ-ተኳኋኝነት፦ የቀድሞው `outputMode: "caveman"` combo setting አሁንም ይሠራል እና ወደ `terse-prose` ይዛመዳል፤ በእያንዳንዱ የቀድሞ ቋንቋ ከድሮው injection ጋር byte-identical ነው። የቋንቋ ምርጫ፦ `languageConfig.enabled` ሲበራ፣ `autoDetect` የቅርብ ጊዜውን የተጠቃሚ መልዕክት ቋንቋ ይመርጣል (ከinput engines ጋር ተመሳሳይ detector)፤ `autoDetect`ን ማጥፋት `defaultLanguage`ን ያስ固定ታል። ጠፍቶ ከሆነ → እንግሊዝኛ። የቅጥ × ቋንቋ matrix በ `tests/unit/compression/output-styles-i18n-matrix.test.ts` ተ固定ቷል፦ አዲስ ቅጥ ቢያንስ የpt-BR ትርጉም (ወይም በግልጽ የተከታተለ exception) ሳይኖረው ሊለቀቅ አይችልም፣ እና ነባር ቅጥ አንድ locale በዝምታ ሊያጣ አይችልም። ቅጥ ለማከል [EXTENDING_COMPRESSION.md](./EXTENDING_COMPRESSION.md#adding-an-output-style)ን ይመልከቱ። ### የTool Result Compression የ`toolResultCompressor.ts` module ለtool results (function calls፣ agent outputs፣ search results፣ ወዘተ) **5 ልዩ የcompression strategies** ያቀርባል፦ 1. **የSearch result compression** — የተደጋገሙ resultsን ያስወግዳል፣ ከፍተኛዎቹን-N ይይዛል 2. **የFile read compression** — ትልልቅ filesን ያሳጥራል፣ headers/importsን ይጠብቃል 3. **የCode execution compression** — አስፈላጊውን stdout/stderr ብቻ ይይዛል 4. **የDatabase query compression** — rowsን ይገድባል፣ ረጅም metadataን ያስወግዳል 5. **የAPI response compression** — null fieldsን ያስወግዳል፣ arraysን ያጠቃልላል #### መቼ መጠቀም እንዳለበት Tool calls በሚኖሩበት ጊዜ tool result compression **ሁልጊዜ በርቷል**። ምንም configuration አያስፈልግም። ### የተደራረበ Pipeline የstacked mode **በርካታ enginesን በቅደም ተከተል** ያስኬዳል — ብዙውን ጊዜ መጀመሪያ RTK (በtool output ላይ 60-90% ቁጠባ)፣ ከዚያ Caveman (በቀሪው ጽሑፍ ላይ ተጨማሪ 30% ቁጠባ)። ይህ **በአጠቃላይ 78-95% ቁጠባ** ያስገኛል። #### እንዴት እንደሚሠራ ``` ግብዓት (1000 tokens) → RTK (command-aware filter) → 200 tokens → Caveman (አላስፈላጊ ቃላትን ማስወገድ) → 140 tokens → ውጤት (140 tokens፣ 86% ቁጠባ) ``` #### መቼ መጠቀም እንዳለበት stacked modeን ለሚከተሉት ይጠቀሙ፦ - Tool-heavy workflows (agentic coding፣ ምርምር) - ወጪን የሚገነዘብ batch processing - ከፍተኛውን የtoken ቁጠባ ሲፈልጉ በcombo በኩል ያዋቅሩ፦ ```json { "strategy": "auto", "config": { "auto": { "modePack": "stacked" } } } ``` --- ## የኮምፕሬሽን ኮምቦ ማሻሻያዎች ለተለያዩ የአጠቃቀም ሁኔታዎች ባህሪውን በዝርዝር ለማስተካከል፣ አጠቃላይ የኮምፕሬሽን ሁነታውን **ለእያንዳንዱ ኮምቦ** ማሻሻል ይችላሉ፦ ```json { "id": "coding-combo", "strategy": "priority", "config": { "auto": { "weights": { "taskFit": 0.5 }, "modePack": "quality-first" } }, "compressionOverride": { "mode": "aggressive", "stackedPipelines": ["rtk", "caveman"], "preserveToolDefinitions": true } } ``` ይህ ለሚከተሉት ጠቃሚ ነው፦ - **የኮዲንግ ኮምቦዎች**፦ ለረጅም ክፍለ ጊዜዎች `aggressive` ሁነታን ይጠቀሙ - **ፈጣን የጥያቄና መልስ ኮምቦዎች**፦ ለፈጣን ምላሾች `lite` ሁነታን ይጠቀሙ - **ብዙ መሣሪያዎችን የሚጠቀሙ ኮምቦዎች**፦ ከፍተኛውን ቁጠባ ለማግኘት `stacked` ሁነታን ይጠቀሙ - **የምርት ኮምቦዎች**፦ ለካሽ አቅራቢዎች `cache-aware` ሁነታን ይጠቀሙ --- ## በተጨማሪ ይመልከቱ - [የአካባቢ ውቅር](../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 ደንቦች